
7/ 傾向スコア
個体\(i\)に対する処置を\(D_i\) \(\in\) {0, 1}とし、潜在的結果(Potential Outcomes)を\(Y_i(1)\)および\(Y_i(0)\)と定義
因果推論における推定対象(estimands)
因果推論の根本問題(fundamental problem of causal inference)
条件付き独立仮定(Conditional Independence Assumption: CIA)1
\[ \{Y(0), Y(1)\} \mathop{\perp\!\!\!\!\perp} D | X \]
正確マッチング(exact matching)の例
| \(i\) | \(D\) | \(X1\) | \(X2\) | \(Y\) |
|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 |
| 2 | 0 | 3 | 1 | 3 |
| 3 | 0 | 2 | 0 | 2 |
| 4 | 0 | 0 | 1 | 0 |
| 5 | 0 | 2 | 1 | 3 |
| 6 | 0 | 1 | 0 | 3 |
| \(i\) | \(D\) | \(X1\) | \(X2\) | \(Y\) |
|---|---|---|---|---|
| 7 | 1 | 0 | 1 | 3 |
| 8 | 1 | 3 | 1 | 5 |
| 9 | 1 | 1 | 0 | 4 |
| 10 | 1 | 3 | 0 | 6 |
| \(i\) | \(D\) | \(X1\) | \(X2\) | \(Y(0)\) | \(Y(1)\) | ITE |
|---|---|---|---|---|---|---|
| 7 vs. 4 | 1 | 0 | 1 | 0 | 3 | 3 |
| 8 vs. 2 | 1 | 3 | 1 | 3 | 5 | 2 |
| 9 vs. 6 | 1 | 1 | 0 | 3 | 4 | 1 |
| 10 | 1 | 2 | 0 | ? | 6 | ? |
| ATT | 2 |
観察不可能な反事実(「?」)をどう扱うか

| 統制群 | vs | 処置群 |
|---|---|---|
| \(Y\)( 👩 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩 ) |
| \(Y\)( 👨🏿 ) | \(\leftarrow\) 比較 \(\rightarrow\) | ? |
| \(Y\)( 👩🏻 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩🏻 ) |
| \(Y\)( 👨🏻 ) | \(\leftarrow\) 比較 \(\rightarrow\) | ? |
| \(Y\)( 👩🏽 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩🏽 ) |
| \(Y\)( 👨 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👨 ) |
| ? | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩🏿 ) |
| ? | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👨🏼 ) |
推定したモデルに基づき、反事実を作り上げて比較する

| 統制群 | vs | 処置群 |
|---|---|---|
| \(Y\)( 👩 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩 ) |
| \(Y\)( 👨🏿 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(\widehat{Y}\)( 👨🏿 ) |
| \(Y\)( 👩🏻 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩🏻 ) |
| \(Y\)( 👨🏻 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(\widehat{Y}\)( 👨🏻 ) |
| \(Y\)( 👩🏽 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩🏽 ) |
| \(Y\)( 👨 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👨 ) |
| \(\widehat{Y}\)( 👩🏿 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩🏿 ) |
| \(\widehat{Y}\)( 👨🏼 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👨🏼 ) |
すべての因果推論は潜在的結果間の比較
\[ \tau_{\tiny \mbox{ATT}} = \mathbb{E}[Y_i(1) - Y_i(0) | D_i = 1] \]
欠損している(=観察不可能)\(Y_i(0)\)を回帰分析を用いて代入(imputation)する
\[ \widehat{\tau}_{\tiny \mbox{ATT}} = \mathbb{E}[Y_i(1) - \textcolor{red}{\widehat{Y_i}(0)} | D_i = 1] \]
\(\widehat{Y_i}(0)\)の推定方法
完全に比較可能た対象を反事実として使用

| 統制群 | vs | 処置群 |
|---|---|---|
| \(Y\)( 👩 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩 ) |
| \(Y\)( 👩🏻 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩🏻 ) |
| \(Y\)( 👩🏽 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👩🏽 ) |
| \(Y\)( 👨 ) | \(\leftarrow\) 比較 \(\rightarrow\) | \(Y\)( 👨 ) |
次元の呪いにより、マッチングそのものが実行できない場合
職業訓練プログラムを受講すると、受講者の年収は増えるのだろうか
なぜこの結論は間違いなのか
効果がなかったのではなく、比較してはいけない集団を比較していただけ
| 属性 | 受講群(処置群) | 未受講群(統制群) |
|---|---|---|
| 平均年齢 | 若い | 高い |
| 過去の就労経験 | 少ない | 豊富 |
| 受講前の年収 | 非常に低い | 平均的 |
公平な比較をするための適切な反事実(counterfactual; もし受講していなかったら)は「似たもの」
傾向スコア(propensity score)
\[ e_i(X) = \mbox{Pr}(D_i = 1 | X = x) \]
真の傾向スコア\(e(X)\)は未知であるため、観測データから推計値\(\widehat{e}(X)\)を推定
\[ e_i(X) = \mbox{Pr}(D_i = 1 | X = x) = f(\alpha + X^{\prime}\beta) \]
入れるべき変数
入れてはいけない変数
傾向スコアを用いて普遍(unbiased)な因果推計を行うために必要な仮定
結果(応答)変数と処置割当に同時に影響を与える全ての交絡要因(confounders)が観測され、\(X\)に含まれている
\[ \begin{eqnarray} & \{Y(0), Y(1)\} \mathop{\perp\!\!\!\!\perp} D | X & \\ & \Downarrow & \\ & \{Y(0), Y(1)\} \mathop{\perp\!\!\!\!\perp} D | e(X) & \end{eqnarray} \]
すべての共変量の値において、処置を受ける(受けない)確率が正である1 (0や1にならない)
\[ \forall x,\,\,0 < P(D = 1 | X = x) < 1 \]






処置群の個体数が\(k\)等分になるように層を決め、全個体を各層に割り当てる

| 層 | 統制群のn | 処置群のn | 合計 |
|---|---|---|---|
| 1 | 356 | 37 | 393 |
| 2 | 19 | 37 | 56 |
| 3 | 25 | 37 | 62 |
| 4 | 18 | 37 | 55 |
| 5 | 11 | 37 | 48 |
| 層 | 統制群の重み | 処置群の重み |
|---|---|---|
| 1 | \(\frac{429}{185} \times \frac{37}{356}\) = 0.241 | 1.000 |
| 2 | \(\frac{429}{185} \times \frac{37}{19}\) = 4.516 | 1.000 |
| 3 | \(\frac{429}{185} \times \frac{37}{25}\) = 3.432 | 1.000 |
| 4 | \(\frac{429}{185} \times \frac{37}{18}\) = 4.767 | 1.000 |
| 5 | \(\frac{429}{185} \times \frac{37}{11}\) = 7.800 | 1.000 |
統制群の個体数が\(k\)等分になるように層を決め、全個体を各層に割り当てる

| 層 | 統制群のn | 処置群のn | 合計 |
|---|---|---|---|
| 1 | 86 | 1 | 87 |
| 2 | 86 | 2 | 88 |
| 3 | 86 | 7 | 92 |
| 4 | 86 | 20 | 106 |
| 5 | 86 | 155 | 241 |
| 層 | 統制群の重み | 処置群の重み |
|---|---|---|
| 1 | 1.000 | \(\frac{185}{429} \times \frac{86}{1}\) = 37.086 |
| 2 | 1.000 | \(\frac{185}{429} \times \frac{86}{2}\) = 18.543 |
| 3 | 1.000 | \(\frac{185}{429} \times \frac{86}{7}\) = 5.236 |
| 4 | 1.000 | \(\frac{185}{429} \times \frac{86}{20}\) = 1.854 |
| 5 | 1.000 | \(\frac{185}{429} \times \frac{86}{155}\) = 0.239 |
処置群と統制群の個体数の合計が\(k\)等分になるように層を決め、全個体を各層に割り当てる

| 層 | 統制群のn | 処置群のn | 合計 |
|---|---|---|---|
| 1 | 122 | 1 | 123 |
| 2 | 116 | 7 | 123 |
| 3 | 101 | 21 | 122 |
| 4 | 51 | 71 | 122 |
| 5 | 39 | 85 | 124 |
| 層 | 統制群の重み | 処置群の重み |
|---|---|---|
| 1 | \(\frac{429}{614} \times \frac{123}{122}\) = 0.704 | \(\frac{185}{614} \times \frac{123}{1}\) = 37.060 |
| 2 | \(\frac{429}{614} \times \frac{123}{116}\) = 0.741 | \(\frac{185}{614} \times \frac{123}{7}\) = 5.294 |
| 3 | \(\frac{429}{614} \times \frac{122}{101}\) = 0.844 | \(\frac{185}{614} \times \frac{122}{21}\) = 1.750 |
| 4 | \(\frac{429}{614} \times \frac{122}{51}\) = 1.671 | \(\frac{185}{614} \times \frac{122}{71}\) = 0.518 |
| 5 | \(\frac{429}{614} \times \frac{124}{390}\) = 2.221 | \(\frac{185}{614} \times \frac{124}{85}\) = 0.440 |
| 推定対象 | 統制群の重み | 処置群の重み |
|---|---|---|
| ATT | \(\frac{N_\sf{control}}{N_\sf{treat}} \times \frac{N_\sf{k, treat}}{N_\sf{k, control}}\) | 1 |
| ATC | 1 | \(\frac{N_\sf{treat}}{N_\sf{control}} \times \frac{N_\sf{k, control}}{N_\sf{k, treat}}\) |
| ATE | \(\frac{N_\sf{control}}{N} \times \frac{N_\sf{k}}{N_\sf{k, control}}\) | \(\frac{N_\sf{treat}}{N} \times \frac{N_\sf{k}}{N_\sf{k, treat}}\) |
処置効果 = 処置群の加重平均 - 統制群の加重平均
head(my_data, n = 13)## treat y stratum weight
## 1 0 2752 3 1.00000
## 2 1 2164 5 0.23927
## 3 0 6821 4 1.00000
## 4 1 5150 4 1.85431
## 5 0 25514 1 1.00000
## 6 0 15538 4 1.00000
## 7 1 11143 4 1.85431
## 8 0 2282 5 1.00000
## 9 0 14146 1 1.00000
## 10 0 17359 1 1.00000
## 11 0 650 1 1.00000
## 12 0 1454 2 1.00000
## 13 0 6280 2 1.00000
my_data |>
reframe(y = weighted.mean(y, w = weight),
.by = treat)
## treat y
## 1 0 6984.198
## 2 1 6334.135
6334.135 - 6984.198 # 処置効果の点推定値
## [1] -650.063各個体の重み(weight)を計算し、加重平均を使った期待値の差分を計算
「異常なケース」とは?
傾向スコアが高い(= 処置を受ける可能性が高い)にもかかわらず統制群に割り当てられていたり、傾向スコアが低い(= 処置を受ける可能性が低い)にもかかわらず処置群に割り当てられていたりすることを「異常」とする。逆に、「低い傾向スコア & 統制群」、または「高い傾向スコア & 処置群」はあまり驚きではないから異常とは言いがたい。
注意)これは単なるイメージであり、実際とは異なる
この内容は理解を助けるためのイメージであり、厳密なものではない。どちらかといえば逆確率重み付け(IPWでも)に近いイメージではあるが、厳密にはIPWでもない。具体的な重みの付け方(計算方法)は後ほど紹介する。
観察データの場合、処置群と統制群が均質とは限らない
異常なケースに高い重みを与える
\[ \begin{eqnarray} w_i^{\tiny\mbox{ATT}} & = & D_i + (1 - D_i) \frac{e_i(X)}{1 - e_i(X)} \\ w_i^{\tiny\mbox{ATC}} & = & D_i \frac{1 - e_i(X)}{e_i(X)} + (1 - D_i) \end{eqnarray} \]


逆確率重み付け(inverse probabilty weighting; IPW)
\[ w_i^{\tiny\mbox{ATE}} = D_i \frac{1}{e_i(X)} + (1 - D_i) \frac{1}{1 - e_i(X)} \]


ATO:Average treatment effect for the overlap population(Li et al. 2018)
\[ w_i^{\tiny\mbox{ATO}} = D_i (1 - e_i(X)) + (1 - D_i) e_i(X) \]
処置効果 = 処置群の加重平均 - 統制群の加重平均
head(my_data, n = 13)## treat y ps weight
## 1 0 2752 0.05913 1.0628
## 2 1 2164 0.77984 1.2823
## 3 0 6821 0.10288 1.1147
## 4 1 5150 0.13902 7.1935
## 5 0 25514 0.02856 1.0294
## 6 0 15538 0.16008 1.1906
## 7 1 11143 0.26920 3.7147
## 8 0 2282 0.71932 3.5627
## 9 0 14146 0.02158 1.0221
## 10 0 17359 0.02113 1.0216
## 11 0 650 0.03185 1.0329
## 12 0 1454 0.05003 1.0527
## 13 0 6280 0.04382 1.0458
my_data |>
reframe(y = weighted.mean(y, w = weight),
.by = treat)
## treat y
## 1 0 6422.869
## 2 1 6647.559
6647.559 - 6422.869 # 処置効果の点推定値
## [1] 224.69



\[ d_X = \frac{\overline{X}_{\sf treat} - \overline{X}_{\sf control}}{\sqrt{\frac{1}{2}(s^2_{X_{\sf treat}} + s^2_{X_{\sf control}})}} \]
以下は{cobalt}パッケージを使用したバランスチェックの例
傾向スコアを用いた調整はバランスの改善を保証しない
傾向スコアは共変量のバランスではなく、(大雑把にいえば)予測精度を基準で計算されたものであるため、バランスが改悪されることもあり得る。共変量のバランス改善の程度を基準に計算される傾向スコアとして「共変量バランシング傾向スコア(CBPS)」というものがある。
共変量バランシング傾向スコア(covariate balancing propensity score; CBPS)(Imai and Ratkovic 2014)
結果変数モデル(outcome model; ATE/ATT/\(\dots\)):推定対象(estimand)を推定するモデル
傾向スコア計算時に使用した共変量を結果変数モデル1にも入れるべきか
重みの「爆発」
極端な重みへの対処
傾向スコア