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

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

KRSK
January 27, 2021

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

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

KRSK

January 27, 2021
Tweet

More Decks by KRSK

Other Decks in Science

Transcript

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

    View Slide

  2. 2
    60分後の到達⽬標
    Ø 第⼀部で得たツールを使って、実際に「効果」を
    推定するための考え⽅を知る
    Ø 回帰「モデル」の必要性を理解する
    Ø 裏にある仮定を知る
    Ø 重回帰分析、傾向スコア、重み付け・・・
    Ø なにが違ってなにが同じか理解する
    Ø ⼿法によって推定値が異なる
    Ø 理由を考えられるようになる

    View Slide

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

    View Slide

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

    View Slide

  5. 「因果効果への道」(Causal Roadmap)
    ステップ1︓
    どんな効果を知りたいのかを定義する
    (Causal Estimandの設定)
    ステップ2︓
    データから効果を知るための条件を考える
    (効果の識別, Identification)
    ステップ3︓
    実際にデータから求めたい値を計算する
    (推定, Estimation)
    5
    因果推論の全体像
    Marginal vs Conditional
    • Exchangeability
    → DAG͕༗ޮͳπʔϧ

    View Slide

  6. 6
    1. !"#| − !"$| (Causal Estimandの設定)
    2. | = 1, − | = 0, (効果の識別, Identification)
    3. 条件付き期待値 | = , をどうやって計算する︖
    Ø Lの値が同じ&A=aの⼈たちにおけるYの平均
    Ø ここから先は純粋に計算の問題(推定, Estimation)
    Conditional Effectの推定

    View Slide

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

    View Slide

  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
    条件付き期待値の推定︓シンプルなケース

    View Slide

  9. 9
    Ø | = , = の推定
    Ø 回帰分析は不要
    Ø 使うこともできる
    Ø 回帰モデル︓ |, =!
    + "
    + #
    + $

    パターン A L 各層のYの平均 回帰分析による推定
    1 0 0 120 !
    2 0 1 140 !
    + "
    3 1 0 110 !
    + #
    4 1 1 120 !
    + #
    + "
    + $
    完全に⼀致
    条件付き期待値の推定︓シンプルなケース

    View Slide

  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つのを設定する
    ことで任意の値を
    とれる
    条件付き期待値の推定︓シンプルなケース

    View Slide

  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 !
    + #
    + "
    ⼀致しないことが多い
    条件付き期待値の推定︓シンプルなケース

    View Slide

  12. 12
    Ø (線形)回帰モデルを使うとは・・・
    Ø 変数間の関係性を単純化してYの条件付き期待値を推定
    Ø ロジスティック回帰の場合︓logit(Pr[Y=1|A,L])を推定
    Ø モデルの仮定
    Ø Saturated modelはモデルの誤設定の影響を受けない
    Ø ではなぜパラメトリックモデルを使うのか︖
    回帰分析を使った条件付き期待値の推定

    View Slide

  13. 13
    1. 次元の呪い(Curse of Dimensionality)
    Ø ⼆値変数AとL1を条件付け: 2*2 = 4通りの層
    Ø Lが10個: 2*210=2048通りの層
    Ø 組み合わせが多すぎる
    パラメトリックモデルを使う理由
    Ø A=5のデータは無い
    Ø 連続変数がとりうる全ての
    値で層を考えるのは不可能
    2. 連続変数の条件付け
    Ø [| = 5]

    View Slide

  14. 14
    1. 掛け算項の消去
    Ø 例︓ |, "
    , #
    =!
    + "
    + #
    "
    + $
    #
    Ø A, L1, L2は⼆値変数
    Ø A*L1
    , A*L1
    , L1
    *L2
    , A*L1
    *L2
    が含まれていない
    Ø 特にAを含む掛け算項の消去はConstant Effectを仮定
    パラメトリックモデルの仮定
    2. 連続変数に対するFunctional form
    Ø 例︓ = !
    + "

    Ø 線形性を仮定
    Ø 柔軟なFunctional formも
    Ø ⼆次関数, Splineなど

    View Slide

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

    View Slide

  16. 16
    重回帰分析
    A Y
    L
    A Y
    L
    Ø Lの条件付け(Lの値が同じ集団を⾒る)に
    基づく
    Ø 例︓ |, =!
    + "
    + #

    Ø "
    はConditional Effect
    Ø A*Lをモデルから除去
    (Lによる効果修飾がないという仮定)
    Ø (仮定が正しければ)Conditional = Marginal
    効果修飾をいれたモデルを使ってMarginal Effectを推定したい
    標準化

    View Slide

  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

    View Slide

  18. 18
    標準化
    Ø が複数のとき
    Ø 例︓年齢・性別・喫煙を調整
    Ø = →「50歳男性喫煙者の集団」など
    ' − '∗
    = 5
    (
    '| = − '∗
    | = ∗ =
    = 5
    (
    | = , = − | = ∗, = ∗ =
    = における効果 標的集団における = の割合
    回帰モデルから得た = における
    効果の推定値

    View Slide

  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推定

    View Slide

  20. 20
    傾向スコア(Propensity Score)
    Ø = =
    Ø あるLの組み合わせの⼈が曝露をうける(A=1)確率
    Ø Lの条件付けでExchangeability→PSの条件付けでOK
    Ø PSが同じ集団ではLの分布が等しい
    ⾮曝露群
    曝露群
    ⾮喫煙者
    喫煙者
    Ø 曝露群の⽅が喫煙者が多い(交絡)
    Ø PSが同じグループでは喫煙者の割合に群間差がない
    PSが同じ⼈たち

    View Slide

  21. 21
    傾向スコア(Propensity Score)
    Ø 傾向スコアの推定
    Ø 曝露に対するロジスティック回帰など
    Ø 曝露モデルに対する仮定
    使い⽅2. アウトカムモデルで条件付け
    Ø |, =!
    + "
    + #

    Ø Lの代わりにPSを条件づける
    Ø PSのfunctional form&PSによる効果修飾に対するモデルの仮定
    Ø (PSが同じ⼈における)Conditional Effect
    使い⽅1. 層化(Stratification)
    Ø PSが似たような値をとる集団(層)内でアウトカム群間⽐較
    Ø (各PS層における)Conditional Effect
    ではどのように「PSが同じ⼈たちの⽐較」をするか︖

    View Slide

  22. 22
    傾向スコア(Propensity Score)
    使い⽅3. マッチング
    Ø PSが同じような曝露・⾮曝露の個⼈の
    ペアを作る
    Ø マッチされたサンプルではPSの”分布”が群
    間で同じになる
    Ø vs. 条件付け
    Ø マッチされたサンプル(が代表する集団)
    における(ある種のmarginalな)効果
    A Y
    L

    View Slide

  23. 23
    逆確率重み付け(IPTW)
    A Y
    L
    Ø 傾向スコア(っぽいもの)を使った重み付け
    Ø Pr =
    Ø A=0の⼈は Pr = 0 = 1 −
    Ø ウェイト︓ "
    ./[1+'|3]
    または ./[1+']
    ./[1+'|3]
    Ø コピー⼈間を作成&Pseudo-population
    Ø L→Aの⽮印が消える

    View Slide

  24. 24
    逆確率重み付け(IPTW)
    A Y
    L
    Ø Pseudo-populationでアウトカムモデル
    Ø Lの条件付けは不要
    Ø 56
    | =!
    + "

    Ø (⼆値曝露なら)モデルの誤設定なし
    Ø Marginal Structural Modelのパラメータ推定
    Ø 標準誤差の過⼩推定に注意︕
    Ø ロバスト分散またはブートストラップ
    Ø 集団全体における効果(Marginal Effect)
    Ø ある変数Vによる効果修飾(V層のConditional Effect)も推定可能
    Ø ウェイト・アウトカムモデルにVが⼊る

    View Slide

  25. 25
    アウトカムモデル vs 傾向スコア
    1. モデルの設定
    Ø アウトカムvs曝露モデル
    Ø PSは共変量バランスでモデルチェック可能
    Ø 係数の解釈が不要
    2. Positivity違反 (a.k.a., off-support)を予防
    Ø マッチングのペアなし、IPTWのSEが極端に⼤きい・・・
    Ø アウトカムモデルでは気づきにくい (model extrapolation)
    3. レアアウトカム (&⾮レア曝露)
    Ø たくさん共変量調整をしても推定が不安定にならない
    4. 誠実な解析
    Ø すべてのモデル作りの意思決定が終わった後にアウトカムの確認
    Ø P-hacking予防

    View Slide

  26. 26
    Doubly-robust Estimation
    Ø 標準化・IPTW → どちらもmarginal effectを推定可能
    Ø 標準化︓アウトカムモデル
    Ø IPTW︓曝露モデル
    Ø モデルの誤設定がなければ⼀致
    Ø Doubly-robust Estimation
    Ø アウトカムモデル・曝露モデルのどちらか少なく
    とも⼀⽅が正しければよい
    Ø TMLEなど

    View Slide

  27. 27
    Ø 重回帰分析
    Ø 標準化
    Ø 傾向スコア(層化・調整・マッチング)
    Ø 逆確率重み付け(IPW)
    Step 1: Causal Estimand(誰における効果︖)
    Step 2: Identification(効果識別のための仮定)
    Step 3: Estimation(モデルの仮定)
    結局どれがいい︖
    もし異なる推定結果が得られたら︖
    「因果効果への道」(Causal Roadmap)

    View Slide

  28. 28
    曖昧に定義された
    ⺟集団
    サンプリングに基づく
    ⺟集団への推論
    Conditional Ø 重回帰分析
    Ø 傾向スコア(層化・調整)
    Marginal Ø RCT
    Ø 傾向スコアマッチング
    Ø IPTW
    Ø g-formula
    Ø 調整変数による効果修飾があるか︖
    Ø ⺟集団間の修飾因⼦の分布の違い
    Ø 推定値が⼀致しない
    Ø 異なるクエスチョンに答えているだけ
    Ø Kurth et al, AJE (2006)
    Step1. 誰における効果︖
    Ø チェックポイント1︓⺟集団
    Ø チェックポイント2︓Marginal? Conditional?

    View Slide

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

    View Slide

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

    View Slide

  31. 31
    アウトカムモデル 曝露モデル
    RCT Ø なし(モデル化することも) Ø なし
    重回帰分析 Ø あり Ø なし
    傾向スコア層化 Ø なし Ø あり
    傾向スコア調整 Ø シンプル(PSのみ調整) Ø あり
    傾向スコア
    マッチング
    Ø なし Ø あり
    Ø 誤設定チェックしやすい
    g-formula Ø あり Ø なし
    IPTW Ø シンプル(Marginal Structural Model) Ø あり
    Ø 単時点での曝露の場合(vs. time-varying exposure)
    Ø 異なるモデルの仮定
    Ø 仮定が違えば答えも違う
    Ø Saturated modelならIPTWとg-formulaの答えは完全に⼀致
    Step3. モデルの仮定

    View Slide

  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. モデルの仮定︖

    View Slide