Unboundedly

統計的因果推論・疫学についてのお話

時間によって変化する因子(Time-varying Treatment)の効果推定:なぜ必要か?

今回は曝露(Exposure)・治療因子(Treatment)が時間によって変化する時、複数時点での曝露・治療が与える効果を推定するための方法や考え方についてまとめます

一般に「因果推論」の文脈で扱われるのは、ある一時点で測定された治療因子の効果推定がほとんどです。

今回ご紹介するアプローチを知れば、統計的因果推論で扱える「クエスチョン」の幅がかなり広がるのではないでしょうか。

実際に用いる統計的手法は結構テクニカルなのでここでは詳しく解説しません。

なぜこのような特別な手法が必要なのか、モチベーションや基本的な考え方などを中心にまとめようと思います。

f:id:KRSK_phs:20210131161429j:plain

疫学特有の因果推論

本ブログではこれまで因果推論に関して多くの記事を書いてきました。

私の専門は疫学ですが、因果推論自体は疫学以外にも様々な学術領域で発展してきました。

コンピューターサイエンス、統計学、経済学、政治科学*1など各領域で因果推論の手法開発をリードしてきたスター研究者がいます。

疫学におけるリーダーは誰か、と疫学者に問えば多くの人がJames Robinsの名前を挙げるのではないでしょうか。

間違いなく因果推論・疫学研究の手法全般に最も影響を与えた人物の1人です。

非常に多くの手法開発に関わってきたRobinsですが、その中でも彼の功績として有名なのが今回ご紹介する「時間によって変化する治療因子(Time-varying Treatment)」の効果推定のための方法論です。

(本ブログで扱ってきた内容も含めて)巷にある因果推論のための手法・話題は、単時点で測定された治療因子がアウトカムに与える効果の推定に関するものばかりです。

それに対して、Time-varying Treatmentの分析では複数時点から測定された治療因子を扱います。

このアプローチ、疫学研究・臨床医学研究では近年多く使われるようになってきていますが他の分野で応用されることはまだ非常に稀です。

しかし、疫学に限らず幅広いテーマに応用可能な(そして応用されるべき)手法だと私は考えます。

なぜそう考えるのか、「時間によって変化する治療因子」の効果推定のためのアプローチを応用すべき理由・モチベーションから説明していきます。

なぜ「時間変化する治療因子」か?

因果推論では対応する「介入」を考える

観察データを用いて因果推論をするときには、効果を推定している治療因子に対応する「介入」が何かを考えることが推奨されます

対応する介入が曖昧な場合は因果推論のための重要な仮定の一つであるConsistency (あるいはSUTVAと呼ばれることも)が成立しなくなります。

また、対応する介入が定まればそれを検証するための理想的なRCT(Target trial)をイメージすることもできます。

Target trialのデザインを考えることでいくつかのバイアスを未然に防ぐことができるということは以前ご紹介しました。

議論をシンプルにするために、以下ではConsistencyの問題などは考えなくてよいものとします。

「単時点の治療」に対応する介入効果とは?

単時点での治療因子のデータを使って因果推論を行った結果、得られた推定値の解釈はどのようになるのでしょうか。

因果推論の基礎となる反事実アウトカムモデルでは、次のように平均因果効果が定義されます。

 E[Y_{a=1} - Y_{a=0}]

「仮に 全員が治療を受けていたときのアウトカムの期待値( E[Y_{a=1} ])と仮に全員が治療を受けなかったときのアウトカムの期待値( E[Y_{a=0} ])の差」

という解釈になります。

「仮に治療を受けていたら」というのは、「仮に(データ上で治療因子が測定された一時点において)治療因子の値を変える介入を行ったら」と言い換えてもよいでしょう。

これは見方を変えると「(ある一時点において)治療因子に対する介入を行って、その後の治療因子に対してはなにも介入をしない(ほったらかし)」効果と解釈することもできます。

医学研究の例を考えます。

ある一時点(ベースライン)で薬Aを飲んでいる人と飲んでいない人について、背景因子Cを傾向スコアなりなんなりで調整してその1年後の健康状態Yを比較したとしましょう。f:id:KRSK_phs:20180707130422p:plain

このような分析デザインで得られる「効果」の推定値は「ベースラインだけ全員が薬を飲む・飲まないような介入をして、その後はほったらかしたときの1年後の健康状態の差/比」と解釈されます。

ベースラインで介入を受けて薬を飲んだ人がその後飲まなくなる(その逆も)というケースが発生しますが、そういうのは無視するというわけです。

 Time-varying treatmentの分析をするモチベーション

治療因子について、単時点からの情報のみ扱うのではなくTime-varying Treatmentとして複数時点で測定・分析すべき状況は大きく三つあります。

  1. 「複数時点での介入」の効果を推定する方が臨床的・実務的に意義のある場合
  2. 治療因子の時間変化が大きい場合
  3. 媒介分析
1. 「複数時点の介入」効果

Time-varying Treatmentの分析を行うことで、現実に即した(実務的に意義深い)介入の効果を推定できるかもしれません。

例えば先ほどの医療の例を考えてみましょう。

実際の医療の現場では一度だけ介入して終わり、ばかりではありません。

何度も繰り返し継続して治療を行っていくケースは少なくないでしょう。

Time-varying Treatmentとして治療因子を分析することで、このような現場のリアリティを反映した「複数時点での介入」の効果を推定することができます。

治療因子が二時点で測定された場合(時点0での治療 =  A_0、時点1での治療 =  A_1)を例に説明しましょう。

f:id:KRSK_phs:20210131131749p:plain

Time-varying Treatment分析のフレームでは次のような反事実アウトカムを考えます。

 E[Y_{a_0,a_1} ]

通常の因果推論で推定している反事実アウトカム( E[Y_a ])と比べると、考えている介入が二つに増えていることがわかりますね。

治療因子 A_0, A_1がどちらも二値変数だとすると2*2=合計4種類の反事実アウトカムが推定できます。

  1.  E[Y_{a_0=0,a_1=0} ]: 仮に二時点とも治療なしだったときの反事実アウトカム
  2.  E[Y_{a_0=1,a_1=0} ]: 仮に時点0では治療あり、時点1では治療なしだったときの反事実アウトカム
  3.  E[Y_{a_0=0,a_1=1} ]: 仮に時点0では治療なし、時点1では治療ありだったときの反事実アウトカム
  4.  E[Y_{a_0=1,a_1=1} ]: 仮に二時点とも治療ありだったときの反事実アウトカム

これら4つの反事実アウトカムを比較して、「効果(=異なる反事実シナリオ下のアウトカムの差・比)」を定義することが可能です。

例えば、 E[Y_{a_0=1,a_1=1} - Y_{a_0=0,a_1=0}]、つまり「ずっと治療ありvs.ずっと治療なし」の比較をすることで、「複数時点の治療・介入」の効果を定量化が可能です。 

 a_0, a_1に何を当てるかで様々なリサーチクエスチョンに答えることができます。

  • 時点0&1で同じ治療因子→「治療を『継続』したときの効果」
  • 時点0&1で異なる種類の治療因子(例:時点0で手術、時点1で投薬)→「異なる治療を『組み合わせた』ときの効果」

といった具合です。

また各時点で治療因子の値を固定する(例;「ずっと治療あり」)場合*2だけでなく、最初の介入への反応をみながら次の時点での介入の内容を決める*3といったパターンも検討することが可能です。

つまり「まずは薬Aを使って、その後の検査の数値が一定値より高ければ薬Bに切替、低ければ薬Aをそのまま使用」という治療方針の効果が検証可能ということです。

このように、単時点の治療因子を見るだけでは検討することができない(より実務的に重要な)「仮想的な介入」の効果を検討できるのがTime-varying Treatment分析の強みだと思います。

2. 治療因子の時間変化が大きい

「複数時点での介入」に特別興味があるわけではない場合でも、注目している治療因子が時間によって大きく変化するときはTime-varying Treatmentのフレームでの分析が有効です。

例えば「喫煙者の集団において禁煙がメンタルヘルスに与える影響」を考えたいとしましょう。

通常は、次のような分析をするのではないでしょうか。

  1. 喫煙者のサンプルに対して、ある単時点で「禁煙をはじめたかどうか」のデータを収集
  2. データ収集時に「禁煙をはじめた人」と「禁煙していない人」でその後のメンタルヘルスを比較(もちろん交絡など調整したうえで)

f:id:KRSK_phs:20210131141330p:plain

このような単時点での「禁煙」を分析したときに推定される効果は、前述したように「(データ収集時に)全員禁煙させるvs.させない介入(そしてその後ほったらかした)」の比較で定義されます。

しかし考えてみれば、最初に「禁煙をはじめた人」のなかには後に禁煙継続に失敗して再び喫煙者になった人もいるでしょう

同様に最初「禁煙していない人」のなかには後に考えが変わって禁煙をはじめるという人がいるかもしれません。

 f:id:KRSK_phs:20210131141538p:plain

このように治療因子が時間によって変化するとき(そしてその時間変化の程度が大きいとき)、単時点の治療因子のみを評価した分析は注意が必要です。

なぜならベースラインからアウトカム評価までの追跡期間中に両群がうける「治療歴(曝露歴)」が(時間変化が大きければ大きいほど)似通ったものになってくる可能性があるから。

禁煙群のなかに本来は比較対象である「喫煙者」が入ってくる(その逆も同じ)わけですから、ベースラインの禁煙状態に基づいて比較した場合はその群間差は小さくなりそうです

群間差がないことをもって「禁煙のメンタルヘルスに対する効果はない」という結論が導かれることもあるかもしれません。*4

しかし、ここでいう「喫煙の効果」というのは「一時点だけの禁煙介入の効果」にすぎません

禁煙をもし「継続」させることができたらメンタルヘルスへの影響もあるかもしれないですよね。

ある意味、「禁煙効果」が過小評価されてしまっているわけです。

このように分析デザインに対応する介入がイメージできていないために、「効果がない(あるいは」という曖昧な解釈をして重要な介入ターゲットを見逃してしまっていることは疫学研究に限らず非常に多いと思います

Time-varying Treatmentの分析をして「ずっと禁煙vsずっと喫煙」の比較をすると異なる結論が得られるかもしれませんね。

ちなみに、お気づきの方もいるかもしれませんがこれはRCTにおける割付へのアドヒアランス問題と似ています。

そして、その問題を解決するためにTime-varying Treatment分析をするのはper-protocol効果の推定と通じるものがあります。

以下、関連文献です。

3. 媒介分析

媒介分析(Mediation Analysis)にもTime-varying Treatmentの考え方は使われています

媒介分析については以前詳しくまとめました。

媒介分析には大きく分けてControlled Direct Effect (CDE)を推定するアプローチとNatural Direct Effect (NDE)/Natural Indirect Effect (NIE)を推定するアプローチの2通りがあります。

定義は以下の通り。

  • CDE(m)= E[Y_{a=1,m}-Y_{a=0,m} ]
  • NDE= E[Y_{a=1,M_0} - Y_{a=0,M_0}]
  • NIE= E[Y_{a=1,M_1} - Y_{a=1,M_0}]

それぞれ Y_{a,m}, Y_{a,M_a*}という反事実アウトカムを考慮しています。

詳しい解釈などは上記の過去記事を参照していただくとして、ここで重要なのは扱っている反事実アウトカムがまさにTime-varying Treatment分析と同じであるということです。

言い方を変えると、媒介分析では中間因子を別の治療因子とみなしてTime-varying Treatment分析のフレームを使っているわけです。*5

このあたりは媒介分析の教科書か、次の論文が参考になります。

なぜ難しいのか?

これまでTime-varying Treatmentの分析が重要な理由を説明しました。

では実際にどのように分析していけばよいのでしょうか?

冒頭触れたようにRobinsはそのための手法開発に研究エフォートの多くを割いています。

当たり前ですが、わざわざ手法開発が新たに必要なのは従来の方法で簡単に分析することはできないからです。

なぜTime-varying Treatmentの分析は難しいのでしょうか?

時間依存性交絡のジレンマ

次のようなDAGを考えてみましょう。

f:id:KRSK_phs:20210131151110p:plain

先ほどと同じ禁煙とメンタルヘルスの例を使います。

L1は禁煙状況が測定される時点の中間で測定されたストレスです。

禁煙をするとストレスがたまるのでA0->L1の矢印がのびていますし、ストレスがたまると喫煙したくなるのでL1→A2の矢印が伸びています。

また、ストレスはメンタルヘルスにも直接影響しますのでL1→Yの矢印もあります。

以下、DAGの基本的なルールを知っていることを前提に書きますので分からない方はこちらの記事を参照ください。 

ここで E[Y_{a_0=1,a_2=1} - Y_{a_0=0,a_2=0}](ずっと治療ありvs.ずっと治療なし)の効果を推定したいとしましょう。

例えばこのDAG上ではA0に入ってくる矢印がありませんので、(DAGが正しいと仮定すると)時点0での交絡はないと考えることができます。

そこで次のようなシンプルな回帰モデルを使って効果推定をしたとしましょう。

 E[Y|A_0,A_2] = \beta_0 + \beta_1A_0 + \beta_2A_2

このモデルでは E[Y_{a_0,a_2}]をうまく推定することができません。

なぜならL1がA2の交絡因子となっているにも関わらず調整されていないからです。

f:id:KRSK_phs:20210131153126p:plain

では次の回帰モデルはどうでしょうか?

 E[Y|A_0,L_1,A_2] = \gamma_0 +\gamma_1A_0 +\gamma_2L_1 +\gamma_3A_2

今度はL1が調整されているのでA2の効果が正しく推定できていそうですね。

しかし新たな問題が発生します。

L1はA0がYに与える効果の中間因子である(A0→L1→Y)ため、回帰モデルを用いて条件づけてしまうとA0の効果の一部がブロックされてしまい過小推定になります。

f:id:KRSK_phs:20210131153512p:plain

つまり条件付けしなくてもダメ、条件付けしてもダメというジレンマに陥るわけです。

このL1のような「過去の治療に影響を受ける、将来の時点の治療の交絡因子」のことを時間依存性交絡(Time-dependent Confounder)と呼びます。

そして時間依存性交絡が存在すると条件付けに基づく従来の手法(例:重回帰分析)では対応できなくなってしまいます。

解決策は・・・

Robinsはg-methodsと呼ばれる一連の手法を開発して時間によって変化する治療因子の効果推定を可能にしました。

g-methodsには、

  • g-formula/g-computation
  • Inverse probability weighting of marginal structural model
  • g-estimation of structural nested mean model

が含まれます。

g-methodsのイントロ論文はこちら。

2番目のinverse probability weightingは逆確率重み付けとして単時点の解析でも傾向スコアの文脈でよく知られていると思いますが、time-varying treatmentにも応用できます。

各手法の詳しい解説は次の機会にしたいと思いますが、基本的に単時点の解析との違いは次のような点にあります。

  1. 識別のための仮定がより強くなる
  2. 設定すべきモデルの数が増える&複雑になる

1については各時点の治療因子に対してExchangeabilityの仮定が必要になる、とイメージしてください。

2についてはDoubly-robust推定や機械学習の応用で多少は対応可能ですが、やはり難しくなります。

機械学習の応用については教科書かこちらの論文が参考になります。

まとめ

疫学における因果推論において特徴的な考え方であるTime-varying Treatmentの効果推定について、そのモチベーションや難しさについて整理しました。

そのうちg-methodsについてもまとめたいと思います。

非常に多くの面白いクエスチョンに答えることができるポテンシャルをもった分析アプローチだと思うのでぜひ他の分野でも使われるようになってほしいと願っています。

 

*1:日本人のKosuke Imai先生が有名ですね。素晴らしいです

*2:static regimenと呼ばれます。

*3:dynamic regimenと呼ばれます。static regimenの推定よりも複雑になります。

*4:Absence of evidence is not evidence of absenseです。ちなみに。

*5:NDE/NIEの推定はややトリッキーなのですが、ここではその話題は割愛します。