1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「AI時代の新しい統計探偵」E-Stat全探索は「意外性」を殺す ── 裏切り度スコアで47都道府県の"常識破り"を発見する

Last updated at Posted at 2026-01-31

TL;DR

  • E-Stat(政府統計)の354指標 x 47都道府県で相関分析すると、「人口が多い県は何でも多い」しか出てこない
  • そこで**「裏切り度スコア」**を設計。全国の傾向から外れた県だけを検出する
  • per capita正規化で人口規模効果を除去した結果、沖縄・徳島・島根・長野など構造的に独自の県が浮上
  • 長野県の公民館数は全国モデルから5.5シグマの上振れ。なぜ長野だけ公民館が多いのか?

    ググってみると、長野・徳島・福井の特徴は知られた事であったが、、、
    「差分の差」を「隣接県」で見る方がいいのかも?北陸3県で過去にしていた手法ではあるが・・・

1. 問題:全探索は「常識の再発見」を生む

E-Statは17分野・数千指標の政府統計が無料で使える宝の山だ。
APIで全データを取得し、総当たりで相関分析すれば「意外な発見」があるのでは?

...と思ってやってみた結果がこれ。

最初の試み:354指標の総当たり相関

裏切りイベント: 23,477件検出
1位: 東京都(5,362回)
2位: 神奈川県(4,119回)
3位: 大阪府(2,851回)

人口が多い県が全てを支配している。

「東京都は病院も多いし、学校も多いし、空き家も多い」── そんな当たり前の事実が2万件以上出てきただけだった。

これが全探索の罠だ。

スコアが高いほど「常識的な因果」になりやすい。
全探索は「人間の常識に最適化されたランキング」を作ってしまう。

2. 発想の転換:相関ではなく「裏切り」を測る

必要なのは相関の強さではない。

「そうなるはず」という期待を、データがどれだけ裏切ったか

を測ることだ。

裏切り度スコアの定義

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

期待値とは何か?
全47都道府県で線形回帰を引いた予測値だ。

つまり「全国の傾向に乗っていれば、この県はこの値のはずだ」という常識モデルの予測。
そこから大きく外れた県だけを検出する。

3層の常識モデル(設計思想)

Layer 常識の種類 実装 今回
A 単変量常識(X↑ → Y↑) 線形回帰 実装済み
B カテゴリ常識(同分野=似た挙動) 分野間フィルタ 実装済み
C 時系列常識(急変しない) ラグ比較 未実装(要複数年データ)

今回はLayer A + Bを実装した。

3. 改善:per capita(比率化)正規化で人口規模効果を除去

最初の分析が人口に支配されたのは、指標が絶対値だったからだ。

「病院数100」が東京と鳥取では全く意味が違う。

解決策:人口1万人あたり(per capita)に変換する。

# 正規化の判定ロジック
# - 「率」「指数」「中位数」「面積」系 → そのまま
# - それ以外でmax/min > 10 → 人口1万人あたりに変換

normalized\\\[col] = df\\\[col] / population \\\* 10000

354指標のうち217指標をper capita化、残り137指標(率・面積・時間配分等)はそのまま使用した。

4. 結果:「独自の道を行く県」が浮上

per capita正規化後の結果。

都道府県別「裏切り回数」ランキング

順位 都道府県 裏切り回数 平均裏切り度 最大裏切り度
1 東京都 423 3.82 5.89
2 沖縄県 347 3.22 5.55
3 徳島県 310 2.98 4.18
4 島根県 242 2.98 4.51
5 高知県 228 2.97 4.07
6 鳥取県 162 3.41 4.68
7 大阪府 150 3.33 4.90
8 山梨県 115 2.97 4.30
9 鹿児島県 102 2.79 3.71
10 長野県 98 3.92 5.53

Before(正規化なし)では東京・神奈川・大阪が上位を独占していた。
After(per capita)では沖縄・徳島・島根・高知といった「構造的に独自の県」が浮上した。

東京は依然1位だが、回数は5,362→423に激減。
残った423件は人口では説明できない真の異常値だ。

裏切りの具体例:「なぜこの県だけ?」

長野県:公民館が異常に多い(裏切り度5.5)

全国モデルの予測: 人口1万人あたり公民館 1.1~2.1
長野県の実測:    人口1万人あたり公民館 8.7

→ 予測の4~8倍。5.5シグマの上振れ。

長野県は人口あたり公民館数が全国平均の数倍ある。
これは空き家率や小学校数など、どの指標から予測しても一貫して「多すぎる」。
信州における公民館活動の歴史的な根強さが統計に表れている。

沖縄県:労働力あたりの空き家構造が独自(裏切り度5.5)

全国モデル: 労働力人口(男)↑ → 空き家(cat9\\\_3)は微増
沖縄県の実測: 予測の約4倍の空き家数

→ 労働力はあるのに空き家が多い独自構造

本土とは異なる住宅事情(米軍基地、リゾート開発、島嶼部の空き家等)が影響している可能性がある。

徳島県:人口あたり薬剤師数が突出(裏切り度4.2)

全国モデル: 住宅数↑ → 薬剤師数↑(人口あたり)
徳島県: 全国傾向から大きく上振れ

→ R²=0.35の安定した傾向があるのに、徳島だけ外れる

薬大(徳島文理大など)があるため薬剤師輩出数が多いよう

福井県(北陸):就業者数あたりの空き家パターンが特殊(裏切り度3.3)

全国モデル: 就業者数(per capita) → 空き家(cat11\\\_3)は微増
福井県: 予測がほぼゼロなのに実測あり

→ 共働き率全国トップクラスの福井ならではの現象?

分野ペア別「裏切りやすさ」

どの分野の組み合わせで裏切りが多いか。

分野ペア イベント数 平均裏切り度
居住 x 福祉社会保障 518 2.99
居住 x 健康医療 451 3.15
労働 x 居住 406 3.55
人口 x 居住 315 3.31
教育 x 居住 263 2.99

「居住」が絡む組み合わせが圧倒的に多い。
住宅事情は地域の個性が最も出やすい分野だ。

5. なぜ「裏切り度」が全探索より優れているか

観点 全探索(相関ランキング) 裏切り度スコア
上位に来るもの 常識的な因果 常識からの逸脱
人口の影響 支配的 per capitaで除去
発見の質 「知ってた」が多い 「なぜこの県だけ?」が出る
行動への繋がり 薄い 深掘り調査の起点になる

裏切り度は「問い」を生成する指標だ。

相関分析が答えを出そうとするのに対し、裏切り度は「ここを調べろ」という指針を出す。

6. 実装

技術スタック

  • Python (pandas, scipy, numpy)
  • E-Stat API(データ取得)
  • 47都道府県 x 354指標(13分野)

データパイプライン

E-Stat API → fetch\\\_national\\\_6domains.py → 生データ(109,041行)
                ↓
build\\\_analysis\\\_ready.py → pref47\\\_all.csv(47県 x 354指標)
                ↓
betrayal\\\_score\\\_analyzer.py → 裏切りイベント(2,921件)

核心のコード(裏切り度計算)

# 各指標ペアで線形回帰 → 残差の標準化
slope, intercept, r\\\_value, \\\_, \\\_ = linregress(x, y)
r2 = r\\\_value \\\*\\\* 2

if r2 < 0.15:  # 全体に傾向がないなら裏切りもない
    continue

y\\\_pred = slope \\\* x + intercept
residuals = y - y\\\_pred
z\\\_scores = residuals / np.std(residuals)

# |z| >= 2.5 → 裏切りイベントとして記録

フィルタ条件

フィルタ 理由
最低有効都道府県数 40/47 欠損が多い指標は除外
最低R² 0.15 傾向がないペアは裏切りもない
裏切り度閾値 2.5 標準偏差の2.5倍以上
同分野ペア 除外 当たり前の相関を排除

7. 限界と今後

今回できなかったこと

  • 時系列裏切り度(Layer C): 今回は最新年1時点のみ。複数年データがあれば「昨年まで成立していた関係が今年壊れた」を検出できる
  • 分布裏切り度: 分位点回帰で「上位20%だけ逆」を検出。47点では精度が限定的
  • 因果の解釈: 裏切り度が高い理由をAIが自動で言語化する仕組み

応用可能性

  • 地方自治体の政策評価(「なぜうちの県だけ?」の定量化)
  • 経済レポートのネタ探し
  • E-Statに限らず、任意の大規模社会データに適用可能

8. まとめ

  1. E-Statの全探索は「人口が多い県は何でも多い」という常識を再発見するだけ
  2. 裏切り度スコア = |実測 - 期待| / 不確実性 で「常識からの逸脱」を定量化
  3. per capita正規化で人口規模効果を除去すると、沖縄・徳島・島根・長野など構造的に独自の県が浮上
  4. 裏切り度は「答え」ではなく「問い」を生成する。深掘り調査の起点として機能する

全探索は意外性を殺す。
意外性は「期待とのズレ」から生まれる。


使用データ: e-Stat 社会・人口統計体系(47都道府県 x 354指標、13分野)
コード: Python / pandas / scipy / E-Stat API


次回にて改善分析

次回:「裏切り度スコア」は裏切られた ── 隣接県差異で"460年の医療史"と"福祉哲学の分岐"を発掘した話

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?