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
拡散モデルの概要 −§2. スコアベースモデルについて−
nearme_tech
PRO
0
500
Improving Search @scale with efficient query experimentation @BerlinBuzzwords 2024
searchhub
0
240
Science of Scienceおよび科学計量学に関する研究論文の俯瞰可視化_LT版
hayataka88
0
900
The Incredible Machine: Developer Productivity and the Impact of AI
tomzimmermann
0
380
Machine Learning for Materials (Lecture 3)
aronwalsh
0
990
大規模画像テキストデータのフィルタリング手法の紹介
lyakaap
6
1.5k
理論計算機科学における 数学の応用: 擬似ランダムネス
nobushimi
1
330
【健康&筋肉と生産性向上の関連性】 【Google Cloudを企業で運用する際の知識】 をお届け
yasumuusan
0
320
Lyme Disease
uni_of_nomi
0
130
プロダクト開発を通して学んだナレッジマネジメントの哲学
sonod
0
140
伊豆赤沢海洋深層水中からメラニン分解能を有する微生物の探索
eltociear
0
120
20分で分かる Human-in-the-Loop 機械学習におけるアノテーションとヒューマンコンピューターインタラクションの真髄
hurutoriya
4
2.2k
Featured
See All Featured
Statistics for Hackers
jakevdp
796
220k
Adopting Sorbet at Scale
ufuk
73
9k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
290
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Agile that works and the tools we love
rasmusluckow
327
21k
Testing 201, or: Great Expectations
jmmastey
38
7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Fireside Chat
paigeccino
32
3k
Building Applications with DynamoDB
mza
90
6.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
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. モデルの仮定︖