| 年 | 拡大群 | 非拡大群 | 群間差 |
|---|---|---|---|
| 2013 | 386.63 | 455.18 | −68.54 |
| 2014 | 393.32 | 465.05 | −71.73 |
| 差(Trend) | 6.69 | 9.87 | −3.19 |
| 単位:10 万人あたりの粗死亡率 | |||
30 分で学ぶ初学者向け入門
2026-05-23
30 分で学ぶ DiD と Event Study
到達目標:
用語:差分の差 (Difference-in-Differences, DiD)
「介入群の前後変化」から「対照群の前後変化」を引いた量:
\[ \widehat{ATT} = \underbrace{(\bar{Y}_{T,\text{post}} - \bar{Y}_{T,\text{pre}})}_{\text{介入群の変化}} - \underbrace{(\bar{Y}_{C,\text{post}} - \bar{Y}_{C,\text{pre}})}_{\text{対照群の変化}} \]
用語:ATT(Average Treatment effect on the Treated)
\[ ATT(t) = E[\;\underbrace{Y_{i,t}(1)}_{\text{介入時}} - \underbrace{Y_{i,t}(0)}_{\text{反事実(非介入時)}} \;\mid\; \underbrace{D_i = 1}_{\text{介入群に限る}}\;] \]
用語:平行トレンド(Parallel Trends)
\[ \underbrace{E[Y_{i,t}(0) - Y_{i,t-1}(0) \mid D_i = 1]}_{\text{介入群の反事実トレンド}} = \underbrace{E[Y_{i,t}(0) - Y_{i,t-1}(0) \mid D_i = 0]}_{\text{対照群の観察トレンド}} \]
図 1
図 2
図 3
シンプル化のため Part 3-4 では:
| 年 | 拡大群 | 非拡大群 | 群間差 |
|---|---|---|---|
| 2013 | 386.63 | 455.18 | −68.54 |
| 2014 | 393.32 | 465.05 | −71.73 |
| 差(Trend) | 6.69 | 9.87 | −3.19 |
| 単位:10 万人あたりの粗死亡率 | |||
論文 (3.7) 式 = 次の交互作用回帰:
\[ Y_{i,t} = \beta_0 + \underbrace{\beta_1 \mathbf{1}\{D_i=1\}}_{\text{群間レベル差}} + \underbrace{\beta_2 \mathbf{1}\{t=2014\}}_{\text{時間シフト}} + \underbrace{\beta^{2\times 2}(\mathbf{1}\{D_i=1\} \cdot \mathbf{1}\{t=2014\})}_{\text{DiD 推定量}} + \varepsilon_{i,t} \]
用語:TWFE (Two-Way Fixed Effects, 二方向固定効果)
回帰モデルに 単位固定効果(郡ダミー \(\alpha_i\))+ 時間固定効果(年ダミー \(\lambda_t\))を 両方 入れる仕様
交互作用回帰(再掲):
\[ \begin{aligned} Y_{i,t} = \;& \beta_0 + {\color{#2563eb}\beta_1 D_i} + {\color{#d97706}\beta_2 \,\text{post}_t} \\ \;& + {\color{#dc2626}\beta^{2\times 2}(D_i \cdot \text{post}_t)} + \varepsilon_{i,t} \end{aligned} \]
TWFE 式に書き換え:
\[ \begin{aligned} Y_{i,t} = \;& \underbrace{{\color{#2563eb}\alpha_i}}_{\text{単位固定効果}} + \underbrace{{\color{#d97706}\lambda_t}}_{\text{時間固定効果}} \\ \;& + {\color{#dc2626}\beta^{2\times 2}(D_i \cdot \text{post}_t)} + \varepsilon_{i,t} \end{aligned} \]
| 交互作用回帰 | TWFE | 役割 |
|---|---|---|
| \(\beta_0\) | \(\alpha_i, \lambda_t\) に吸収 | ベースライン |
| \(\beta_1 D_i\) | \(\alpha_i\)(郡ごとの切片) | 群レベル差 |
| \(\beta_2 \,\text{post}_t\) | \(\lambda_t\)(年ごとの切片) | 時間シフト |
| \(\beta^{2\times 2}(D \cdot \text{post})\) | そのまま残る | DiD 推定量 |
feols(Y ~ D:post | county_id + year, cluster = "county_id") の 1 行ただし注意:段階的採択では問題あり
介入時期が単位ごとに異なる staggered 設定 では、 TWFE が ATT を一貫して返さない問題が知られる(Part 6 で詳説)
| 交互作用回帰 | TWFE(固定効果) | |
|---|---|---|
| D | -68.54*** | |
| (10.58) | ||
| post | 9.87*** | |
| (0.96) | ||
| D × post | -3.19** | -3.19** |
| (1.17) | (1.17) | |
| Num.Obs. | 4284 | 4284 |
| R2 | 0.228 | 0.996 |
| + p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001 | ||
| 単位:10 万人あたり死亡率 | ||
D × post(または D:post) = DiD 推定量用語:標準化平均差(SMD, Normalized Difference)
用語:条件付き平行トレンド(Conditional Parallel Trends, CPT)
\[ \underbrace{E[Y_{i,t}(0) - Y_{i,t-1}(0) \mid D_i = 1, X_i]}_{\text{介入群の反事実トレンド(X 条件付き)}} = \underbrace{E[Y_{i,t}(0) - Y_{i,t-1}(0) \mid D_i = 0, X_i]}_{\text{対照群の観察トレンド(X 条件付き)}} \]
DRDID パッケージは 時間不変な共変量 を要求pct_white, poverty, median_income を county_id 単位で固定覚え方:「介入の前に確定していて、 介入と \(Y(0)\) の両方に効きそう な変数を入れる」
共変量の役割は「曝露を予測する」ではなく「反事実トレンドの群間差を吸収する」
| 本セッション(DiD) | 疫学での呼称 | アイデア |
|---|---|---|
| Outcome Regression (OR) | G 公式 / 回帰標準化 | 対照群で \(\Delta Y \sim X\) の回帰 → 介入群の X で予測 |
| Inverse Probability Weighting (IPW) | 傾向スコア重み付け | 傾向スコア \(P(D \mid X)\) の逆数で観測を重み付け |
| Doubly Robust (DR) | AIPW / DR | OR + IPW の組み合わせ — 片方 が正しければ一致推定 |
現代の推奨は DR(二重頑健)
DRDID::drdid()| 推定量 | ATT | SE |
|---|---|---|
| Outcome Regression | 0.70 | 0.43 |
| Inverse Probability Weighting | 1.09 | 0.53 |
| Doubly Robust | 0.96 | 0.47 |
| Doubly Robust(人口加重) | −2.15 | 0.98 |
| 単位:ATT・SE とも 10 万人あたりの粗死亡率 | ||
→ これが Event Study(イベント・スタディ)
用語:イベント時間(Event Time)
| イベント時間 \(e\) | 意味 | 例(2014 拡大群を見る年) |
|---|---|---|
| \(e = -3\) | 介入の 3 年前 | 2011 |
| \(e = -1\) | 介入の 1 年前(基準年) | 2013 |
| \(e = 0\) | 介入開始の年 | 2014 |
| \(e = +2\) | 介入から 2 年後 | 2016 |
\[ \widehat{\beta}_t = \underbrace{(\bar{Y}_{D=1, t} - \bar{Y}_{D=1, t_0})}_{\text{介入群:基準年からの変化}} - \underbrace{(\bar{Y}_{D=0, t} - \bar{Y}_{D=0, t_0})}_{\text{対照群:基準年からの変化}} \]
→ 負の \(e\)(介入前)= プリトレンド検定、 正の \(e\)(介入後)= 動学効果
図 4
図 5
用語:段階的採択(Staggered Adoption)
\[ Y_{i,t} = \underbrace{\alpha_i}_{\text{単位固定効果}} + \underbrace{\lambda_t}_{\text{時間固定効果}} + \underbrace{\beta^{\text{TWFE}} D_{i,t}}_{\text{介入下ダミー × 係数}} + \varepsilon_{i,t} \]
| 年 | 2016 群(介入扱い) | 2014 群(対照扱い) |
|---|---|---|
| 2015 | まだ未介入 | 既に介入から 1 年経過 |
| 2017 | 介入 1 年目 | 既に介入から 3 年経過 |
did::att_gt() — コホート \(g\) × 時点 \(t\) 別の \(ATT(g, t)\) を 二重頑健 で推定did::aggte() — 目的に応じて集約aggte() の集約タイプtype |
出力 | 答える問い |
|---|---|---|
"dynamic" |
イベント時間 \(e = t-g\) 別 ATT(動学効果) | 「介入後 \(e\) 年でどう進展?」 |
"group" |
コホート別 ATT | 「2014 群と 2015 群で効果は違う?」 |
"simple" |
全体平均 ATT(単一値) | 「平均してどれくらい効いた?」 |
control_group)"nevertreated":一度も介入を受けない群のみを対照 → 最も保守的"notyettreated":その時点でまだ未介入の群を含める → データ活用度が高い (本セッションで採用)図 6
DiD 研究の 6 ステップ
did::att_gt()、 TWFE 回避本セッションの 4 つの核心メッセージ
詳細版(半日ワークショップ・100 スライド超):
主要文献: