9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【総集編】e-Stat × AI駆動開発で「自治体コンサル」に挑んだ全記録 ── 7記事で辿る、失敗→発見→検証の進化プロセス

9
Last updated at Posted at 2026-02-06

はじめに

「e-Statの354指標 × 47都道府県を、AIと一緒に分析したらどこまで行けるのか?」
この問いに愚直に向き合った7本の記事を振り返ります。

本記事は、
・データ分析を「実務で使える形」にしたい人
・AIを単なる自動化で終わらせたくない人
・自治体/政策/地域分析に興味がある人
向けの連載総集編です。

ランダム探索の惨敗から始まり、
パイプライン構築、
所得格差の発見、
提案書の100倍速生成、
裏切り度スコアの設計、
隣接県差異による460年の医療史の発掘、
合成指標による戦略提案、
そして22年分の時系列データで自分の結論を壊しにいくところまで。

失敗を隠さず、進化の過程をそのまま記録した連載です。

この記事では、各回の核心を「何がダメで、何を変えて、何が見えたか」に絞ってまとめます。

シリーズ全体像

Part 1: 基盤構築(パイプライン・並列処理)
  ↓
Part 2: 仮説検証(地域×人口グルーピングで所得格差を発見)
  ↓
Part 3: 提案化(統計検証+経営学翻訳で提案書を3時間で完成)
  ↓
Part 4: 分析手法の進化①(裏切り度スコアで「意外性」を定量化)
  ↓
Part 5: 分析手法の進化②(隣接県差異で「未知の社会構造」を発掘)
  ↓
Part 6: 戦略化(合成指標+高齢化ステージで「行動可能な示唆」へ)
  ↓
Part 7: 検証(22年分の時系列データで結論の堅牢性を確認)

Part 0: e-Statという「宝の山」と「地雷原」

e-Statとは何か

e-Statは、日本の政府統計のポータルサイト。
総務省統計局が運営しており、17の統計分野 × 47都道府県 × 1,911市区町村のデータをAPIで無料取得できる。
人口、経済、教育、医療、住宅、観光──国が持っている統計データの大半がここにある。

宝の山。
ただし、宝は地雷原の中に埋まっている。

何が大変なのか

1. 分野ごとにデータ構造が全然違う

e-Stat APIのレスポンスは、どの統計でもtab, cat01, cat02, ..., area, time, $という形式で返ってくる。
一見、統一されているように見える。
罠はcatXXの中身にある。

【住宅統計】 cat01='01' → 空き家総数
【経済センサス】 cat01='01' → 農業
【宿泊旅行統計】 cat01='01' → 旅館

同じcat01='01'なのに意味が全部違う。
さらにカテゴリの深さも統計ごとに異なり(1次元〜3次元)、住宅統計だけで空き家の分類が154カテゴリある。

2. メタデータの把握が作業の7割

データを取得する前に、getMetaInfo APIでカテゴリ構造を確認する必要がある。
地域コード(5桁/4桁混在)、時間コード(2018000000=2018年)、欠損値の表記(-, ---, , X, x, \*, 空文字)──すべて統計ごとに確認しないとデータが壊れる。

3. APIパラメータの罠

都道府県でフィルタするパラメータはareaではなくcdArea
間違えてもエラーにならず、黙って全国合計値が返ってくる。
全県で同じ値になっていることに気づかず分析を進めると、「全県で事業所数が同じだ!」という幻の発見が生まれる(実話)。

4. 多分野横断になった途端、難易度が跳ね上がる

作業 単一分野 多分野横断(17分野)
メタデータ理解 1パターン 17パターン
クリーニング 1ルール 分野数分のルール
調査年の統一 不要 調査年マッピングが必要
per capita判定 少数 354指標全部
カテゴリ整理 少数 数百カテゴリの取捨選択

単一分野の分析なら先行研究も豊富でやりやすい。
だが「住宅 × 経済 × 医療 × 教育」のように横断しようとすると、データ準備だけで数週間が飛ぶ
だから世の中のe-Stat分析は単一分野で閉じたものが多い(多分)。

Part 1への接続

この「多分野横断のだるさ」を、AIとエンジニアリングの力でどうねじ伏せたか。
それがPart 1の話。

e-Statの罠を知った上で読むと、「なぜパイプラインが必要なのか」「なぜメタデータの自動解析が重要なのか」が実感を持って分かるはず。


Part 1: データ準備の「だるさ」をねじ伏せた話

何がダメだったか

e-Statの17統計分野をランダムに組み合わせて相関を探索。
25件の分析のうち24件がメタデータ同士の無意味な相関という結果に。
catコード(カテゴリコード)と実データの区別すらできていなかった。

仮説なきランダム探索の限界を、身をもって体験した回。

何を変えたか

3つの施策で「準備」を工程ごとねじ伏せた。

  1. パイプラインの自動構築 ── area列から都道府県コードを抽出する処理など、データ取得→変換→検証を一気通貫で自動化
  2. 並列処理 ── ThreadPoolExecutorで47都道府県データを同時取得
  3. 自動検証 ── 「全県同じ値」という致命的なバグをシステムが自動検出

何が見えたか

  • 富山県の空き家率が類似地域平均より43%低い
  • 観光指標は33.7%低い

具体的な改善ポイントが、初めてデータから浮かび上がった瞬間。

学び: AIの真価は「作業代行」ではなく「設計支援」。
パイプライン化というエンジニアリングの基本が、AI活用の大前提だった。


Part 2: 過疎でも勝つ自治体の「勝ちパターン」

何がダメだったか

「東京と沖縄を比べても意味がない」。
初期の分析では地理的ハンデと人口規模の差が交絡し、有意義な比較ができなかった。

何を変えたか

地域ブロック × 人口規模でグルーピング。
地理的条件を揃えた上で「同じ土俵」での比較を実現。1,911自治体を分析対象に。

何が見えたか

中部地方・人口1万人未満グループで所得格差83倍を検出。

自治体 課税対象所得 背景
忍野村(山梨) 275億円 ファナック本社
粟島浦村(新潟) 3.3億円 離島

同じ人口規模・同じ地域なのに、83倍もの差がある。

成功パターンの分類

パターン 代表例 特徴
A: 大企業誘致型 ファナック、日産、TSMC 単一企業で地域経済が激変
B: ブランド産品型 馬路村ゆず(30億円)、上勝町葉っぱビジネス 地域資源のブランディング
C: 観光・文化型 ベネッセアート直島、世界遺産白川村 交流人口の増加

ビジネスへの転換

「成功事例より、支援が必要な自治体の方が提案先としての価値が高い」という逆転の発想。
下位107自治体(離島18、山間過疎52、平野部過疎35)を優先ターゲットとして設定。

学び: 「過疎だから仕方ない」ではなく「過疎でも勝っている自治体がある」。
データ分析の本質は「再現性のデザイン」。


Part 3: 人間が3ヶ月かかる仕事を100倍速にした話

何がダメだったか

分析結果はあるが、「で、どうするの?」に答えられない。
お役所の課長が上司に説明するとき、議会で問われたとき、市民に聞かれたとき──実務で使える形になっていなかった。

何を変えたか

AIに**「お役所の課長の悩み」**を理解させた。
統計検証・成功事例調査・提案書作成をAIとの協働で一気に実行。

工程 人間だけ AI協働 速度差
データ取得・整形 2週間 30分 28倍
統計的妥当性検証 1週間 15分 56倍
成功事例調査 2週間 1時間 28倍
提案書作成 1週間 2時間 28倍
合計 6週間 4時間 約100倍

何が見えたか

AIが勝手にやったことのリスト:

  1. 統計的妥当性検証 ── p値計算、偏相関分析まで自動。「人口規模を統制しても関係は維持される(r=-0.258, p=0.006)」
  2. 成功パターン分類 ── 再現可能性まで評価(製造業集積型→低、ベッドタウン型→中〜高、観光型→高)
  3. 課長の悩み対応 ── 上司説明用スライド、議会想定質問への回答案、市民対応話法
  4. 行動経済学の活用 ── 「1,000人増える」より「何もしないと5年で1.2万人減る」が効くと提案(損失回避バイアス)
  5. 勝ち筋ストーリー ── 堺市の武器(世界遺産・刃物・自転車の伝統産業・政令市のインフラ)を活かしたBefore/Afterを構築

人間がやったこと: 方向性の決定、観点の指示、品質チェック、最終判断──たった4つ。

学び: AI駆動開発の本質は「考える自由」の回復。
人間は「資料作成マシーン」から「戦略的リーダー」に強制的にアップデートされる。


Part 4: 裏切り度スコアで「意外性」を定量化する

何がダメだったか

354指標 × 47都道府県で全探索したら、23,477件の相関イベントが検出された。
だがTOPに来るのは「東京は病院も学校も多い」という当たり前の結果ばかり。

全探索は「意外性」を殺す。

何を変えたか

裏切り度スコアを設計した。

裏切り度 = |実測値 - 期待値| / 残差の標準偏差

全国47都道府県で線形回帰を引き、「全国傾向に乗っていればこの値のはず」という期待値を算出。
そこからの逸脱度を定量化する。
さらにper capita正規化(人口1万人あたり変換)で、人口規模効果を除去。
354指標中217指標をper capita化。

何が見えたか

都道府県 代表的な裏切り 裏切り度
長野県 公民館数が全国モデルの4〜8倍 5.5σ
沖縄県 労働力があるのに空き家が多い独自構造 5.6σ
徳島県 薬剤師数が全国傾向から突出 4.2σ
福井県 共働き率全国トップならではの空き家パターン 3.3σ

per capita正規化の効果は絶大。
東京都の裏切りイベントは5,362件→423件に激減。
残ったのは人口では説明できない「真の異常値」。

分析パイプライン

E-Stat API → 生データ(109,041行)
    ↓
分析用データセット(47県×354指標)
    ↓
裏切り度スコア分析 → 裏切りイベント(2,921件)

学び: 裏切り度は「答え」ではなく「問い」を生成する指標。
全探索が「何が多いか」を答えるのに対し、裏切り度は「なぜこの県だけ?」を問う。


Part 5: 隣接県差異で460年の医療史を発掘した話

何がダメだったか

Part 4の裏切り度スコアで検出した長野の公民館、徳島の薬剤師──調べてみるとすべて既知の事実だった。
長野は「公民館発祥の地」として有名。
徳島は「医療県」として知られている。

根本的な弱点は比較対象の設定
東京(1,400万人)と鳥取(55万人)を同じ回帰線に載せている時点で、文化差とスケール差を区別できない。

何を変えたか

比較対象を 「全国平均」から「隣の県」 に変更。

隣接県は気候・文化・経済圏が似ている。
それでも違うなら、その県独自の政策や歴史に当たる確率が高い。
89ペアの隣接関係をPython辞書で定義(海峡・橋も考慮)。

さらに空き家154カテゴリ(同じ事実の154通りの分割)をノイズ源として特定・除外。
354指標→194指標に削減。

何が見えたか

発見1: 大分県の有床診療所(隣接県差異スコア 5.22)

指標(人口1万人あたり) 大分 福岡 倍率
有床一般診療所数 1.97 0.84 2.4倍
一般診療所病床数 29.76 11.51 2.6倍

全国1位。
歴史を遡ると、1557年にポルトガル人宣教師ルイス・デ・アルメイダが豊後府内(現・大分市)に日本初の西洋式病院を建設
山間部が多く大病院へのアクセスが困難な地理条件と相まって、地域密着型の小規模医療施設が460年間根付いてきた。

発見2: 島根 vs 鳥取の福祉哲学

同じ山陰で高齢化率も近い。だが福祉施設の選択が真逆

  • 島根 ── 養護老人ホーム全国1位。離島・中山間地域が多く、行政が生活を丸ごと支える 「措置型・守る福祉」
  • 鳥取 ── 介護老人保健施設全国1位。県土がコンパクトで「リハビリして自宅に帰す」路線の 「自立支援型・活かす福祉」

データにしか刻まれていない「政策思想の化石」を発掘した。

学び: 分析手法の進化は「何と比べるか」の進化。
全国平均→隣接県に変えただけで、発見の質が「正しいが既知」から「未知だが価値ある」に変わった。


Part 6: 合成指標と高齢化ステージで戦略コンサル級に挑む

何がダメだったか

Part 5の発見は面白い。
だが戦略コンサルには3つの壁があった。

内容
So What? 「大分は分散型医療」で終わり。「だから何をすべきか」がない
Why Now? スナップショットだけ。10年前はどうだったのか分からない
多角的スコア 単一指標の比較では構造が見えない

何を変えたか

「数字」から「比率」へ
8つの合成指標を設計した。

指標 計算式 見えるもの
医療分散度 有床診療所数 ÷ 医師数 高い=分散型
病院集約度 病院病床数 ÷ 病院数 高い=大規模集約型
福祉哲学スコア 養護定員 ÷ (養護+老健定員) 1.0=措置型、0.0=リハビリ型
教育投資効率 小学校教員数 ÷ 児童数 少人数教育の手厚さ
経済生産性 課税対象所得 ÷ 就業者数 就業者1人あたりの付加価値

さらに高齢化ステージ分析を導入。
年齢中位数を「擬似的な時間軸」として47都道府県を5段階に分類し、4象限マトリクス(施設充足度 × 高齢化ステージ)で各県のポジションを可視化。

何が見えたか

大分 vs 福岡: 医療分散度で大分が福岡の2.64倍

→ So What? 「大分で遠隔診療を展開するなら、大病院ではなく有床診療所のネットワーク化から入るのが勝ち筋。
全国1位の分散インフラを遠隔でつなげば、大規模投資なしに『面の医療』が実現する」

島根 vs 鳥取: 福祉哲学スコア差2.71倍

→ So What? 「島根で介護事業参入なら『施設型』から。
鳥取なら『通所リハビリ・在宅介護』から」

高齢化ステージ × 施設供給力では、大分が「医療分散度1位なのに施設供給力がステージ最下位」という**「医療強・福祉弱」** の構造が浮かび上がった。

学び: コンサルとの残りの差は「データの外」にある。
定性情報の統合、ヒアリング検証、実行可能性評価──データ分析だけでは到達できない領域が明確になった。


Part 7: 22年分のデータで自分の結論を壊しにいった話

何がダメだったか

Part 6までの分析は、すべてスナップショット(単年データ) に基づいている。
「大分の医療分散度1位」は10年前からそうだったのか?
たまたま最新年だけの現象ではないのか?

何を変えたか

e-Stat APIから228回のAPIコール(20指標 × 12年分)を自動実行し、2000年〜2022年の時系列データを取得。
Part 1で構築したパイプラインが、ここで真価を発揮。
手作業で丸3日かかる作業が約5分

何が見えたか

信頼度格付けシステムを構築。

ランク 判定 代表例 根拠
S (鉄板) 22年間不動 滋賀の病院集約度1位 標準偏差0.0。一度もブレない
S (鉄板) 22年間TOP2独占 島根・高知の教育投資効率 人口減少が教員充実を維持
B (トレンド型) 変動中 大分の医療分散度1位 2016年以降の現象。2000年は6位
C (検証不足) データ不足 福祉関連指標 2018年以降のみ取得可能

大分1位の真相

有床一般診療所は全国で65%が消滅(2000年: 21,031 → 2022年: 7,245)。
大分は43%消滅で残存率56.8%(全国2位)。
一方、2000年に1位だった青森は70%消滅して6位に転落。

大分は「勝った」のではない。
「他県が先に崩壊したから相対的に浮上した」。

真の安定王者は鹿児島県(平均2.0位、22年間安定)。
離島・僻地医療構造が有床診療所を維持している。

学び: データ分析の成熟とは「答えの精度向上」ではなく「答えの壊れ方を知ること」。
結論は壊しにいくことで強くなる。


全体を通じた3つの進化軸

進化軸1: 「何と比べるか」の進化

段階 比較対象 発見の質
Part 1-3 全国平均・類似地域 常識的な差異
Part 4 全国回帰線からの逸脱 正しいが既知
Part 5 隣接県 未知の社会構造

進化軸2: 「何を測るか」の進化

段階 測定対象 アウトプット
Part 1-2 生の数値 「この県は多い/少ない」
Part 4 逸脱度 「この県は期待から外れている」
Part 6 比率(合成指標) 「この県の構造はこうなっている」

進化軸3: 「結論をどう扱うか」の進化

段階 姿勢 結果
Part 1-5 発見して報告 面白いが検証不足
Part 6 行動提案を付与 実務に近づいたが時間軸が弱い
Part 7 自分の結論を壊しにいく 信頼度が格付けされ、使える結論に

技術スタック

技術 用途 初出
Python 全体の基盤 Part 1
e-Stat API 政府統計データの自動取得 Part 1
ThreadPoolExecutor 47都道府県の並列処理 Part 1
pandas データ処理・集計 Part 1
scipy.stats Pearson相関検定、偏相関分析 Part 3
python-pptx 提案書の自動生成 Part 3
線形回帰 (linregress) 裏切り度スコアの期待値算出 Part 4
KMeans 自治体クラスタリング Part 2

AI駆動開発で得た5つの教訓

1. AIの真価は「作業代行」ではなく「思考の拡張」

6週間分の作業を4時間に圧縮できた(Part 3)。
だがそれは副産物。
本質は、人間が「考えること」に全リソースを注ぎ込める状態を作れたこと。

2. 失敗はメソッドの進化を駆動する

ランダム探索の失敗(Part 1)→ グルーピング手法の発明。
全国回帰の既知発見(Part 4)→ 隣接県比較の発明。
すべての失敗が次の手法を生んだ。

3. パイプラインは「投資」である

Part 1で構築したパイプラインを、Part 2で隣接県差異に、Part 6で合成指標に、Part 7で時系列検証に再利用。
回を追うごとに投資対効果が上昇した。

4. 「データの外」に本当の壁がある

Part 6の自己評価:コンサルとの差は定性情報の統合、ヒアリング検証、実行可能性評価にある。
データ分析だけで到達できる限界を正直に認めること自体が、分析者の成熟。

5. 結論は「壊しにいく」ことで強くなる

Part 7の時系列検証で、大分の1位が2016年以降の現象だと判明。
結論が壊れたのではなく、壊れ方が分かったことで信頼度が上がった。
「Sランク(鉄板)」と「Bランク(トレンド型)」を区別できるようになったことが最大の成果。


おわりに

7本の記事を通じて、分析手法は確実に進化した。
だが最も大きな変化は姿勢の方かもしれない。

Part 1では「データから何か面白いものが出ないかな」と期待していた。
Part 7では「この結論はどこから壊れるか」を検証していた。

「面白い発見をする」から「発見の信頼度を知る」へ。

これが、e-Stat × AI駆動開発で7記事かけて辿り着いた場所です。

データ分析は「答え」を出す営みではなく、「より良い問い」を生成する営みだった。
そしてAIは、その問いを人間の100倍の速度で検証してくれるパートナーだった。


シリーズ一覧

# タイトル キーワード
0 e-Statという「宝の山」と「地雷原」 e-Stat概要、データ構造、多分野横断の壁
1 e-statの魔境にAIと挑んだら、データ準備の「だるさ」をpipeline・並列処理でねじ伏せられた話 パイプライン、並列処理
2 同じ人口・同じ地域で所得格差83倍。データが暴いた「過疎でも勝つ自治体」の勝ちパターン グルーピング、所得格差
3 AIに「お役所の課長の悩み」を理解させたら、提案書が3時間で完成した 100倍速、提案書自動生成
4 E-Stat全探索は「意外性」を殺す ── 裏切り度スコアで47都道府県の"常識破り"を発見する 裏切り度スコア、per capita
5 「裏切り度スコア」は裏切られた ── 隣接県差異で"460年の医療史"を発掘した話 隣接県差異、大分の医療史
6 「隣と違う」は見えた。次は「だから何をすべきか」── 合成指標と高齢化ステージで戦略コンサル級の分析に挑む 合成指標、高齢化ステージ
7 「大分は医療分散度1位」は本当か?── 22年分の時系列データで自分の結論を壊しにいった話 時系列検証、信頼度格付け
9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?