統計ロードマップ
2026-04-30·学習法·⏱ 約 5

因果推論 入門 ─ 相関と因果はどう違うか

「アイスが売れる日は溺れる人が増える ─ アイスが原因?」 ─ 統計の頂点とも言える因果推論を、AI エンジニア視点で実装まで。

アイスクリームの売上が高い日に水死事故が多い」 ─ これだけでは『アイスが原因で水死する』とは言えません。第三の要因(暑い日)が両方を引き起こしている可能性が高い。これが 相関と因果の違い で、ML の予測モデルでは扱えない領域です。

相関 ≠ 因果 を前提にする

ML モデルが学ぶのは 相関構造。だが、ビジネス意思決定で本当に欲しいのは 介入効果:

  • 『広告を表示すると CV は上がるか?』 ← 介入の効果
  • 『価格を 10% 下げると売上はどうなる?』 ← 介入の効果
  • 『この治療を受けると生存率は上がる?』 ← 介入の効果
💡 反事実の世界

因果効果 = 『介入した世界』と『しなかった世界』の差。同じ人に両方は起こらないので推論で埋めるしかない。

ゴールドスタンダード ─ RCT

ランダム化比較試験(Randomized Controlled Trial) で介入をランダムに割り当てると、交絡要因が均等化されて効果が分離できる。

  • A/B テスト: Web の標準
  • 臨床試験: 新薬承認の必須条件
  • フィールド実験: 経済学のノーベル賞(Banerjee, Duflo)

ただし RCT が 倫理的 ・ 経済的 ・ 物理的に不可能 な場合も多い(タバコの害、過去のキャンペーン分析など)。

観察データから因果を出す 5 手法

1. 傾向スコア(Propensity Score Matching)

介入を受ける『傾向』をロジスティック回帰で推定 → 似た傾向を持つペアでマッチング → 効果を計算。

傾向スコアマッチング(scikit-learn + 自前)
from sklearn.linear_model import LogisticRegression
from sklearn.neighbors import NearestNeighbors

# X: 共変量, T: 処置 0/1, Y: アウトカム
ps = LogisticRegression().fit(X, T).predict_proba(X)[:, 1]

# 処置群の各サンプルに最近傍の対照群を割り当て
treated = X[T == 1]
untreated = X[T == 0]
nn = NearestNeighbors(n_neighbors=1).fit(ps[T == 0].reshape(-1, 1))
_, idx = nn.kneighbors(ps[T == 1].reshape(-1, 1))

att = (Y[T == 1].values - Y[T == 0].values[idx.flatten()]).mean()
print('ATT:', att)

2. 差分の差分(Difference-in-Differences)

処置の前後 + 処置群と対照群 の 2 軸で差を取る。並行トレンド仮定が成り立てば因果効果が出せる。

3. 操作変数法(Instrumental Variable)

処置に影響するが結果には直接影響しない 変数(IV)を使う。古典例: 兵役くじ → 教育年数の効果。

4. 回帰不連続(RDD)

閾値で処置が切り替わる(例: 試験スコア 80 点で奨学金)場面で、閾値前後を比較。

5. 因果ダイアグラム(DAG)

変数間の因果関係をグラフで明示 → 識別可能性を判定。Judea Pearl の do 計算が理論的基盤。

Python ライブラリ

  • DoWhy(Microsoft): DAG ベースで識別 → 推定 → 反証
  • EconML(Microsoft): 機械学習を使った因果推論(Double ML, Causal Forest)
  • CausalImpact(Google): 時系列の介入効果分析
  • linearmodels: IV 推定 ・ パネルデータ

AI エンジニアの活用シーン

  • A/B テストの結果分析: 単純比較ではなく傾向スコア調整
  • マーケティング施策の効果: 過去キャンペーンの ROI 分析
  • プロダクト機能の効果検証: ロールアウト前後の比較
  • 価格弾力性の推定: 操作変数法で価格効果を分離
  • バイアス除去: 採用 ・ 与信モデルの差別検出

学習リソース

  • [統計検定 2 級 教科書](/textbook/grade-2) ─ 回帰の基礎
  • [統計検定 準 1 級 教科書](/textbook/grade-pre1) ─ 多変量解析
  • [p 値の誤解 5 選](/blog/p-value-misunderstandings)
  • [ベイズ統計と頻度論](/blog/bayes-vs-frequentist)

まとめ

因果推論は『統計の頂点』 ─ ML エンジニアが上位職を目指すなら必修領域。意思決定の質が桁違いに変わります。

Related Articles

関連記事