Courses
統計や機械学習において、パターンは答えそのものではありません。
おそらく、アイスクリームの売上と溺死率の関係を示すグラフや、ニコラス・ケイジの出演本数とプールでの死亡者数を結びつけるグラフを見たことがあるはずです。これらは目を引き、記憶に残りますが、「相関は因果を意味しない」ことの典型例です。また、あまりに使い古されているため、この問題が実務でなぜ重要かという肝心な点を見落としがちです。
見せかけの相関とは、実際には因果的なつながりがないのに、2つの変数の間に関係があるように見えることだと考えるとよいでしょう。単なる偶然や、観測していない隠れた変数によって結びついているだけです。これを有益な情報として扱ってしまうと、現実世界に当てはまらない筋の通らないパターンを追いかけて時間を無駄にしてしまいます。
この記事では、見せかけの相関がなぜ起きるのか、どう見抜くのか、そしてそれに基づいて意思決定しないための方法を解説します。
そもそも相関とは何でしょうか?相関係数の種類と用途については、当社のブログ記事「データの関係性を測る」をご覧ください。
見せかけの相関とは?
見せかけの相関とは、2つの変数の間に、実際のつながりがないのに統計的な関係があるように見えることです。
相関の値自体は本物です。分析を実行すれば、意味がありそうで妥当な値が得られます。計算自体は間違っても捏造でもありません。だからこそ厄介なのです。
足りないのは因果関係です。
一方の変数がもう一方を引き起こしているわけではありません。無関係な理由で同時に動いているか、理由などそもそもないのかもしれません。データが示すものと実際に起きていることのズレこそが、見せかけの相関の本質です。
見せかけの相関が起きる理由
見せかけの相関は、たいてい決まった仕組みで説明できます。何に注意すべきかがわかれば、相関をうのみにしなくなります。
交絡変数
交絡因子とは、測定している両方の事象に影響を与える隠れた変数のことです。
クラシックなアイスクリームと溺死の例を考えてみましょう。アイスクリームの売上が溺死を引き起こすわけではありません。暑い天候が両方を引き起こします——アイスクリームを買う人が増え、泳ぐ人も増えるため、溺死も増えます。
ここでの交絡因子は気温です。データで追跡していなければ、見落とすのは簡単です。
偶然
2つの変数が、まったくの理由なしに一緒に動くこともあります。
十分な数のデータセットで十分な数の比較を行えば、偶然に整合してしまうものが必ず出てきます。ニコラス・ケイジとプールでの死亡者数の相関はまさにそれです。同じ年にたまたま同じ方向に推移した、無関係な2つの時系列なのです。
変数が十分に多ければ、ある程度のランダムな整列が起きるのは当然です。
共通トレンド
変数が時間とともに同じ方向に動くことがあり、その重なりが、関係があるように見せてしまうことがあります。
人口、GDP、インターネット利用、プラスチック生産量を考えてみてください。多くの指標は何十年も増加してきました。これらのうち任意の2つを比較すると、どちらも上昇トレンドにあるため、強い相関が得られます。
しかし、共有しているのは方向性だけで、変数同士に結びつきはありません。
サンプリング・バイアス
見せかけの相関は、対象とする世界ではなく、収集したデータ自体に起因することもあります。
標本が研究対象の母集団を反映していない場合、データセットの中だけに存在する関係が現れ得ます。たとえばアンケートをアプリ経由だけで行えば、「アプリ利用」があらゆるものと相関しているように見えます。原因がアプリ利用ではなく、サンプルがアプリ利用者に偏っているからです。
見せかけの相関の例
見せかけの相関は、思っている以上によくあります。ここでは、その見分け方と対処法を紹介します。
古典的な統計の例
アイスクリームと溺死の相関は誰もが知る例です。アイスクリームの売上と溺死者数は同時に増減しますが、互いに原因ではありません。暑い天候という交絡因子が同時に両者を動かしているのです。
ニコラス・ケイジの例は別物です。彼の年間の出演本数が同期間のプールでの溺死者数と相関しますが、交絡因子は存在しません。単なる偶然——たまたま一致した無関係なトレンドです。
どちらの例も見せかけの相関の論点を示しますが、残念ながら実務ではここまで明瞭には見えません。
ビジネスや研究の例
ビジネス分析では、見せかけの相関は、もっともらしく見える数字の裏に隠れがちです。
ある企業が2年間、週次のマーケティング費用と週次の売上を追跡しているとします。次のPythonコードで追体験できます。
import numpy as np
import pandas as pd
np.random.seed(42)
weeks = 104
# Seasonal effect
seasonality = 10 * np.sin(np.linspace(0, 8 * np.pi, weeks)) + 20
marketing_spend = seasonality + np.random.normal(0, 2, weeks)
revenue = seasonality * 50 + np.random.normal(0, 30, weeks)
df = pd.DataFrame({
"week": range(1, weeks + 1),
"marketing_spend": marketing_spend,
"revenue": revenue
})
print(df["marketing_spend"].corr(df["revenue"]))
Output: 0.9707905810711147
すると、marketing_spendとrevenueの間に強い正の相関が得られます。「マーケティング費用が売上を増やす」と読みたくなりますし、実際そうかもしれませんが、上のコードはそれを証明していません。両変数は同じ季節需要のサイクルに駆動されています。需要が自然に高い週に支出を増やせば、マーケティング自体の効果に関わらず相関は現れます。
これはビジネス分析でよくある誤りです。
顧客行動やマーケティング成果は、季節や景気、その他数多くの隠れた要因とともに動きます。2つの指標が相関しても、どちらが(あるいはどちらかが)原因なのかはわかりません。
機械学習の例
機械学習モデルは「原因」という概念を知りません。誤差を下げられるパターンなら何でも拾います。訓練データで近道が効くなら、モデルはその近道を使います。
例えば:
- 背景への依存: 牛を識別する画像分類器が、動物そのものではなく緑の牧草地を「牛」と結びつけて学習してしまう。ビーチの牛を見せると失敗します。
- 属性・地理の代理変数: 過去データで学習したモデルが、訓練セットに含まれていないにもかかわらず、郵便番号を収入や人種の代理として用いてしまう。
- データセットのアーティファクト: 医用画像モデルが、ある病院の古い機器のスキャンが重症例と相関していることを学習してしまう。機器の出力が病気そのものを示すからではなく、その病院が重症例を多く扱っていたからです。
同じ考え方を、自分で実行できる合成例として示します。あるモデルがローンの延滞リスクを予測し、zip_code が実際に重要な変数であるincomeの代理として機能します。
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
np.random.seed(42)
n = 1000
# Zip code correlates with income, income drives default risk
zip_code = np.random.choice([1, 2, 3], size=n)
income = 80000 - zip_code * 15000 + np.random.normal(0, 5000, n)
default_risk = (income < 40000).astype(int)
df = pd.DataFrame({"zip_code": zip_code, "income": income, "default": default_risk})
model = LogisticRegression()
model.fit(df[["zip_code"]], df["default"])
print(model.score(df[["zip_code"]], df["default"]))

機械学習の例 モデルのスコア
このモデルは、zip_codeだけでincomeを一切見ずに延滞リスクを予測できます。このデータセットではうまくいきますが、郵便番号と収入の関係が成り立たない別の都市のデータを与えると、精度は低下します。
これが近道学習の問題です。
見せかけの相関に基づいたモデルは、訓練データでは高得点でも、その相関が当てはまらない環境に出会った瞬間に失敗します。
見せかけの相関を検出する方法
残念ながら、見せかけの相関を完全になくすことはできませんが、その多くを見つけ出す習慣は身につけられます。
実践的なヒントをいくつか挙げます:
- 交絡を調べる: 相関を信じる前に、両変数を同時に動かしている別の要因がないか問い直してください。気温や季節性は典型的な容疑者です。
- ドメイン知識を使う: 既存の知見から見て筋が通らない関係であれば、その直感を統計値で押し流さないでください。
- データを可視化する: 散布図や時系列チャートは、相関係数が隠してしまう共通トレンドや明白な外れ値を示すことがよくあります。
- 追加の統計検定を行う: 偏相関や、異なるサブグループでも関係が成り立つかの検証は、相関を裏づけたり崩したりする助けになります。
- 可能なときは実験を設計する: ランダム化比較試験は、どのグループにどの処置を与えるかを制御するため、交絡を取り除けます。
要するに、相関係数は「2つが一緒に動いた」ことを示すだけです。それが意味を持つかどうかは、最終的に自分で判断する必要があります。
見せかけの相関と他の統計概念の違い
見せかけの相関と同義に扱われがちな用語がいくつかあり、混乱のもとになっています。このセクションでは、それぞれが何を意味し、どう違うのかを示します。
見せかけの相関 vs 交絡
交絡は、見せかけの相関の特定の原因のひとつであり、同義語ではありません。
交絡は、第三の変数が測定している両変数に影響を与え、直接的な関係があるように見せてしまうときに起きます。気温は、アイスクリームの売上と溺死の両方を駆動するため、交絡因子になり得ます。
見せかけの相関はより広い概念です。交絡も含みますが、偶然、サンプリング・バイアス、時間に沿った共有トレンドといった、隠れた第三の変数を伴わないケースも含みます。ニコラス・ケイジの例は交絡ではありません。出演本数とプールでの死亡者数を結びつける変数は存在しないからです。単なる偶然です。それでも見せかけの相関です。
つまり、交絡した関係はすべて見せかけの相関ですが、見せかけの相関がすべて交絡しているわけではありません。
見せかけの相関 vs 因果
見せかけの相関も因果関係も、散布図の見た目は同じになり得ます。違うのはその背後で起きていることです。その違いが、データで何ができるかを左右します。
違いを次の表にまとめます。
| 見せかけの相関 | 因果 | |
|---|---|---|
| 関係性 | 変数間に実質的なつながりはない | 一方の変数がもう一方に直接影響する |
| 解釈 | 有意とみなすと誤解を招く | 実際のメカニズムを反映する |
| 予測の有用性 | 元のデータセット以外では当てにならない | メカニズムが変わらない限り新しいデータでも成り立つ |
| 因果主張の根拠性 | なし | 適切な方法で確立された場合は因果主張を支えられる |
相関係数がどれほど強く見えても、見せかけの相関は決して因果を意味しません。因果を証明するには、単一の統計検定を超えた、統制実験や確立された因果推論の手法が必要です。
見せかけの相関のリスクを減らす方法
事後的に見せかけの相関を見抜けるだけでも有用です。しかし、そもそも避けられるワークフローを構築できるなら、さらに良いでしょう。
このワークフローで実施すべきことは次のとおりです。
- より良いデータを収集する: 見せかけの相関の多くは、研究対象を代表しないサンプルに端を発します。分析前に、収集データが適切な母集団と条件をカバーしているか確認してください。
- 可能なら無作為化実験を使う: ランダム化は交絡に対する最良の防御です。隠れた変数を群間で均等に分散させられるからです。観察データに頼る代わりにA/Bテストを実施できるなら、そうしてください。
- 新しいデータセットで検証する: 1つのデータセットでしか現れない相関は、どこかに問題があるサインです。信頼する前に、別の時期、別の担当者、別の母集団、別のソースのデータで関係が維持されるかを確かめてください。
- 因果分析を行う: 交絡の統制や因果グラフといった手法を使えば、「2つが一緒に動く」を超えて、一方が他方に本当に影響しているかを検証できます。
- ドメインの専門性を取り入れる: 主題に通じた人は、統計検定では見抜けない見せかけの関係を見抜くことが少なくありません。ドメイン知識と照らして相関が成り立たないなら、上に積み上げる前に疑ってください。
正直なところ、これらの手順だけで見せかけの相関をすべて捕捉できる保証はありませんが、組み合わせれば、信頼性に欠ける結論やモデルを構築してしまう確率を下げられます。
結論
高い相関係数は答えに見えるかもしれませんが、経験豊富なデータの専門家にとっては、むしろ問いです。
その数値は、2つが一緒に動いたことを教えてくれるだけです。理由は教えてくれません。相関を因果の証拠として扱うと、誤った前提が生まれ、研究は誤読され、ビジネス判断は誤り、モデルは新しいデータに触れた途端に破綻します。数字そのものより、数字の背後にあるもののほうが重要です。
だからこそ、最も強い結論は統計だけからは生まれず、統計とドメイン知識の組み合わせから生まれます。両者を使えば、得られたデータセットの外でも通用する結論にたどり着けます。
相関や見せかけの相関の概念がわかりにくい場合は、当社の確率・統計コースをご覧ください。実験計画や仮説検定の入門まで幅広くカバーしています。