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
23k
教科書が教えてくれない「交絡」の話
koro485
4
12k
target trial emulation入門
koro485
1
6.7k
調整変数の選び方
koro485
2
7.5k
因果推論のための3ステップ入門
koro485
34
49k
Other Decks in Science
See All in Science
240510 COGNAC LabChat
kazh
0
130
作業領域内の障害物を回避可能なバイナリマニピュレータの設計 / Design of binary manipulator avoiding obstacles in workspace
konakalab
0
160
How were Quaternion discovered
kinakomoti321
2
1k
Introduction to Graph Neural Networks
joisino
PRO
4
2k
創薬における機械学習技術について
kanojikajino
5
1.4k
Презентация программы магистратуры СПбГУ "Искусственный интеллект и наука о данных"
dscs
0
370
All-in-One Bioinformatics Platform Realized with Snowflake ~ From In Silico Drug Discovery, Disease Variant Analysis, to Single-Cell RNA-seq
ktatsuya
0
220
理論計算機科学における 数学の応用: 擬似ランダムネス
nobushimi
1
330
重複排除・高速バックアップ・ランサムウェア対策 三拍子そろったExaGrid × Veeam連携セミナー
climbteam
0
100
拡散モデルの原理紹介
brainpadpr
3
4.6k
DEIM2024 チュートリアル ~AWSで生成AIのRAGを使ったチャットボットを作ってみよう~
yamahiro
3
1.3k
Snowflakeによる統合バイオインフォマティクス
ktatsuya
0
470
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Visualization
eitanlees
144
15k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Bash Introduction
62gerente
608
210k
We Have a Design System, Now What?
morganepeng
50
7.2k
A Philosophy of Restraint
colly
203
16k
Designing for Performance
lara
604
68k
GitHub's CSS Performance
jonrohan
1030
460k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
A designer walks into a library…
pauljervisheath
202
24k
Making Projects Easy
brettharned
115
5.9k
The Pragmatic Product Professional
lauravandoore
31
6.3k
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. モデルの仮定︖