這期推送將比較時(shí)間固定效應(yīng)和時(shí)間趨勢(shì)項(xiàng)的區(qū)別,并使用兩種方法對(duì)模型中可能存在的trend
進(jìn)行識(shí)別夯膀。
1、該文首發(fā)于微信公眾號(hào)
DMETP
苍蔬,歡迎關(guān)注诱建;2、需要本次推送所使用的數(shù)據(jù)和代碼的朋友碟绑,可以在公眾號(hào)后臺(tái)對(duì)話框內(nèi)回復(fù)關(guān)鍵詞trend
俺猿。
一、時(shí)間FE & 時(shí)間trend
在LSDV
法下格仲,時(shí)間固定效應(yīng)(time FE)表現(xiàn)為一系列的時(shí)間虛擬變量押袍,對(duì)于特定年份,若樣本所處年份是
則記為1凯肋,否則記為0谊惭。在Stata中,這一系列的時(shí)間虛擬變量引入方式有兩種:
- 一是直接在回歸命令中加入類別變量侮东,如
i.year
圈盔,使用這種方式無(wú)需生成額外的變量,節(jié)約內(nèi)存悄雅。 - 二是生成額外的時(shí)間虛擬變量并加入回歸命令中药磺,如先
tabulate year, gen(fe_)
,然后在回歸命令中寫(xiě)入fe_*
煤伟。
控制時(shí)間FE的用意在于吸收時(shí)間維度上不可觀測(cè)的同質(zhì)性沖擊的影響癌佩,即所有個(gè)體共有的時(shí)間因素,如宏觀經(jīng)濟(jì)沖擊便锨、財(cái)政貨幣政策等等围辙,假定這些因素在特定年份對(duì)不同個(gè)體的影響是一致的。此外放案,如果考慮到異質(zhì)性姚建,即考慮到這些因素可能對(duì)不同組別(如省、城市吱殉、行業(yè)等)的個(gè)體影響不一致掸冤,則可以在模型中引入交互FE,如行業(yè)-時(shí)間FE友雳。這種交互FE在reghdfe
命令下有兩種引入方式(以行業(yè)-時(shí)間FE為例):
- 一是首先
egen ind_year = group(ind year)
稿湿,其次在reghdfe
命令的選擇項(xiàng)中寫(xiě)入absorb(ind_year)
。 - 二是使用因子表達(dá)式直接在選擇項(xiàng)中寫(xiě)入押赊,如
absorb(ind#year)
饺藤。
模型引入時(shí)間趨勢(shì)項(xiàng)(time trend)一般有三種方法:
- 法一:直接在回歸命令中寫(xiě)入
c.year
或year
。 - 法二:假設(shè)樣本數(shù)據(jù)集(而不是各個(gè)樣本!)的最小年份為
year_min
涕俗,則首先生成trend = year - year_min + 1
罗丰,然后再在模型中引入trend
。 - 法三:首先
bysort id (year): gen trend = _n
再姑,其中萌抵,(year)
是為了保證樣本按照id - year
進(jìn)行升序排序。其次再在回歸命令中寫(xiě)入trend
元镀。
推文利用法三生成trend
绍填,法三的缺陷在于,如果樣本存續(xù)年份中斷凹联,如2012沐兰、2014、2018蔽挠,法三將視這三年為連續(xù)年份住闯,并分別記為1、2澳淑、3比原。
加入時(shí)間趨勢(shì)項(xiàng)是為了控制不同個(gè)體的被解釋變量可能存在的并且尚未被其他控制變量和FE所覆蓋/解釋的增減趨勢(shì),因?yàn)椴煌M別(規(guī)模杠巡、性質(zhì)量窘、政策分組、生命周期等)個(gè)體的被解釋變量的時(shí)間趨勢(shì)或許存在一定程度的差異氢拥,并且在控制已有的解釋變量之后依然可能存在較為明顯的時(shí)間趨勢(shì)蚌铜。
以上內(nèi)容可總結(jié)為以下幾點(diǎn):
- 第一,在
LSDV
法下時(shí)間FE為一系列的虛擬變量嫩海,而時(shí)間trend為一個(gè)變量冬殃。 - 第二,時(shí)間FE用來(lái)吸收不隨個(gè)體但隨時(shí)間而變的不可觀測(cè)因素沖擊的影響叁怪,而時(shí)間trend則用來(lái)控制被解釋變量可能存在的增減趨勢(shì)审葬。
- 第三,時(shí)間FE本質(zhì)上是包括trend了的奕谭,trend可由FE線性表出涣觉,因此如果在方程中同時(shí)加入FE和trend,trend可能由于出現(xiàn)多重共線性而被omitted血柳,但是兩者同時(shí)加入模型可使得估計(jì)結(jié)果更穩(wěn)健
- 第四官册,在整體序列較長(zhǎng)的長(zhǎng)面板中,很大可能需要控制時(shí)間trend對(duì)回歸結(jié)果的影響混驰。
二攀隔、時(shí)間trend的識(shí)別
下面將對(duì)模型中可能存在的時(shí)間趨勢(shì)進(jìn)行識(shí)別皂贩,推文提供兩種思路:
- 一是直接在回歸模型中加入trend栖榨,如果trend不顯著昆汹,說(shuō)明不需要引入。
- 二是在控制除trend外所有的變量及FE后婴栽,觀察殘差中是否仍舊存在trend满粗,如果存在,說(shuō)明被解釋變量的增減趨勢(shì)不能完全被變量和FE所吸收愚争,模型須額外引入trend映皆。
根據(jù)以上兩種識(shí)別思路設(shè)計(jì)出兩種識(shí)別方法:一是回歸法,二是圖形法轰枝。
2.1 回歸法
vers 17
copy https://www.stata-press.com/data/r17/nlswork.dta nlswork.dta, replace
clear all
use nlswork.dta, clear
xtset idcode year
gl regst "qui reghdfe ln_w grade age c.age#c.age ttl_exp c.ttl_exp#c.ttl_exp tenure c.tenure#c.tenure not_smsa south"
gl regopt "absorb(idcode year) resid"
********************************************************************************
**# 生成時(shí)間趨勢(shì)項(xiàng)
bys idcode (year): gen t = _n
* gen t = year
* gen t = year - 67 // 另外兩種 t 的生成方法
********************************************************************************
**# 法一:回歸
$regst t, $regopt
dis "系數(shù)(Total) = " %6.4f _b[t] "捅彻;t值(Total) = " %6.4f _b[t] / _se[t]
$regst t if race == 1, $regopt
dis "系數(shù)(White) = " %6.4f _b[t] ";t值(White) = " %6.4f _b[t] / _se[t]
$regst t if race != 1, $regopt
dis "系數(shù)(Other) = " %6.4f _b[t] "鞍陨;t值(Other) = " %6.4f _b[t] / _se[t]
運(yùn)行以上代碼可以觀察到步淹,無(wú)論是在總體樣本、白人群體還是其他人種群體诚撵,時(shí)間趨勢(shì)項(xiàng)t
的回歸系數(shù)均不顯著(5%的顯著水平下)缭裆,且系數(shù)大小接近于0,這說(shuō)明原模型中無(wú)須引入trend寿烟,trend對(duì)回歸結(jié)果的干擾較小澈驼。
2.2 圖形法
**# 法二:畫(huà)圖
frame dir
frame rename default a
frame copy a b
frame a {
$regst , $regopt
predict r, resid
drop if mi(r)
gcollapse (mean) r_mean = r (sd) r_sd = r, by(t)
gen upper = r_mean + 1.65 * r_sd
gen lower = r_mean - 1.65 * r_sd
gen race1 = 2
}
frame b {
gen race1 = (race == 1)
$regst if race1, $regopt
predict r, resid
$regst if !race1, $regopt
predict r1, resid
replace r = r1 if !race1
drop if mi(r)
gcollapse (mean) r_mean = r (sd) r_sd = r, by(race1 t)
gen upper = r_mean + 1.65 * r_sd
gen lower = r_mean - 1.65 * r_sd
}
frame a {
frameappend b
label define race 0 "Other" 1 "White" 2 "Total"
label values race1 race
#d ;
twoway (con r_mean t, m(o))
(rcap upper lower t, msiz(vsmall)),
yline(0 , lc(red))
by(race1, note("") rows(1))
legend(label(1 "Mean of residuals")
label(2 "90% confidence interval"))
xlabel(, labs(medsmall) format(%4.0f))
ylabel(, labs(medsmall) format(%4.1f))
xtitle("Trend") ytitle("Residuals")
scheme(qleanmono)
saving(time_trend, replace)
;
#d cr
graph export "time_trend.emf", replace
}
以上代碼的運(yùn)行結(jié)果如圖 1。
觀察圖 1可知筛武,無(wú)論是總體缝其、白人群體還是其他人種群體樣本,回歸殘差的均值均在0值附近上下波動(dòng)徘六,90%的置信區(qū)間跨越了0值線内边,并且隨著時(shí)間趨勢(shì)的推移,殘差均值并未表現(xiàn)出明顯的增減趨勢(shì)硕噩,這些都同樣說(shuō)明了原模型中無(wú)須引入trend假残,trend對(duì)回歸結(jié)果的干擾較小。