はじめに
こちらでStaggered DIDを初めて知りました。
blog.brainpad.co.jp
介入タイミングが異なる場合のDIDということで、実務でも利用シーンがありそうな問題設計だと思いました。
簡単にまとめたいと思います。
概論
元の論文は以下になります。
arxiv.org
また、こちらの資料も参考になった。
DIDの計量経済手法の近年の展開~ 問題と対策 ~, 小西祥文 慶應義塾大学
わかりやすい説明はこちらに譲ります。
blog.brainpad.co.jp
通常の差分の差分法(DID)では、介入タイミングが単一であり介入直後のLATEを推定することはできる。
介入タイミングが複数あり、動的な効果を知りたいが知りたい場合の拡張が議論されている。
Two Way Fixed Effect Event Study (TWFE Event Study)
のモデルを以下のように定義する。
ここでがグループiの固定効果、が時間固定効果、は介入タイミングから時刻lだけずれた時点における介入効果。
は介入タイミングからのずれを表現したインジケータである。は誤差項である。
TWFEは介入タイミングによって介入効果が異なる場合/異質性がある場合は、大きなバイアスが発生してしまうことがある。
Staggered DiD
介入タイミングのグループ項を入れることで、介入タイミングが異なるコーホート同士の比較を適切に行えるようになる。
ここでがコホートcと介入タイミングlの介入効果、はiがコホートに所属しているかどうかのインジケータである。
は誤差項である。
Dynamic treatment effects は次のように推定される。
平均処置効果は次のように推定される。
ここではコホートcと介入タイミングlに該当するサンプルの割合(重み)である。
は残差であり次にように分解できる。
期間中の処置確率が高いグループほどの値が高くなり,処置確率の高い期間ほどの値が高くなる。
これによりがマイナスの値をとる場合が発生し、処置効果の推定に大きなバイアスを与えてしまう。
Rでの実行
RでStaggered DiDを実行するには、fixest packageを用いる。
いつくかのサンプルデータをモデルに当てはめて、モデルの特定を把握しておきます。
処置効果に異質性がある場合
サンプルデータとして以下のようなデータを作成した。
に従う時系列を200件のサンプルを生成して、4つのグループに分けています。
そして、1~3のグループにおいてT=15, 20, 25で+1.5t, +2.5t, +3.5tとなるような介入効果を設定しています。
group=4が対照群としている。
did_df %>%
group_by(group, t) %>%
summarise(y = mean(y)) %>%
ggplot()+
aes(x=t, y=y, col= group)+
geom_line()+
ylim(80,180)
TWFEモデルを当てはめる場合は以下のようになる。
i()が交互作用項であり、ref=が多重共線性を避けるための基準とするタイミングtを設定するためのパラメータ。
res_twfe = feols(y ~ i(time_to_treatment, ref = c(-1)) | t+id, data = did_df, cluster = "id")
時刻ごとの介入効果を確認。
TWFEモデルに当てはめた場合は、観測初期に介入影響があると算出されてしまう。
iplot(res_twfe)
Staggered DiDモデルを当てはめる場合は以下のようになる。
sunab()がStaggered DiDの効果項を定義するものであり、コホートと介入タイミングを設定できる。
ref.cはダミー変数を作成しないレベルを指定する。(多重共線性を避けるため)
res_stagg = feols(y ~ sunab(treat, t, ref.c = max(treat)) | t+id, data = did_df, cluster = "id")
iplot(res_stagg)
Staggered DiDを当てはめた場合は、観測初期の介入影響はない。
ATTは以下で算出することができる。
ここでのATTとは時間方向と介入効果における加重平均を取ったものとなる。
> summary(res_stagg, agg = "att")
OLS estimation, Dep. Var.: y
Observations: 8,200
Fixed-effects: t: 41, id: 200
Standard-errors: Clustered (id)
Estimate Std. Error t value Pr(>|t|)
ATT 31.5197 1.14343 27.566 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RMSE: 9.72441 Adj. R2: 0.822263
Within R2: 0.594405
処置効果に異質性が小さい場合
1~3のグループにおいてT=15, 20, 25で+1.5t, +1.7t, +2.0tとなるような介入効果を設定している。
介入効果の差が小さい状態にしている。
TWFEによる推定結果は、介入前の介入効果はナシと推定できている。
Staggered DiDによる推定結果も、介入前の介入効果はナシと推定できている。
明確な対照群がない場合
明確な対照群がない場合にどのようになるかが気になり、グループ4がT=30で+1.0tとするよう効果を設定した。
設定とは全く異なる効果が推定されることが確認された。
TWFE
Staggered DiD
感想
参考