10
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分析し続けたら分かった、データ分析で絶対にハマる4つの罠──東京最下位、奈良の謎、香川の異常値、兵庫のMAUP

10
Posted at

統計学の教科書には書かれている。
しかし、自分でデータを分析して初めて理解できることがある。

分母を忘れる罠
外れ値を捨てる罠
偽相関を信じる罠
粒度を見誤る罠


はじめに

東京の外食支出を分析したら、東京が最下位になった。
奈良県は回帰分析から大きく外れた。
香川県は犯罪率の異常値だった。
兵庫県は人口密度と犯罪率の関係を壊していた。

最初はすべてデータの間違いだと思った。
しかし間違っていたのは、データではなく私の方だった。

ここ数か月、私は e-Stat(政府統計ポータルサイト)を使って家計調査、国勢調査、警察庁統計などを横断的に分析してきた。

扱った項目は数百。
相関の組み合わせは10万通り以上。

しかし振り返ってみると、最も価値があったのは分析結果そのものではなかった。
むしろ、

「データ分析には、誰もが必ずハマる罠がある」

という事実だった。

この記事では、実際の分析で遭遇した失敗・誤解・発見を振り返りながら、データ分析で意識すべき4つの罠を紹介する。


罠① 絶対数だけを見ると世界が逆転する

― 東京の外食支出は“最下位”だった

最初に分析したのは都道府県別の外食支出だった。

直感では、

  • 東京 → 圧倒的に強い
  • 大阪 → 上位

という結果になりそうだ。

実際、支出総額だけを見るとその通りだった。

しかし飲食店数で補正すると景色が一変した。

df["外食支出_補正"] = df["外食支出額"] / df["飲食店数"]

すると東京は最下位クラスまで転落した。

理由は単純で、東京は飲食店が多すぎるため消費が分散しているからだ。
人口、店舗数、世帯数、面積。
image.png

こうした「分母」を無視すると、巨大都市は何でも強く見えてしまう。
分析初心者だけでなく、経験者でも陥りやすい罠である。

教訓①

まず割れ。話はそれからだ。

絶対数ではなく、人口あたり・店舗あたり・世帯あたりで見ることで、初めて比較可能になる。

元記事: 「東京最下位」から始めたら、奈良県の"生活余力"が見えてきた~ 外食文化でも読書文化でもなく、住宅費の話だった ~


罠② 外れ値を捨てると面白い発見を失う

― 奈良県の“異常値”が示した生活余力

外食支出を補正した後のデータを見ると、奇妙な県が現れた。
奈良県だ。

外食支出も書籍支出も異常に高い。
回帰分析をしても説明しきれない。
image.png

最初はノイズだと思った。
しかし調べるほど面白くなった。

  • 大阪のベッドタウンだからか
  • 所得が高いからか
  • 昼夜人口比の影響か

様々な仮説を検証した結果、浮かび上がったのは持ち家率だった。

奈良県は持ち家率が高く、住宅費負担が比較的小さい。
住宅費という固定費が軽いため、生活余力が生まれ、その余力が外食や趣味に向かっていた可能性が見えてきた。

もし最初に

「外れ値だから除外しよう」

としていたら、この発見には辿り着けなかった。

教訓②

外れ値はゴミではない。物語の入口である。

回帰モデルで説明できない残差には、まだ見えていない構造が隠れていることがある。

元記事: 「東京最下位」から始めたら、奈良県の"生活余力"が見えてきた~ 外食文化でも読書文化でもなく、住宅費の話だった ~


罠③ 相関を大量に計算すると、偶然が真実に見える

― 488品目×47都市=118,828通りの罠

次に行ったのは家計調査488品目の全数探索だった。
組み合わせ数は118,828通り。

大量の相関分析を実施すると、面白い結果が次々と見つかる。
しかしここで大きな問題がある。

大量に検定すると、偽物の相関が大量発生するのだ。
有意水準5%なら、何も関係なくても一定数は偶然ヒットする。

実際、補正前には数百件の「面白そうな相関」が見つかった。
しかし補正後に残ったのは、その一部だけだった。
もし補正をしていなければ、私は偶然を発見として記事にしていたかもしれない。

そこでFDR補正(Benjamini-Hochberg法)を適用した。
すると「有意だった相関」の多くが消えた。

分析結果は減った。
しかし信頼性は大幅に向上した。

それでも補正後には興味深い関係が残った。

例えば、

  • ヨーグルト支出とせんべい支出の相関
  • 都市ガス支出とガソリン支出の強い負の相関

などである。
こうした結果は、日本の地域特性や生活様式の違いを映し出していた。
image.png

教訓③

相関が見つかった瞬間がゴールではない。

大量探索では、

「どうやって偶然を排除したのか」

まで説明できて初めて分析になる。

元記事:【代替POS v2.0】政府統計の"残り89%"を掘ったら、日本の消費は7つの国に分かれていた
image.png


罠④ データの粒度が違うと全く違う結論になる

― 香川の異常値と兵庫のMAUP問題

最後は犯罪統計の分析である。
「大阪は治安が悪い」というイメージを検証していたとき、日本全体では犯罪件数が大幅に減少していることが分かった。

しかしここでも奇妙な県が現れた。

香川県が教えてくれたこと

単年データだけを見ると、香川県は異常に犯罪率が高く見えた。

しかし時系列で追うと、特殊詐欺摘発による一時的なスパイクが原因だった。
点だけを見ると異常値だが、線で見ると説明できる。

典型的な時系列の罠だった。

兵庫県が教えてくれたこと

兵庫県は人口密度の割に犯罪率が高く見えた。

しかし実際には、

  • 神戸・阪神間の都市部
  • 但馬・丹波の農村部

が同じ県の中に存在している。
平均すると、どちらの特徴も失われてしまう。

神戸市だけを見ると都市型の特徴が出る。
但馬地方だけを見ると農村型の特徴が出る。
しかし兵庫県として平均すると、その両方が混ざってしまう。
このように集計単位によって結果が変わる現象は、GIS分野ではMAUP(可変面積単位問題)として知られている。

これはGIS分野で知られるMAUP(可変面積単位問題)の典型例だった。
image.png

教訓④

データは“どの単位で見るか”によって顔を変える。

  • 年単位か月単位か
  • 市区町村か都道府県か
  • 全国か地域か

粒度を変えるだけで結論は大きく変わる。

元記事:「大阪は治安が悪い」を検証したら、日本の犯罪減少を説明するのは高齢化だった
image.png


まとめ

今回遭遇した罠は次の4つだった。

  1. 分母を忘れる罠
  2. 外れ値を捨てる罠
  3. 偽相関を信じる罠
  4. 粒度を見誤る罠

どれも統計学の教科書には載っている。
しかし実際に自分でデータを触るまで、その怖さは理解できなかった。

振り返ると、重要だったのはPythonでも回帰分析でもなかった。

本当に重要だったのは、

「自分の見たいものだけを見ないこと」

だった。

東京最下位。
奈良県の突出。
香川県の異常値。
兵庫県のMAUP問題。

どれも最初は

「データが間違っているのでは?」

と思った結果だった。

しかし、その違和感を掘り続けた先にこそ発見があった。

データ分析とは、仮説を証明する作業ではない。

自分の直感がなぜ間違っていたのかを解き明かす作業である。

e-Statのようなオープンデータには、まだ多くの発見が眠っている。

次の「違和感」を見つけるのは、この記事を読んだあなたかもしれない。

10
6
2

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
10
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?