G-estimationって聞いたことありますか?
因果推論の手法なのですが、おそらく知らない方がほとんどだと思います。
それで問題ないし、使いこなすのはとても難しい概念です。
IPWと並ぶ、time-varying confounder/ covariateの調整に使う方法なのですが・・・
もしかして興味ある方がいるかも、と思い、この記事で解説します。
Contents
G-estimationのコンセプトを簡単に理解する
G-estimation。
臨床研究や疫学のlectureで、ごくたまに目にすることがあるかもしれません。
はっきり言ってG-estimationを使って論文を書ける人は、世の中にほとんどいません。
(自分も書いたことありません)
なのではっきり言って、ほとんどの方が知らなくて良い知識です。
でも、応用すべき状況もあります。
興味のある方のために。
この記事ではG-estimationのコンセプトを解説します。
*以下、exposure: A, outcome: Y, confounders: Lです。簡便のため、AとLは0-1の変数(dichotomous)、Yは連続変数とします。
Structural nested model (SNM)
いきなり難しそうな単語が出てきましたが、これは単純です。
「conditional causal effectを直接算出する式」の事を言います。
*conditionalとは、「confounder (L)がある値の場合に」という意味で、数式では「|L」でした。
SNMとは、
E[Ya – Ya=0 | A=a, L=l] = β1a +β2aL
ということなのですが、、、
小文字が定数(0とか1とか)なので、aを1とすると、
E[Ya=1 – Ya=0 | A=1, L=l] = β1 + β2L
となるわけです。
conditional causal effectとは、まさにこの左辺。
Lに依存するわけですが、これこそがeffect modificationというわけです。
・L=0ならβ1
・L=1ならβ1 +β2
ですからね。
*effect modificationについてはこの記事参照
ちなみにaを0とすると右辺も左辺も0になりますね。
以下、更に簡略化して、effect modificationは無いと考えてやってきます。
つまり、
E[Ya – Ya=0 | A=a, L=l] = β1 * a
というSNMを考えます。
求めたいのはconditional causal effect = E[Ya=1 – Ya=0 | A=1, L=l] = β1
です。
G-estimation: 5つのステップ
ステップ1:全員に対し同じ効果がある、という強い推定をする
constant treatment effect、と言います。
本当はG-estimationには必要のない推定なのですが、これを導入すると理解が簡単です。
実際求めたいのは「Ya=1 – Ya=0 | A=a, L=l」の平均ですが、全員に同じcausal effectがあるという推定です。
全員に対し、
Ya – Ya=0 =ψ1 * a
ということです。
*ψ1は定数。求めたいβ1を意味します。
ステップ2:式を変形
Ya – Ya=0 = ψ1 * a
を
Ya=0 = Ya – ψ1 * a
としました。
ステップ3:consistencyを用いる
実際に観測されているAはaなので、上の式は「| A=a」なわけです。
つまり、exposureであるAがa(定数、0か1)だと観察されている場合の、「Ya=0 = Ya –ψ1 * a」というわけです。
Ya はcounterfactualですが、aは実際に観察されている値なので、Ya = Y(consistency)ですね。
...詳しくは、Ya | A=a = Y | A=a
ということで上記式は、
Ya=0 = Y – ψ1 * A
となります。
ステップ4:もしψ1 の値を知っていたとしたら・・・?
ψ1 は求める対象ですが、もし知っていたとしたら。
Ya=0 = Y – ψ1 * A の右辺を、それぞれの参加者に対して計算できますね。
左辺はcounterfactualなので、それが計算できてしまうなんて驚きですね。
(constant treatment effectと、もしψ1 の値を知っていたとしたら、という大きな2つの推定に基づいているからです)
次のステップで、色々な「potential ψ1 」の値をテストするので、
それぞれの「potential ψ1 」に基づく右辺の計算結果をH (ψ)とします。
つまり、H (ψ) = Y – ψ1 * A
で、
色々なψのうちの一つが、真実のψ1 だというわけです。
ステップ5:Aを従属変数とするモデルでテストする
Logit Pr [A=1 | L, H (ψ)] = γ0 + γ1* H (ψ) + γ2*L
というモデルです。
解説すると、
・左辺はLとH (ψ)が一定とした場合にA=1である確率を推定する、ということ。
・右辺は、単純にLとH (ψ)をlinearにつなげているだけ。
ここで、もしψが本当のψ1だったら、H (ψ) = Ya=0 となるのでした。
さらに、conditional exchangeabilityから、
Ya || A, L
なのでした。
*conditional exchangeabilityはこの記事参照。
この意味は、Lが一定だとした時に、counterfactual outcome (Ya)とexposure (A)は独立だということ。
独立というのはバラバラに動くということなので、
Logit Pr [A=1 | L, H (ψ)] = γ0 +γ1* H (ψ) +γ2*L
の
「γ1」は0になるはず!!!
ここがみそです
つまりたくさんのψでH (ψ) を計算し、それぞれを上のモデルに当てはめて、γ1 = 0に一番近くなった場合こそが、ψ=ψ1 と言えるのだ!!!
***********
以上です。
最低限、因果推論に関する基本を知っていることが前提なので、意味不明な箇所があったら、是非基本にかえりましょう。
ではまた。