Upgrade to Pro — share decks privately, control downloads, hide ads and more …

因果推論のための回帰分析@日本疫学会プレセミナー

Dcbfd64bc5d84c9f5c3aa1e6a9d7d5f6?s=47 KRSK
January 27, 2021

 因果推論のための回帰分析@日本疫学会プレセミナー

重回帰分析、標準化(g-formula/g-computation)、各種傾向スコアを用いた手法が推定しているもの、置いている仮定の違いなどについて説明しました。

Dcbfd64bc5d84c9f5c3aa1e6a9d7d5f6?s=128

KRSK

January 27, 2021
Tweet

Transcript

  1. ⽇本疫学会プレセミナー2021 第⼆部︓因果効果推定のための分析⼿法 2021/01/27 KRSK (@koro485)

  2. 2 60分後の到達⽬標 Ø 第⼀部で得たツールを使って、実際に「効果」を 推定するための考え⽅を知る Ø 回帰「モデル」の必要性を理解する Ø 裏にある仮定を知る Ø

    重回帰分析、傾向スコア、重み付け・・・ Ø なにが違ってなにが同じか理解する Ø ⼿法によって推定値が異なる Ø 理由を考えられるようになる
  3. 3 Agenda Ø 因果推論の全体像 Ø モデルによる推定とは︖ Ø モデルを⽤いた因果推論の⼿法 1. (アウトカムに対する)重回帰分析

    2. 標準化 3. 傾向スコア 4. 逆確率重み付け 5. Doubly-robust Estimation
  4. 4 Agenda Ø 因果推論の全体像 Ø モデルによる推定とは︖ Ø モデルを⽤いた因果推論の⼿法 1. (アウトカムに対する)重回帰分析

    2. 標準化 3. 傾向スコア 4. 逆確率重み付け 5. Doubly-robust Estimation
  5. 「因果効果への道」(Causal Roadmap) ステップ1︓ どんな効果を知りたいのかを定義する (Causal Estimandの設定) ステップ2︓ データから効果を知るための条件を考える (効果の識別, Identification)

    ステップ3︓ 実際にデータから求めたい値を計算する (推定, Estimation) 5 因果推論の全体像 Marginal vs Conditional • Exchangeability → DAG͕༗ޮͳπʔϧ
  6. 6 1. !"#| − !"$| (Causal Estimandの設定) 2. | =

    1, − | = 0, (効果の識別, Identification) 3. 条件付き期待値 | = , をどうやって計算する︖ Ø Lの値が同じ&A=aの⼈たちにおけるYの平均 Ø ここから先は純粋に計算の問題(推定, Estimation) Conditional Effectの推定
  7. 7 Agenda Ø 因果推論の全体像 Ø モデルによる推定とは︖ Ø モデルを⽤いた因果推論の⼿法 1. (アウトカムに対する)重回帰分析

    2. 標準化 3. 傾向スコア 4. 逆確率重み付け 5. その他⾼度な⼿法
  8. 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. 9 Ø | = , = の推定 Ø 回帰分析は不要 Ø

    使うこともできる Ø 回帰モデル︓ |, =! + " + # + $ ∗ パターン A L 各層のYの平均 回帰分析による推定 1 0 0 120 ! 2 0 1 140 ! + " 3 1 0 110 ! + # 4 1 1 120 ! + # + " + $ 完全に⼀致 条件付き期待値の推定︓シンプルなケース
  10. 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. 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. 12 Ø (線形)回帰モデルを使うとは・・・ Ø 変数間の関係性を単純化してYの条件付き期待値を推定 Ø ロジスティック回帰の場合︓logit(Pr[Y=1|A,L])を推定 Ø モデルの仮定 Ø

    Saturated modelはモデルの誤設定の影響を受けない Ø ではなぜパラメトリックモデルを使うのか︖ 回帰分析を使った条件付き期待値の推定
  13. 13 1. 次元の呪い(Curse of Dimensionality) Ø ⼆値変数AとL1を条件付け: 2*2 = 4通りの層

    Ø Lが10個: 2*210=2048通りの層 Ø 組み合わせが多すぎる パラメトリックモデルを使う理由 Ø A=5のデータは無い Ø 連続変数がとりうる全ての 値で層を考えるのは不可能 2. 連続変数の条件付け Ø [| = 5]
  14. 14 1. 掛け算項の消去 Ø 例︓ |, " , # =!

    + " + # " + $ # Ø A, L1, L2は⼆値変数 Ø A*L1 , A*L1 , L1 *L2 , A*L1 *L2 が含まれていない Ø 特にAを含む掛け算項の消去はConstant Effectを仮定 パラメトリックモデルの仮定 2. 連続変数に対するFunctional form Ø 例︓ = ! + " Ø 線形性を仮定 Ø 柔軟なFunctional formも Ø ⼆次関数, Splineなど
  15. 15 Agenda Ø 因果推論の全体像 Ø モデルによる推定とは︖ Ø モデルを⽤いた因果推論の⼿法 1. (アウトカムに対する)重回帰分析

    2. 標準化 3. 傾向スコア 4. 逆確率重み付け 5. Doubly-robust Estimation
  16. 16 重回帰分析 A Y L A Y L Ø Lの条件付け(Lの値が同じ集団を⾒る)に

    基づく Ø 例︓ |, =! + " + # Ø " はConditional Effect Ø A*Lをモデルから除去 (Lによる効果修飾がないという仮定) Ø (仮定が正しければ)Conditional = Marginal 効果修飾をいれたモデルを使ってMarginal Effectを推定したい 標準化
  17. 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. 18 標準化 Ø が複数のとき Ø 例︓年齢・性別・喫煙を調整 Ø = →「50歳男性喫煙者の集団」など '

    − '∗ = 5 ( '| = − '∗ | = ∗ = = 5 ( | = , = − | = ∗, = ∗ = = における効果 標的集団における = の割合 回帰モデルから得た = における 効果の推定値
  19. 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. 20 傾向スコア(Propensity Score) Ø = = Ø あるLの組み合わせの⼈が曝露をうける(A=1)確率 Ø Lの条件付けでExchangeability→PSの条件付けでOK

    Ø PSが同じ集団ではLの分布が等しい ⾮曝露群 曝露群 ⾮喫煙者 喫煙者 Ø 曝露群の⽅が喫煙者が多い(交絡) Ø PSが同じグループでは喫煙者の割合に群間差がない PSが同じ⼈たち
  21. 21 傾向スコア(Propensity Score) Ø 傾向スコアの推定 Ø 曝露に対するロジスティック回帰など Ø 曝露モデルに対する仮定 使い⽅2.

    アウトカムモデルで条件付け Ø |, =! + " + # Ø Lの代わりにPSを条件づける Ø PSのfunctional form&PSによる効果修飾に対するモデルの仮定 Ø (PSが同じ⼈における)Conditional Effect 使い⽅1. 層化(Stratification) Ø PSが似たような値をとる集団(層)内でアウトカム群間⽐較 Ø (各PS層における)Conditional Effect ではどのように「PSが同じ⼈たちの⽐較」をするか︖
  22. 22 傾向スコア(Propensity Score) 使い⽅3. マッチング Ø PSが同じような曝露・⾮曝露の個⼈の ペアを作る Ø マッチされたサンプルではPSの”分布”が群

    間で同じになる Ø vs. 条件付け Ø マッチされたサンプル(が代表する集団) における(ある種のmarginalな)効果 A Y L
  23. 23 逆確率重み付け(IPTW) A Y L Ø 傾向スコア(っぽいもの)を使った重み付け Ø Pr =

    Ø A=0の⼈は Pr = 0 = 1 − Ø ウェイト︓ " ./[1+'|3] または ./[1+'] ./[1+'|3] Ø コピー⼈間を作成&Pseudo-population Ø L→Aの⽮印が消える
  24. 24 逆確率重み付け(IPTW) A Y L Ø Pseudo-populationでアウトカムモデル Ø Lの条件付けは不要 Ø

    56 | =! + " Ø (⼆値曝露なら)モデルの誤設定なし Ø Marginal Structural Modelのパラメータ推定 Ø 標準誤差の過⼩推定に注意︕ Ø ロバスト分散またはブートストラップ Ø 集団全体における効果(Marginal Effect) Ø ある変数Vによる効果修飾(V層のConditional Effect)も推定可能 Ø ウェイト・アウトカムモデルにVが⼊る
  25. 25 アウトカムモデル vs 傾向スコア 1. モデルの設定 Ø アウトカムvs曝露モデル Ø PSは共変量バランスでモデルチェック可能

    Ø 係数の解釈が不要 2. Positivity違反 (a.k.a., off-support)を予防 Ø マッチングのペアなし、IPTWのSEが極端に⼤きい・・・ Ø アウトカムモデルでは気づきにくい (model extrapolation) 3. レアアウトカム (&⾮レア曝露) Ø たくさん共変量調整をしても推定が不安定にならない 4. 誠実な解析 Ø すべてのモデル作りの意思決定が終わった後にアウトカムの確認 Ø P-hacking予防
  26. 26 Doubly-robust Estimation Ø 標準化・IPTW → どちらもmarginal effectを推定可能 Ø 標準化︓アウトカムモデル

    Ø IPTW︓曝露モデル Ø モデルの誤設定がなければ⼀致 Ø Doubly-robust Estimation Ø アウトカムモデル・曝露モデルのどちらか少なく とも⼀⽅が正しければよい Ø TMLEなど
  27. 27 Ø 重回帰分析 Ø 標準化 Ø 傾向スコア(層化・調整・マッチング) Ø 逆確率重み付け(IPW) Step

    1: Causal Estimand(誰における効果︖) Step 2: Identification(効果識別のための仮定) Step 3: Estimation(モデルの仮定) 結局どれがいい︖ もし異なる推定結果が得られたら︖ 「因果効果への道」(Causal Roadmap)
  28. 28 曖昧に定義された ⺟集団 サンプリングに基づく ⺟集団への推論 Conditional Ø 重回帰分析 Ø 傾向スコア(層化・調整)

    Marginal Ø RCT Ø 傾向スコアマッチング Ø IPTW Ø g-formula Ø 調整変数による効果修飾があるか︖ Ø ⺟集団間の修飾因⼦の分布の違い Ø 推定値が⼀致しない Ø 異なるクエスチョンに答えているだけ Ø Kurth et al, AJE (2006) Step1. 誰における効果︖ Ø チェックポイント1︓⺟集団 Ø チェックポイント2︓Marginal? Conditional?
  29. 29 Exchangeability Conditional Exchangeability 仮定の実証不可能 Ø 重回帰分析 Ø 傾向スコア Ø

    IPTW Ø g-formula 成⽴が確率的に期待 Ø RCT Ø Exchangeabilityに対する仮定は全て同じ Ø 測定された調整変数を条件づけるとconditional exchangeability成⽴ Ø ドメイン知識に基づいた仮定(正しいことの証明不可能) Ø DAGを使った仮定の可視化・議論 Step2. 効果識別の仮定︖
  30. 30 Positivityあり Positivity仮定 Consistencyあり Ø RCT Consistency仮定 Ø 傾向スコアマッチング Ø

    重回帰分析 Ø 傾向スコア層化・調整 Ø IPTW Ø g-formula Ø RCTは実際に介⼊するのでConsistency成⽴が⾒込める Ø 事前のデザインが悪い場合は不成⽴ (例︓薬剤のdoseが指定されていない) Ø 観察データに基づく分析はill-defined treatmentに注意 →詳しくはKRSKブログを確認︕ Ø Positivityを保証するのが傾向スコアマッチングの強み Step2. 効果識別の仮定︖
  31. 31 アウトカムモデル 曝露モデル RCT Ø なし(モデル化することも) Ø なし 重回帰分析 Ø

    あり Ø なし 傾向スコア層化 Ø なし Ø あり 傾向スコア調整 Ø シンプル(PSのみ調整) Ø あり 傾向スコア マッチング Ø なし Ø あり Ø 誤設定チェックしやすい g-formula Ø あり Ø なし IPTW Ø シンプル(Marginal Structural Model) Ø あり Ø 単時点での曝露の場合(vs. time-varying exposure) Ø 異なるモデルの仮定 Ø 仮定が違えば答えも違う Ø Saturated modelならIPTWとg-formulaの答えは完全に⼀致 Step3. モデルの仮定
  32. 「因果効果への道」(Causal Roadmap) ステップ1︓ どんな効果を知りたいのかを定義する (Causal Estimandの設定) ステップ2︓ データから効果を知るための条件を考える (効果の識別, Identification)

    ステップ3︓ 実際にデータから求めたい値を計算する (推定, Estimation) 32 まとめ Ø 重回帰分析 Ø 標準化 Ø 傾向スコア(層化・調整・マッチング) Ø 逆確率重み付け(IPW) Ø Exchangeability, consistency, positivity Ø Confounding, selection bias Ø DAG Ø ⺟集団 Ø Marginal vs Conditional Effect Ø 効果修飾 1. “誰”における効果︖ 2. モデルの仮定︖