はじめに
「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つの施策で「準備」を工程ごとねじ伏せた。
- パイプラインの自動構築 ── area列から都道府県コードを抽出する処理など、データ取得→変換→検証を一気通貫で自動化
-
並列処理 ──
ThreadPoolExecutorで47都道府県データを同時取得 - 自動検証 ── 「全県同じ値」という致命的なバグをシステムが自動検出
何が見えたか
- 富山県の空き家率が類似地域平均より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が勝手にやったことのリスト:
- 統計的妥当性検証 ── p値計算、偏相関分析まで自動。「人口規模を統制しても関係は維持される(r=-0.258, p=0.006)」
- 成功パターン分類 ── 再現可能性まで評価(製造業集積型→低、ベッドタウン型→中〜高、観光型→高)
- 課長の悩み対応 ── 上司説明用スライド、議会想定質問への回答案、市民対応話法
- 行動経済学の活用 ── 「1,000人増える」より「何もしないと5年で1.2万人減る」が効くと提案(損失回避バイアス)
- 勝ち筋ストーリー ── 堺市の武器(世界遺産・刃物・自転車の伝統産業・政令市のインフラ)を活かした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年分の時系列データで自分の結論を壊しにいった話 | 時系列検証、信頼度格付け |