差の差分析

(Difference-in-Differences; DID)

解説

差の差分析とは

差の差分析 (DID) は、介入(政策・治療など)の効果を推定するための因果推論手法です。介入群と対照群について、介入前後の変化の差を取ることで、時間トレンドや交絡要因の影響を除去し、介入の純粋な効果を推定します。

DID推定値 = (介入後介入群 − 介入前介入群) − (介入後対照群 − 介入前対照群)

並行トレンド仮定

DID の根本的な仮定は「並行トレンド仮定 (Parallel Trends Assumption)」です。これは「介入がなければ、介入群と対照群は同様のトレンドをたどるはずである」という仮定です。

  • 本アプリのトレンドプロットで、介入前の2群が平行かどうか目視で確認してください
  • Event Study の介入前係数(period < 0)が統計的に有意でなければ、仮定が支持されます
  • 介入前のトレンドが異なる場合、DIDの結果は偏ったものになります

本アプリでサポートする機能

  • Two-way Fixed Effects (TWFE) モデルによる DID 推定(post × group の交互作用項)
  • 多期間対応:時間変数に整数インデックス(例: −2, −1, 0, 1, 2)を使用可能
  • トレンドプロット:群 × 時期の平均値の折れ線グラフで並行トレンドを視覚確認
  • バランステスト:介入前の群間ベースライン比較(アウトカム・共変量の t 検定)
  • Event Study:介入前期間が2期間以上ある場合、期間別介入効果と95%CI を出力
  • 共変量の調整(任意)
  • クラスター標準誤差(パネルデータ・個体ID等)

データの準備

変数 内容 設定例
アウトカム 連続変数 売上・健康指標など
時間変数 介入時点を 0 とした整数インデックス −2, −1, 0, 1, 2
群変数 0 = 対照群、1 = 介入群 の二値変数 0 / 1
クラスター変数 パネルデータの個体ID(任意) 患者ID・企業コードなど
  • 時間変数は「介入前 = 負の値、介入後 = 0以上」の規則で設定してください
  • 従来の「0 = 介入前、1 = 介入後」形式を使う場合は、「−1 = 介入前、0 = 介入後」に変換してください
  • 群変数は 0(対照群)と 1(介入群)の二値でなければなりません

結果の解釈

DID推定値

  • post × group の係数 = DID推定値(介入効果)
  • 正の値であれば介入がアウトカムを増加させたことを示します
  • p値が0.05未満であれば統計的に有意な介入効果があります

バランステスト

  • 介入前における群間の差を検定します
  • p < 0.05(⚠️)の変数があると、ベースライン時点で群の特性が異なることを示します
  • ベースラインに差がある場合は共変量として調整することを推奨します

Event Study

  • 各期間の介入効果(対照群との差)とその95%CIを表示します
  • 介入前係数(period < 0)が 0 付近に集まっていれば並行トレンド仮定が支持されます
  • 介入前係数に ⚠️ マークがある場合(p < 0.05)は並行トレンド仮定が成立していない可能性があります

注意事項

  • 複数時点のパネルデータの場合は、クラスター変数(個体ID)を指定することを強く推奨します
  • staggered DID(介入時点が個体ごとに異なる)には、本アプリのシンプルな TWFE 推定は不向きです
  • Event Study は介入前期間が2期間以上ある場合のみ実行されます

アプリ

データ

設定

オプション
クラスター標準誤差