Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
因果推論のための回帰分析@日本疫学会プレセミナー
Search
KRSK
January 27, 2021
Science
3
12k
因果推論のための回帰分析@日本疫学会プレセミナー
重回帰分析、標準化(g-formula/g-computation)、各種傾向スコアを用いた手法が推定しているもの、置いている仮定の違いなどについて説明しました。
KRSK
January 27, 2021
Tweet
Share
More Decks by KRSK
See All by KRSK
論文を批判的に読むときのチェックリスト
koro485
1
24k
教科書が教えてくれない「交絡」の話
koro485
4
12k
target trial emulation入門
koro485
1
7.2k
調整変数の選び方
koro485
2
7.7k
因果推論のための3ステップ入門
koro485
33
50k
Other Decks in Science
See All in Science
Pericarditis Comic
camkdraws
0
1.5k
How were Quaternion discovered
kinakomoti321
2
1.1k
大規模言語モデルの開発
chokkan
PRO
84
35k
最適化超入門
tkm2261
14
3.3k
はじめてのバックドア基準:あるいは、重回帰分析の偏回帰係数を因果効果の推定値として解釈してよいのか問題
takehikoihayashi
2
920
インフラだけではない MLOps の話 @事例でわかるMLOps 機械学習の成果をスケールさせる処方箋 発売記念
icoxfog417
PRO
2
620
Inductive-bias Learning: 大規模言語モデルによる予測モデルの生成
fuyu_quant0
0
120
2024-06-16-pydata_london
sofievl
0
550
AI科学の何が“哲学”の問題になるのか ~問いマッピングの試み~
rmaruy
1
2.3k
The Incredible Machine: Developer Productivity and the Impact of AI
tomzimmermann
0
420
ultraArmをモニター提供してもらった話
miura55
0
200
拡散モデルの概要 −§2. スコアベースモデルについて−
nearme_tech
PRO
0
690
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
We Have a Design System, Now What?
morganepeng
51
7.3k
Navigating Team Friction
lara
183
15k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Being A Developer After 40
akosma
87
590k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
YesSQL, Process and Tooling at Scale
rocio
169
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Making the Leap to Tech Lead
cromwellryan
133
9k
Transcript
⽇本疫学会プレセミナー2021 第⼆部︓因果効果推定のための分析⼿法 2021/01/27 KRSK (@koro485)
2 60分後の到達⽬標 Ø 第⼀部で得たツールを使って、実際に「効果」を 推定するための考え⽅を知る Ø 回帰「モデル」の必要性を理解する Ø 裏にある仮定を知る Ø
重回帰分析、傾向スコア、重み付け・・・ Ø なにが違ってなにが同じか理解する Ø ⼿法によって推定値が異なる Ø 理由を考えられるようになる
3 Agenda Ø 因果推論の全体像 Ø モデルによる推定とは︖ Ø モデルを⽤いた因果推論の⼿法 1. (アウトカムに対する)重回帰分析
2. 標準化 3. 傾向スコア 4. 逆確率重み付け 5. Doubly-robust Estimation
4 Agenda Ø 因果推論の全体像 Ø モデルによる推定とは︖ Ø モデルを⽤いた因果推論の⼿法 1. (アウトカムに対する)重回帰分析
2. 標準化 3. 傾向スコア 4. 逆確率重み付け 5. Doubly-robust Estimation
「因果効果への道」(Causal Roadmap) ステップ1︓ どんな効果を知りたいのかを定義する (Causal Estimandの設定) ステップ2︓ データから効果を知るための条件を考える (効果の識別, Identification)
ステップ3︓ 実際にデータから求めたい値を計算する (推定, Estimation) 5 因果推論の全体像 Marginal vs Conditional • Exchangeability → DAG͕༗ޮͳπʔϧ
6 1. !"#| − !"$| (Causal Estimandの設定) 2. | =
1, − | = 0, (効果の識別, Identification) 3. 条件付き期待値 | = , をどうやって計算する︖ Ø Lの値が同じ&A=aの⼈たちにおけるYの平均 Ø ここから先は純粋に計算の問題(推定, Estimation) Conditional Effectの推定
7 Agenda Ø 因果推論の全体像 Ø モデルによる推定とは︖ Ø モデルを⽤いた因果推論の⼿法 1. (アウトカムに対する)重回帰分析
2. 標準化 3. 傾向スコア 4. 逆確率重み付け 5. その他⾼度な⼿法
8 A Y L A︓⼆値変数(例︓服薬あり vs なし) L︓⼆値変数(例︓喫煙あり・なし) Y︓連続値(例︓⾎圧) Ø
1つの⼆値変数Lを条件づけるだけでConditional Exchangeabilityが得られる(≒交絡がない)という仮定 Ø ⾮現実的な仮定(説明のためにここからはじめる) Ø | = , = がわかればよい Ø シンプルに各層のYの平均値を計算 Ø 全部で4パターン Ø 因果効果の推定完了 Ø 例︓L=1の層でのConditional Effect Ø | = 1, = 1 − | = 0, = 1 Ø 120-140 =-20 A L 各層のYの平均 0 0 120 0 1 140 1 0 110 1 1 120 条件付き期待値の推定︓シンプルなケース
9 Ø | = , = の推定 Ø 回帰分析は不要 Ø
使うこともできる Ø 回帰モデル︓ |, =! + " + # + $ ∗ パターン A L 各層のYの平均 回帰分析による推定 1 0 0 120 ! 2 0 1 140 ! + " 3 1 0 110 ! + # 4 1 1 120 ! + # + " + $ 完全に⼀致 条件付き期待値の推定︓シンプルなケース
10 Ø 回帰モデル︓ |, =! + " + # +
$ ∗ Ø 全4パターンの層に対して、 推定値は4つ Ø 各層の平均値を計算するのと全く同じ Ø Saturated “Model” Ø モデルの誤設定(Misspecification)がない パターン A L 各層のYの平均 回帰分析による推定 1 0 0 120 ! 2 0 1 140 ! + " 3 1 0 110 ! + # 4 1 1 120 ! + # + " + $ 4つのを設定する ことで任意の値を とれる 条件付き期待値の推定︓シンプルなケース
11 Ø 回帰モデル︓ |, =! + " + # Ø
AとLの掛け算項がない(層の数 > モデルの推定値) Ø パターン1〜3が決まるとパターン4が決まる Ø 制約のある推定 Ø パラメトリックモデル Ø モデルの仮定(後ほど詳しく) Ø モデルの誤設定 Ø 条件付き期待値を正しく推定できない可能性 パターン A L 各層のYの平均 回帰分析による推定 1 0 0 120 ! 2 0 1 140 ! + " 3 1 0 110 ! + # 4 1 1 120 ! + # + " ⼀致しないことが多い 条件付き期待値の推定︓シンプルなケース
12 Ø (線形)回帰モデルを使うとは・・・ Ø 変数間の関係性を単純化してYの条件付き期待値を推定 Ø ロジスティック回帰の場合︓logit(Pr[Y=1|A,L])を推定 Ø モデルの仮定 Ø
Saturated modelはモデルの誤設定の影響を受けない Ø ではなぜパラメトリックモデルを使うのか︖ 回帰分析を使った条件付き期待値の推定
13 1. 次元の呪い(Curse of Dimensionality) Ø ⼆値変数AとL1を条件付け: 2*2 = 4通りの層
Ø Lが10個: 2*210=2048通りの層 Ø 組み合わせが多すぎる パラメトリックモデルを使う理由 Ø A=5のデータは無い Ø 連続変数がとりうる全ての 値で層を考えるのは不可能 2. 連続変数の条件付け Ø [| = 5]
14 1. 掛け算項の消去 Ø 例︓ |, " , # =!
+ " + # " + $ # Ø A, L1, L2は⼆値変数 Ø A*L1 , A*L1 , L1 *L2 , A*L1 *L2 が含まれていない Ø 特にAを含む掛け算項の消去はConstant Effectを仮定 パラメトリックモデルの仮定 2. 連続変数に対するFunctional form Ø 例︓ = ! + " Ø 線形性を仮定 Ø 柔軟なFunctional formも Ø ⼆次関数, Splineなど
15 Agenda Ø 因果推論の全体像 Ø モデルによる推定とは︖ Ø モデルを⽤いた因果推論の⼿法 1. (アウトカムに対する)重回帰分析
2. 標準化 3. 傾向スコア 4. 逆確率重み付け 5. Doubly-robust Estimation
16 重回帰分析 A Y L A Y L Ø Lの条件付け(Lの値が同じ集団を⾒る)に
基づく Ø 例︓ |, =! + " + # Ø " はConditional Effect Ø A*Lをモデルから除去 (Lによる効果修飾がないという仮定) Ø (仮定が正しければ)Conditional = Marginal 効果修飾をいれたモデルを使ってMarginal Effectを推定したい 標準化
17 Ø L層での効果(conditional effect)から任意の集団にお ける効果を推定 Ø 例︓対象集団全体における効果(marginal effect) Ø 効果を推定したい集団におけるL層の分布を使⽤
A Y L 標準化 (g-formula/g-computation) A︓服薬あり vs なし L︓喫煙あり・なし Y︓⾎圧 Ø |, =! + " + # + $ ∗ Ø L=0における効果: " Ø L=1における効果: " + $ Ø 全体の10%が喫煙者(L=1)だったら︖ Ø 集団全体での効果: " ∗ 0.9 + " + $ ∗ 0.1
18 標準化 Ø が複数のとき Ø 例︓年齢・性別・喫煙を調整 Ø = →「50歳男性喫煙者の集団」など '
− '∗ = 5 ( '| = − '∗ | = ∗ = = 5 ( | = , = − | = ∗, = ∗ = = における効果 標的集団における = の割合 回帰モデルから得た = における 効果の推定値
19 標準化 ID Y A L1 L2 1 94 1
1 3 2 90 0 1 4 … … … … n 89 0 0 1 例︓ |, =! + " + #" + $ ∗ " + %# A L1 L2 ! [| = , ] 1 1 3 95 1 1 4 92 … … … 1 0 1 94 A L1 L2 ! [| = , ] 0 1 3 89 0 1 4 91 … … … 0 0 1 87 Step 1: 元データを使ったアウトカム モデルの推定 Step 2: 元データの曝露の値を全員同じ 値にしてモデルからアウトカムを予測 Step 3: 予測値の平均=集団全体における 潜在アウトカム期待値の推定値 8 [+] 8 [+] Step 4: 平均の差・⽐をとることで 「効果」の定量化 Step 5: ブートストラップでSE推定
20 傾向スコア(Propensity Score) Ø = = Ø あるLの組み合わせの⼈が曝露をうける(A=1)確率 Ø Lの条件付けでExchangeability→PSの条件付けでOK
Ø PSが同じ集団ではLの分布が等しい ⾮曝露群 曝露群 ⾮喫煙者 喫煙者 Ø 曝露群の⽅が喫煙者が多い(交絡) Ø PSが同じグループでは喫煙者の割合に群間差がない PSが同じ⼈たち
21 傾向スコア(Propensity Score) Ø 傾向スコアの推定 Ø 曝露に対するロジスティック回帰など Ø 曝露モデルに対する仮定 使い⽅2.
アウトカムモデルで条件付け Ø |, =! + " + # Ø Lの代わりにPSを条件づける Ø PSのfunctional form&PSによる効果修飾に対するモデルの仮定 Ø (PSが同じ⼈における)Conditional Effect 使い⽅1. 層化(Stratification) Ø PSが似たような値をとる集団(層)内でアウトカム群間⽐較 Ø (各PS層における)Conditional Effect ではどのように「PSが同じ⼈たちの⽐較」をするか︖
22 傾向スコア(Propensity Score) 使い⽅3. マッチング Ø PSが同じような曝露・⾮曝露の個⼈の ペアを作る Ø マッチされたサンプルではPSの”分布”が群
間で同じになる Ø vs. 条件付け Ø マッチされたサンプル(が代表する集団) における(ある種のmarginalな)効果 A Y L
23 逆確率重み付け(IPTW) A Y L Ø 傾向スコア(っぽいもの)を使った重み付け Ø Pr =
Ø A=0の⼈は Pr = 0 = 1 − Ø ウェイト︓ " ./[1+'|3] または ./[1+'] ./[1+'|3] Ø コピー⼈間を作成&Pseudo-population Ø L→Aの⽮印が消える
24 逆確率重み付け(IPTW) A Y L Ø Pseudo-populationでアウトカムモデル Ø Lの条件付けは不要 Ø
56 | =! + " Ø (⼆値曝露なら)モデルの誤設定なし Ø Marginal Structural Modelのパラメータ推定 Ø 標準誤差の過⼩推定に注意︕ Ø ロバスト分散またはブートストラップ Ø 集団全体における効果(Marginal Effect) Ø ある変数Vによる効果修飾(V層のConditional Effect)も推定可能 Ø ウェイト・アウトカムモデルにVが⼊る
25 アウトカムモデル vs 傾向スコア 1. モデルの設定 Ø アウトカムvs曝露モデル Ø PSは共変量バランスでモデルチェック可能
Ø 係数の解釈が不要 2. Positivity違反 (a.k.a., off-support)を予防 Ø マッチングのペアなし、IPTWのSEが極端に⼤きい・・・ Ø アウトカムモデルでは気づきにくい (model extrapolation) 3. レアアウトカム (&⾮レア曝露) Ø たくさん共変量調整をしても推定が不安定にならない 4. 誠実な解析 Ø すべてのモデル作りの意思決定が終わった後にアウトカムの確認 Ø P-hacking予防
26 Doubly-robust Estimation Ø 標準化・IPTW → どちらもmarginal effectを推定可能 Ø 標準化︓アウトカムモデル
Ø IPTW︓曝露モデル Ø モデルの誤設定がなければ⼀致 Ø Doubly-robust Estimation Ø アウトカムモデル・曝露モデルのどちらか少なく とも⼀⽅が正しければよい Ø TMLEなど
27 Ø 重回帰分析 Ø 標準化 Ø 傾向スコア(層化・調整・マッチング) Ø 逆確率重み付け(IPW) Step
1: Causal Estimand(誰における効果︖) Step 2: Identification(効果識別のための仮定) Step 3: Estimation(モデルの仮定) 結局どれがいい︖ もし異なる推定結果が得られたら︖ 「因果効果への道」(Causal Roadmap)
28 曖昧に定義された ⺟集団 サンプリングに基づく ⺟集団への推論 Conditional Ø 重回帰分析 Ø 傾向スコア(層化・調整)
Marginal Ø RCT Ø 傾向スコアマッチング Ø IPTW Ø g-formula Ø 調整変数による効果修飾があるか︖ Ø ⺟集団間の修飾因⼦の分布の違い Ø 推定値が⼀致しない Ø 異なるクエスチョンに答えているだけ Ø Kurth et al, AJE (2006) Step1. 誰における効果︖ Ø チェックポイント1︓⺟集団 Ø チェックポイント2︓Marginal? Conditional?
29 Exchangeability Conditional Exchangeability 仮定の実証不可能 Ø 重回帰分析 Ø 傾向スコア Ø
IPTW Ø g-formula 成⽴が確率的に期待 Ø RCT Ø Exchangeabilityに対する仮定は全て同じ Ø 測定された調整変数を条件づけるとconditional exchangeability成⽴ Ø ドメイン知識に基づいた仮定(正しいことの証明不可能) Ø DAGを使った仮定の可視化・議論 Step2. 効果識別の仮定︖
30 Positivityあり Positivity仮定 Consistencyあり Ø RCT Consistency仮定 Ø 傾向スコアマッチング Ø
重回帰分析 Ø 傾向スコア層化・調整 Ø IPTW Ø g-formula Ø RCTは実際に介⼊するのでConsistency成⽴が⾒込める Ø 事前のデザインが悪い場合は不成⽴ (例︓薬剤のdoseが指定されていない) Ø 観察データに基づく分析はill-defined treatmentに注意 →詳しくはKRSKブログを確認︕ Ø Positivityを保証するのが傾向スコアマッチングの強み Step2. 効果識別の仮定︖
31 アウトカムモデル 曝露モデル RCT Ø なし(モデル化することも) Ø なし 重回帰分析 Ø
あり Ø なし 傾向スコア層化 Ø なし Ø あり 傾向スコア調整 Ø シンプル(PSのみ調整) Ø あり 傾向スコア マッチング Ø なし Ø あり Ø 誤設定チェックしやすい g-formula Ø あり Ø なし IPTW Ø シンプル(Marginal Structural Model) Ø あり Ø 単時点での曝露の場合(vs. time-varying exposure) Ø 異なるモデルの仮定 Ø 仮定が違えば答えも違う Ø Saturated modelならIPTWとg-formulaの答えは完全に⼀致 Step3. モデルの仮定
「因果効果への道」(Causal Roadmap) ステップ1︓ どんな効果を知りたいのかを定義する (Causal Estimandの設定) ステップ2︓ データから効果を知るための条件を考える (効果の識別, Identification)
ステップ3︓ 実際にデータから求めたい値を計算する (推定, Estimation) 32 まとめ Ø 重回帰分析 Ø 標準化 Ø 傾向スコア(層化・調整・マッチング) Ø 逆確率重み付け(IPW) Ø Exchangeability, consistency, positivity Ø Confounding, selection bias Ø DAG Ø ⺟集団 Ø Marginal vs Conditional Effect Ø 効果修飾 1. “誰”における効果︖ 2. モデルの仮定︖