DIDにおける傾向スコア適用方法(傾向スコアを用いてDIDの仮定を満たす方法)

最初に

今回で2回目の記事投稿となります。今回も前回と同様に扱う手法としてはDID(Differrence-in-differences)を扱います。
今回扱う内容は前回同様、論文を基にしています。そこまで新しい論文ではないのですが、読んでみて個人的に面白かったので記事にしてみました。
DIDにおいて最も重要な仮定として、平行トレンド仮定というものがあります。詳しい説明は割愛しますが、介入群と対照群において、介入がなかった場合の時系的な変化が同一トレンドをたどるという厳しい仮定になってきます。この仮定を置くことによって、差分の差分をとることで介入の効果を推定できるというのが、DIDの特徴であります。観察データなので、データの入手難易度が低い、交絡因子を観測できてなくてもよいのでその部分でも、データ入手難易度が低いと言われていますが、後者に関しては完全な平行トレンド仮定を満たす場合というのは、ほぼほぼないという個人的な意見があり、DIDにおいてなんらかの補正を加え、平行トレンド仮定を満たす必要があるのではないかと思っております。なので、交絡因子(変数)を観測できてなくても良いというのは無理がある(補正に交絡変数を使用する)と思っております。
ただ、確度の高い効果推定という意味であれば、できる限り平行トレンドに近いものを持っている対照群を選ぶことで、単に効果推定を行うよりは、ある程度確度の高い効果推定を行えると考えられるので、ビジネス的には許容されるのかなとは思っています。ですが、因果推論を行うモチベーションとしては限りなく確度の高い効果推定を行うことによって、正しい意思決定を行うというものなはずです。であるならば、なるべく平行トレンドに近しい対照群を選び、DIDを行うではなく、きちんと補正を加えて限りなく確度を高めたDIDを行う必要があるはずだというのが、私の意見です。
つらつらと個人的な意見を述べましたが、今回記事にしたものは、傾向スコアをDIDで用い、平行トレンドを満たすように補正を加えてDIDをしようというもので、確度を高めたDIDを行うという意味では、有用な手法だなと個人的に感じたので紹介しますといった感じです。

www.ncbi.nlm.nih.gov

傾向スコアをどう使う?

潜在的結果の枠組み

gについて、時点p (p=0,1; 0は介入前、1は介入後) での介入状態E (E=0,1; 0は非介入、1は介入) における潜在的結果をY_E(g,p)と表します。例えば、Y_0(g,1)は群gが時点1で非介入の場合に観測されるであろう結果を表します。なぜ潜在的結果と呼ぶのかというと、もし介入を行った場合は、非介入の結果Y_0(g,1)は知ることのできない潜在的な結果ということになります。逆に介入を行わなかった場合、Y_1(g,1)は知ることのできない潜在的な結果です。本当のところY_1(g,1)-Y_0(g,1)が本当は知りたいわけです。

ATTの定義

介入群における介入の効果の平均をATT(Average Treatment Effect on the Treated)と呼びます。 ATTの定義は以下の通りです。

ATT = \mathrm{E}[Y_1(1) - Y_0(1) | D = 1]
これは、介入群D=1において、介入後(時点1)に介入を受けた場合の潜在的結果(Y_1(1))と、介入を受けなかった場合の潜在的結果(Y_0(1))の差の平均を表しています。

グループの定義

今回の傾向スコアを用いたDIDでは、4つのグループ分けを行います。

次のようにグループ変数Gを定義します。
G=1(時点0の非介入群)
G=2(時点1の非介入群)
G=3(時点1の介入群)
G=4(時点0の介入群)

標準的なDIDモデル

通常、DIDモデルでは次のような回帰モデルを使用します。

Y_{gt} = \alpha + \beta_D D_g + \beta_P P_t + \delta (D_g \times P_t) + u_{gt}
ここで、\deltaがDID推定量であり、2群間の時点間差分の差に相当します。

共変量の集合Xで条件付けた上での平行トレンド仮定

DIDモデルでは、次の平行トレンドの仮定が成り立つことを前提とします。

\mathrm{E}[Y_0(1) - Y_0(0) | X, D = 1] = \mathrm{E}[Y_0(1) - Y_0(0) | X, D = 0]

]

この仮定は、共変量Xを所与とした場合、非介入下での結果の時点間差分が、介入群と非介入群で等しいことを意味します。

4つのグループのバランスを取るための傾向スコアの重み付け

4つのグループ(G = 1, 2, 3, 4)のバランスを取るため、各群に次のような重みを割り当てます。
w_g = \frac{e_1(X_g)}{e_k(X_g)} \text{ if } g \text{ is in group } k.
ここで、e_k(X_g)は、群gが共変量X_gを持つ下でグループkに属する確率(傾向スコア)です。この重みは、各グループをグループ1の共変量分布に類似させます。 これは、時点0の介入群(グループ1)について、その共変量分布の下で、時点1において介入を受けた場合と受けなかった場合の潜在的結果の差の平均を算出させようという考えということです。

ATTの分解

4つのグループに傾向スコアの重みを適用することで、ATTを次のように分解することができます。

\Delta_{G=1} = \mathrm{E}[Y|G=1] - \mathrm{E}_{X|G=1}\mathrm{E}[Y|G=2, X=x]
+ \mathrm{E}_{X|G=1}\mathrm{E}[Y|G=4, X=x] - \mathrm{E}_{X|G=1}\mathrm{E}[Y|G=3, X=x]

この分解式の右辺の各項は、グループ1の共変量分布の下での、各グループの結果の期待値を表しています。

傾向スコアによる重み付きDIDのATT

上記の分解式の右辺の各項は、傾向スコアの重みを用いて次のように一致推定量を得ることができます。

\mathrm{E}_{X|G=1}\mathrm{E}[Y|G=k, X=x]=\mathrm{E}\left[\frac{e_1(X)}{e_k(X)}Y|G=k\right], \text{ for } k=2,3,4

したがって、重み付きDIDモデルを用いて、次のような回帰モデルを推定することで、ATTを一致的に推定することができます。

Y_{gt} = \alpha + \beta_E E_g + \beta_P P_t + \delta (E_g \times P_t) + u_{gt}, \text{ with weights } w_g
ここで、\deltaが重み付きDIDモデルによるATTの推定量となります。

回帰式自体は従来のDIDの回帰式となんら変わってないですよね。これは導出した重み観測値に掛けたものを使用して係数を推定するため、回帰式自体は変わってないだけです。 重み付けによって、重みが大きい観測値はモデルにより大きな影響を与え、重みが小さい観測値はモデルにより小さい影響を与えるようになります。

重み付き回帰モデルでは、各観測値に重みw_gを乗じて、次のように目的関数を最小化することで係数を推定します。
\min_{\alpha, \beta_E, \beta_P, \delta} \sum_{g,t} w_g (Y_{gt} - (\alpha + \beta_E E_g + \beta_P P_t + \delta (E_g \times P_t)))^2
一方、重みなしの通常の回帰モデルでは、すべての観測値に等しい重み($w_g = 1$)が割り当てられていると考えることができます。 したがって、重み付き回帰モデルでは、重みによって各観測値の影響力が調整され、その結果、推定される係数の値が変化します。特に、関心のあるATTの推定値である\deltaは、重みによって交絡因子の影響を調整した上で推定されることになります。

最後に

傾向スコアによって作成した各該当の重みを各観測値に掛けることによって、平行トレンドを満たす(交絡因子の調整された)データを作成。それを用いて従来のDIDにおける回帰分析の係数を予測するので、より確度の高いDIDによる効果推定が行えると考えると結構いい手法なのではないかと個人的には感じた次第です。前の記事でも書きましたが、記事を書くことも初心者ですし、統計に関しても初心者なので、間違っている部分などあれば、優しく教えてくださると幸いです。
DIDについてもっと詳しく知りたいな...