交絡が見つかったらどうする?対処法を徹底比較

目次

1. 導入

前回は初学者でも分かりやすく行楽とは何かについて解説しました。
今回は実際に行楽と気づいた際にどのように対処すれば良いかをまとめます。

とりあえず全部の変数をモデルに入れればいいと考えていませんか?

あわせて読みたい
交絡とは、データ分析で必ず出会う落とし穴について詳しく解説 導入 データ分析をしていると、「相関があるのに予測が外れる」という経験はありませんか? その原因は、もしかしたら交絡かもしれません。 この記事では「交絡とは何か...

2. 対処法の全体マップ

手法層別解析多変量解析傾向スコアDAGランダム化
一言説明交絡因子でグループに分けて分析交絡因子を共変量としてモデルに入れる処置を受ける確率を推定して比較因果構造を理解して整理割り付けをランダムにして交絡を防ぐ
向いている場面交絡因子が1~2個機械学習・回帰モデル全般医療・観察データ因果構造を理解したいとき実験設計できる場合

3. 各手法の解説

層別解析

何をするか
交絡因子をデータでグループに分け、それぞれの中で分析する。
直感的なイメージ・具体例

年齢が交絡している場合、20代、30代、40代、、と分けてそれぞれ分析する。
→全体で見ると相関があっても、層別すると消える場合は交絡のサイン。
メリット

シンプルで直感的、結果が説明しやすい
デメリット

交絡因子が多いと分割しきれなくなる
どんな場面で

交絡因子が1~2個に絞られているとき

多変量解析

何をするか
交絡因子を共変量としてモデルに入れ、その影響をコントロールした上で関心のある変数の効果を取り出す。
直感的なイメージ・具体例

Y = β₀ + β₁X + β₂Z(Z=交絡因子)の形で回帰モデルを組む。
→Zを入れることでXだけの純粋な効果が見えるようになる。
メリット

複数の交絡因子を同時にコントロールできる
デメリット

モデルの仮定(線形性など)が成り立たないと歪む
どんな場面で

機械学習・回帰モデル全般。特徴量として入れるのが基本対処

傾向スコア

何をするか
「処置を受ける確率(傾向スコア)」を推定し、スコアが近いグループ同士を比較することで交絡を取り除く
直感的なイメージ・具体例

薬を飲んだ人と飲まなかった人を比較したいとき、年齢・性別・重症度などが似ている人同士をペアにして比較する
メリット

多くの交絡因子を1つのスコアに集約できる・RCTに近い比較が可能
デメリット

傾向スコアモデル自体が正しく推定されないと結果が歪む
どんな場面で

医療・RWDなどの観察データ。ランダム化できない場面

DAG

何をするか
変数間の因果構造を矢印で図示し、どの変数をコントロールすべきか・してはいけないかを整理する
直感的なイメージ・具体例

A→B→Cのような図を書くことで、Bをコントロールするとかえってバイアスが生じる(合流点)などが視覚的にわかる。
メリット

闇雲に全変数を入れる誤りを防げる、因果構造を明示的に議論できる
デメリット

DAGを正しく書くにはドメイン知識が必要
どんな場面で

因果構造を整理・可視化したいとき。多変量解析の前段階として

ランダム化(RCT)

何をするか
割り付けをランダムにすることで、交絡因子が両群に均等に分布するようにする。
直感的なイメージ・具体例

薬の効果を調べる臨床試験で、くじ引きで薬を飲む群・飲まない群を決める。ランダムにすることで年齢・性別などの偏りがなくなる。
メリット

交絡を根本から防げる・最もエビデンスが強い
デメリット

観察データには使えない。コスト・倫理的制約がある場面も多い。
どんな場面で

実験設計ができる場合。観察データには適用不可。

4. 使い分けの基準

交絡因子の数
・1~2個→層別解析で十分
・3個以上→多変量解析化傾向スコア
データの種類

・観察データ→傾向スコアが有効
・実験設計できる→ランダム化が最強
目的

・因果構造を理解したい→まずDAGを描く
・モデルを作りたい→多変量解析+DAGで確認

5. まとめ

今回は交絡への対処法として、層別解析・多変量解析・傾向スコア・DAG・ランダム化の5つを紹介しました。
「とりあえず全部の変数をモデルに入れればいい」というわけではなく、状況に応じて手法を選ぶことが大切です。 迷った時はまずDAGで因果構造を整理し、そこから適切な手法を選ぶ流れが適切です。

CTA
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人
目次