差分の差分法
関西大学総合情報学部
2024-12-16
条件付き独立の仮定 (Conditional Independent Assumption; CIA)
処置を受けるか否かが自然、制度、偶然などによって規定される
本講義では1と2を解説
元ネタ: Asai, Kambayashi, and Yamaguchi (2015)(データは宋が収集)
保育所が整備されると母は安心して働けるから就労率が上がる
Difference in Difference (Diff-in-Diff, DID, DD)
元ネタはカルフォルニア州のProposition99
タバコ消費量の変化
値上げ後、タバコの消費量が5箱減少
値上げを行っていないB州におけるタバコ消費量
因果推論の枠組みから考えると …
ID ( \(i\) ) | \(\quad t \quad\) | \(\quad T_{it} \quad\) | \(\quad Y_{it} \quad\) |
---|---|---|---|
1 | 1 | 0 | 15 |
1 | 2 | 1 | 10 |
2 | 1 | 0 | 17 |
2 | 2 | 0 | 15 |
ID(\(i\)) | \(\quad Z_{i} \quad\) | \(\quad \Delta Y_{i} \quad\) |
---|---|---|
1 | 1 | -5 |
2 | 0 | -2 |
\(\quad \Delta Y(Z = 1) \quad\) | \(\quad \Delta Y(Z = 0) \quad\) | 差分 |
---|---|---|
-5 | -2 | -3 |
数式で表すと
\[\begin{align}\Delta = & [\mathbb{E}(Y_{t+1}(Z = 1)) - \mathbb{E}(Y_t(Z = 1))] \\ & - [\mathbb{E}(Y_{t+1}(Z = 0)) - \mathbb{E}(Y_t(Z = 0))]\end{align}\]
Parallel Trend Assumption
一般的に2つの方法
並行トレンドの仮定が満たされている場合 \(\rightarrow\) どの州を潜在的結果として使ってもOK
並行トレンドの仮定が満たされていない場合 \(\rightarrow\) どの州を潜在的結果として用いるか
並行トレンドの仮定が満たされている場合
並行トレンドの仮定が満たされていない場合 (1) \(\rightarrow\) 潜在的結果は15、または13
並行トレンドの仮定が満たされていない場合 (2) \(\rightarrow\) 潜在的結果は10、または13
データが2期のみ(\(t \in \{0, 1\}\))の場合
\[\hat{Y} = \beta_0 + \beta_1 T + \beta_2 \mbox{POST} + \delta T \cdot \mbox{Post}\]
ID | Name | POST | T | Y |
---|---|---|---|---|
1 | A州 | 0 | 1 | 15 |
2 | A州 | 1 | 1 | 10 |
3 | B州 | 0 | 0 | 17 |
4 | B州 | 1 | 0 | 15 |
データが2期のみ(\(t \in \{0, 1\}\))の場合
\[\hat{Y} = \beta_0 + \beta_1 T + \beta_2 \mbox{POST} + \delta T \cdot \mbox{Post}\]
先ほどのモデルの限界
以下では、保育所整備の例で解説
より一般化されたモデル
\[\hat{Y}_{pt} = \beta + \delta \mbox{Treat}_{pt} + \sum_{k = \mbox{Aomori}}^{\mbox{Okinawa}}\gamma_k \cdot \mbox{Pref}_{kp} + \sum_{j = 2005}^{2015} \psi_j \cdot \mbox{Year}_{jt}\]
単回帰分析と差分の差分法推定量の比較
Model 1 | Model 2 | |
---|---|---|
保育所の整備率 | 0.358 | -0.003 |
(0.022) | (0.030) | |
Num.Obs. | 188 | 188 |
R2 | 0.510 | 0.987 |
R2 Adj. | 0.508 | 0.982 |
AIC | -640.9 | -1222.7 |
BIC | -631.2 | -1054.4 |
RMSE | 0.04 | 0.01 |
Std.Errors | by: Pref_J | |
都道府県ダミー | X | O |
年ダミー | X | O |
回帰モデルでも平行トレンドの仮定は必要
回帰モデルでも平行トレンドの仮定は必要
処置を受けていない場合も、傾きが都道府県ごとに異なる場合
\[\hat{Y}_{pt} = \beta + \delta \mbox{Treat}_{pt} + \sum_{k = \mbox{Aomori}}^{\mbox{Okinawa}}\gamma_k \cdot \mbox{Pref}_{kp} + \sum_{j = 2005}^{2015} \psi_j \cdot \mbox{Year}_{jt} + \sum_{k = \mbox{Aomori}}^{\mbox{Okinawa}}\theta_k (\mbox{Pref}_{kp} \cdot t)\]
結果の比較
Model 1 | Model 2 | Model 3 | |
---|---|---|---|
保育所の整備率 | 0.358 | -0.003 | -0.009 |
(0.022) | (0.030) | (0.028) | |
Num.Obs. | 188 | 188 | 188 |
R2 | 0.510 | 0.987 | 0.997 |
R2 Adj. | 0.508 | 0.982 | 0.995 |
AIC | -640.9 | -1222.7 | -1439.2 |
BIC | -631.2 | -1054.4 | -1122.0 |
RMSE | 0.04 | 0.01 | 0.00 |
Std.Errors | by: Pref_J | by: Pref_J | |
都道府県ダミー | X | O | O |
年ダミー | X | O | O |
トレンド変数 | X | X | O |
\[\hat{Y}_{pt} = \beta + \delta \mbox{Treat}_{pt} + \sum_{k = \mbox{Aomori}}^{\mbox{Okinawa}}\gamma_k \cdot \mbox{Pref}_{kp} + \sum_{j = 2005}^{2015} \psi_j \cdot \mbox{Year}_{jt} + \theta \mbox{Unemp}_{pt}\]
結果の比較
Model 1 | Model 2 | Model 3 | Model 4 | Model 5 | |
---|---|---|---|---|---|
保育所の整備率 | 0.358 | -0.003 | -0.009 | 0.002 | 0.003 |
(0.022) | (0.030) | (0.028) | (0.030) | (0.024) | |
Num.Obs. | 188 | 188 | 188 | 188 | 188 |
R2 | 0.510 | 0.987 | 0.997 | 0.987 | 0.998 |
R2 Adj. | 0.508 | 0.982 | 0.995 | 0.982 | 0.995 |
AIC | -640.9 | -1222.7 | -1439.2 | -1322.0 | -1543.8 |
BIC | -631.2 | -1054.4 | -1122.0 | -1312.3 | -1385.2 |
RMSE | 0.04 | 0.01 | 0.00 | 0.01 | 0.00 |
Std.Errors | by: Pref_J | by: Pref_J | by: Pref_J | by: Pref_J | |
都道府県ダミー | X | O | O | O | O |
年ダミー | X | O | O | O | O |
トレンド変数 | X | X | O | X | O |
共変量 | X | X | X | O | O |
処置効果の点推定値と95%信頼区間
並行トレンドをどう確認するか
スライドで使ったデータ
did_data1.csv
: 保育所の整備と母の就労率did_data2.csv
: 電子投票の導入と投票率実習用データ
did_data3.csv
: 学校内銃撃事件と政治参加
García-Montoya, Arjona, and Lacombe (2022)のFigure 3&4の一部を再現
変数名 | 説明 |
---|---|
county |
カウンティー(郡)のID |
state |
州ID |
year |
年 |
shooting |
学校内銃撃事件の発生 |
fatal_shooting |
深刻な学校内銃撃事件の発生 |
non_fatal_shooting |
軽微な学校内銃撃事件の発生 |
turnout |
大統領選挙の投票率 |
demvote |
民主党候補者の得票率 |
population |
人口(カウンティー) |
non_white |
非白人の割合(カウンティー) |
change_unem_rate |
失業率の変化(カウンティー) |
lm_robust()
関数)の使い方