[Stataによるデータ分析入門]didregコマンドの使い方

Stata17から差の差回帰用のコマンドdidregress、xtdidregressコマンドが登場しました。本コラムではこのdidregressコマンドの使い方を紹介します。
注意:Stata16以前では両コマンドは実行できません。
なお、本コラムは、Stataによるデータ分析入門第3版のWEB補論として用意されました。

xtdidregressについてはこちらを参照ください。

事例説明

本文の5.3.1では、1999年に乗換駅となった神奈川県藤沢市の湘南台駅近辺の賃貸物件を処置群、近隣駅の最寄り物件を比較群として1999年初から2004年の賃貸料の変化に注目した差の差の分析の実例を紹介しました。
推定式については、以下のコラムも参照してください。

このデータは、個々の物件を追跡できるわけではない、つまり、パネルデータではなく、プーリングデータになっています。

cd c:\data
import excel using odakyu-enoshima.xlsx,clear firstrow

* ダミー変数の作成
gen Treat=0
replace Treat=1 if station=="shonandai"
gen Treat2004=0
replace Treat2004=1 if station=="shonandai"&year==2004
gen Year2004=0
replace Year2004=1 if year==2004

reg rent floor age Year2004 Treat Treat2004, robust

Treatは、湘南台最寄り物件であれば1をとるダミー変数、
Treat2004は、湘南台最寄り物件でかつ2004年なら1をとるダミー変数、
Year2004は2004年なら1をとるダミー変数、
rentは賃貸料(単位:1万円)、floorは専有面積、ageは築年数です。
なお、データは以下からダウンロードできます。

以下のような推計結果を得ます。

処置効果はTreat2004の係数ですので、0.65となります。被説明変数の単位が1万円なので湘南台では鉄道延伸により6500円ほど賃貸料が上がったと読むことができます。

didregコマンドの使い方

次に、didregコマンドの使い方について説明しましょう。同じ結果をdidregで計算するには、以下のように入力します。

didreg (rent floor age) (Treat2004),group(Treat) time(Year2004)

regコマンドによる結果とは標準誤差がやや異なりますが、これはdidregコマンドがgroup変数により標準誤差をクラスタリングしているからです。regコマンドでこれを再現するには、robustオプションの代わりにvce(cl )オプションを使います。

reg rent floor age Year2004 Treat Treat2004, vce(cl Treat)

Treat2004の標準誤差が同じになりました。


この記事が気に入ったらサポートをしてみませんか?