在計量研究中,用於實證分析的數據主要有時間序列數據、橫截面數據以及面板數據。其中,面板數據(panel data)是指在時間序列上取多個截面,在這些截面上同時選取樣本觀測值所構成的樣本數據,面板數據能夠幫助我們處理難以觀測的個體效應與時間效應。比如說,我們研究上海市16個區縣洗衣液的消費情況,我們認為洗衣液的價格、居民收入會影響消費情況。但與此同時,民族的風俗習慣、廣告投放也會影響消費。但是對於某一個體而言,民族的風俗習慣不會有大的變化,因此我們能夠控制個體效應。而廣告通常是在某一年通過網絡媒體投放,我們可以認為,所有區縣在特定的年份接受了相同的廣告投放,因此我們能夠控制時間效應。在這篇推送中,我們主要介紹如何使用固定效應模型處理面板數據。
下載數據各位讀者可以複製連結http://dss.princeton.edu/training/Panel101.dta,下載我們需要的數據。
首先我們需要定義面板數據。具體來說,面板數據有兩個維度,一個是時間維度,一個是橫截面維度。定義了這兩個維度之後,我們就可以分別通過兩個維度的數值確定唯一的觀察值。在stata中,我們使用xtset這一命令來定義面板數據。在本案例中,時間變量是year,截面變量是county。因此我們輸入命令如下:
xtset country year
定義好時間、截面變量之後,我們可以對面板數據的各個截面繪製時間序列圖。在Stata中,xtline是面板數據繪圖的基本命令,我們輸入如下的操作:
xtline y
上圖中,每個county都建立了單獨的坐標系,如果我們想把它們繪製在一起,可以輸入下面的命令:
xtline y, overlay
bysort country: egen y_mean=mean(y)
這一命令的含義是:我們新建一列變量,並將新變量命名為y_mean,某county某年y_mean的數值,等於該county所有年y的平均值。
twoway scatter y country, msymbol(circle_hollow) || connected y_mean country, msymbol(diamond) || , xlabel(1 "A" 2 "B" 3 "C" 4 "D" 5 "E" 6 "F" 7 "G")
圖中橫軸表示不同的county,縱軸表示y的平均值。紅色實心菱形表示該county各年平均的y值,藍色空心圓圈表示該county不同年y值的分布。
bysort year: egen y_mean1=mean(y)
這一命令的含義是:我們新增一列叫做「y_mean1」的變量,某county某年該變量的值等於該年份所有county的平均值。
twoway scatter y year, msymbol(circle_hollow) || connected y_mean1 year, msymbol(diamond) || , xlabel(1990(1)1999)
接下來我們進行OLS回歸:
regress y x1
輸出結果如下:
twoway scatter y x1, mlabel(country) || lfit y x1, clstyle(p2)
上圖中,橫軸表示x1,縱軸表示y。藍色實心點表示實際的數據,即x1等於橫軸對應值時,y等於縱軸對應值。紅色線為擬合直線。
首先我們控制縣的固定效應,並進行y對x的回歸,輸入命令如下:
xi: regress y x1 i.country
predict yhat
新建一列變量,其數值等於y的擬合值。
separate y, by(country)separate yhat, by(country)twoway connected yhat1-yhat7 x1, msymbol(none diamond_hollow triangle_hollow square_hollow + circle_hollow x) msize(medium) mcolor(black black black black black black black) || lfit y x1, clwidth(thick) clcolor(black)
圖中橫軸表示x1,縱軸表示yhat的值,不同顏色的線代表不同的縣,而黑色實線表示OLS估計的結果。
我們還可以使用xtreg、areg命令處理固定效應模型。具體命令如下:
xtreg y x1, fe
areg y x1, absorb(country)
在這篇推送中,我們一共闡述了虛擬變量、xtreg、areg三種處理固定效應的方法。。為了對比這三種方法,我們輸入如下的命令:
xtreg y x1 x2 x3, feestimates store fixedxi: regress y x1 x2 x3 i.countryestimates store olsareg y x1 x2 x3, absorb(country)estimates store aregestimates table fixed ols areg, star stats(N r2 r2_a)
結果顯示,這三種方法的估計結果相同。
廣受歡迎的微信公共帳號「社會科學中的數據可視化」每周推送ArcGIS、Python、R、Stata等軟體在社會科學各領域中的運用實例及教程。本帳號由復旦大學經濟學院陳碩教授及其團隊負責。歡迎媒體及學界與我們展開內容合作,聯繫郵箱sksjksh@163.com。查看以前推送:點「社會科學中的數據可視化」並選擇「查看歷史消息」。搜尋帳號: SKSJKSH或掃描二維碼如下: