統計学の教科書には書かれている。
しかし、自分でデータを分析して初めて理解できることがある。
分母を忘れる罠
外れ値を捨てる罠
偽相関を信じる罠
粒度を見誤る罠
はじめに
東京の外食支出を分析したら、東京が最下位になった。
奈良県は回帰分析から大きく外れた。
香川県は犯罪率の異常値だった。
兵庫県は人口密度と犯罪率の関係を壊していた。
最初はすべてデータの間違いだと思った。
しかし間違っていたのは、データではなく私の方だった。
ここ数か月、私は e-Stat(政府統計ポータルサイト)を使って家計調査、国勢調査、警察庁統計などを横断的に分析してきた。
扱った項目は数百。
相関の組み合わせは10万通り以上。
しかし振り返ってみると、最も価値があったのは分析結果そのものではなかった。
むしろ、
「データ分析には、誰もが必ずハマる罠がある」
という事実だった。
この記事では、実際の分析で遭遇した失敗・誤解・発見を振り返りながら、データ分析で意識すべき4つの罠を紹介する。
- データ分析で一番面白いのは外れ値だった ― 香川と兵庫の犯罪率を追跡して分かったこと
- 「大阪は治安が悪い」を検証したら、日本の犯罪減少を説明するのは高齢化だった
- 「東京最下位」から始めたら、奈良県の"生活余力"が見えてきた~ 外食文化でも読書文化でもなく、住宅費の話だった ~
- 【代替POS v2.0】政府統計の"残り89%"を掘ったら、日本の消費は7つの国に分かれていた
- 日本は貧しくなったのか?家計データで検証したら"全く違う結論"になった
罠① 絶対数だけを見ると世界が逆転する
― 東京の外食支出は“最下位”だった
最初に分析したのは都道府県別の外食支出だった。
直感では、
- 東京 → 圧倒的に強い
- 大阪 → 上位
という結果になりそうだ。
実際、支出総額だけを見るとその通りだった。
しかし飲食店数で補正すると景色が一変した。
df["外食支出_補正"] = df["外食支出額"] / df["飲食店数"]
すると東京は最下位クラスまで転落した。
理由は単純で、東京は飲食店が多すぎるため消費が分散しているからだ。
人口、店舗数、世帯数、面積。

こうした「分母」を無視すると、巨大都市は何でも強く見えてしまう。
分析初心者だけでなく、経験者でも陥りやすい罠である。
教訓①
まず割れ。話はそれからだ。
絶対数ではなく、人口あたり・店舗あたり・世帯あたりで見ることで、初めて比較可能になる。
元記事: 「東京最下位」から始めたら、奈良県の"生活余力"が見えてきた~ 外食文化でも読書文化でもなく、住宅費の話だった ~
罠② 外れ値を捨てると面白い発見を失う
― 奈良県の“異常値”が示した生活余力
外食支出を補正した後のデータを見ると、奇妙な県が現れた。
奈良県だ。
外食支出も書籍支出も異常に高い。
回帰分析をしても説明しきれない。

最初はノイズだと思った。
しかし調べるほど面白くなった。
- 大阪のベッドタウンだからか
- 所得が高いからか
- 昼夜人口比の影響か
様々な仮説を検証した結果、浮かび上がったのは持ち家率だった。
奈良県は持ち家率が高く、住宅費負担が比較的小さい。
住宅費という固定費が軽いため、生活余力が生まれ、その余力が外食や趣味に向かっていた可能性が見えてきた。
もし最初に
「外れ値だから除外しよう」
としていたら、この発見には辿り着けなかった。
教訓②
外れ値はゴミではない。物語の入口である。
回帰モデルで説明できない残差には、まだ見えていない構造が隠れていることがある。
元記事: 「東京最下位」から始めたら、奈良県の"生活余力"が見えてきた~ 外食文化でも読書文化でもなく、住宅費の話だった ~
罠③ 相関を大量に計算すると、偶然が真実に見える
― 488品目×47都市=118,828通りの罠
次に行ったのは家計調査488品目の全数探索だった。
組み合わせ数は118,828通り。
大量の相関分析を実施すると、面白い結果が次々と見つかる。
しかしここで大きな問題がある。
大量に検定すると、偽物の相関が大量発生するのだ。
有意水準5%なら、何も関係なくても一定数は偶然ヒットする。
実際、補正前には数百件の「面白そうな相関」が見つかった。
しかし補正後に残ったのは、その一部だけだった。
もし補正をしていなければ、私は偶然を発見として記事にしていたかもしれない。
そこでFDR補正(Benjamini-Hochberg法)を適用した。
すると「有意だった相関」の多くが消えた。
分析結果は減った。
しかし信頼性は大幅に向上した。
それでも補正後には興味深い関係が残った。
例えば、
- ヨーグルト支出とせんべい支出の相関
- 都市ガス支出とガソリン支出の強い負の相関
などである。
こうした結果は、日本の地域特性や生活様式の違いを映し出していた。

教訓③
相関が見つかった瞬間がゴールではない。
大量探索では、
「どうやって偶然を排除したのか」
まで説明できて初めて分析になる。
元記事:【代替POS v2.0】政府統計の"残り89%"を掘ったら、日本の消費は7つの国に分かれていた

罠④ データの粒度が違うと全く違う結論になる
― 香川の異常値と兵庫のMAUP問題
最後は犯罪統計の分析である。
「大阪は治安が悪い」というイメージを検証していたとき、日本全体では犯罪件数が大幅に減少していることが分かった。
しかしここでも奇妙な県が現れた。
香川県が教えてくれたこと
単年データだけを見ると、香川県は異常に犯罪率が高く見えた。
しかし時系列で追うと、特殊詐欺摘発による一時的なスパイクが原因だった。
点だけを見ると異常値だが、線で見ると説明できる。
典型的な時系列の罠だった。
兵庫県が教えてくれたこと
兵庫県は人口密度の割に犯罪率が高く見えた。
しかし実際には、
- 神戸・阪神間の都市部
- 但馬・丹波の農村部
が同じ県の中に存在している。
平均すると、どちらの特徴も失われてしまう。
神戸市だけを見ると都市型の特徴が出る。
但馬地方だけを見ると農村型の特徴が出る。
しかし兵庫県として平均すると、その両方が混ざってしまう。
このように集計単位によって結果が変わる現象は、GIS分野ではMAUP(可変面積単位問題)として知られている。
これはGIS分野で知られるMAUP(可変面積単位問題)の典型例だった。

教訓④
データは“どの単位で見るか”によって顔を変える。
- 年単位か月単位か
- 市区町村か都道府県か
- 全国か地域か
粒度を変えるだけで結論は大きく変わる。
元記事:「大阪は治安が悪い」を検証したら、日本の犯罪減少を説明するのは高齢化だった

まとめ
今回遭遇した罠は次の4つだった。
- 分母を忘れる罠
- 外れ値を捨てる罠
- 偽相関を信じる罠
- 粒度を見誤る罠
どれも統計学の教科書には載っている。
しかし実際に自分でデータを触るまで、その怖さは理解できなかった。
振り返ると、重要だったのはPythonでも回帰分析でもなかった。
本当に重要だったのは、
「自分の見たいものだけを見ないこと」
だった。
東京最下位。
奈良県の突出。
香川県の異常値。
兵庫県のMAUP問題。
どれも最初は
「データが間違っているのでは?」
と思った結果だった。
しかし、その違和感を掘り続けた先にこそ発見があった。
データ分析とは、仮説を証明する作業ではない。
自分の直感がなぜ間違っていたのかを解き明かす作業である。
e-Statのようなオープンデータには、まだ多くの発見が眠っている。
次の「違和感」を見つけるのは、この記事を読んだあなたかもしれない。