『壹』 hansen檢驗 指令是什麼 stata
stata命令大全
********* 面板數據計量分析與軟體實現 *********
說明:以下do文件相當一部分內容來自於中山大學連玉君STATA教程,感謝他的貢獻。本人做了一定的修改與篩選。
*----------面板數據模型
* 1.靜態面板模型:FE 和RE
* 2.模型選擇:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估計)
* 3.異方差、序列相關和截面相關檢驗
* 4.動態面板模型(DID-GMM,SYS-GMM)
* 5.面板隨機前沿模型
* 6.面板協整分析(FMOLS,DOLS)
*** 說明:1-5均用STATA軟體實現, 6用GAUSS軟體實現。
* 生產效率分析(尤其指TFP):數據包絡分析(DEA)與隨機前沿分析(SFA)
***
說明:DEA由DEAP2.1軟體實現,SFA由Frontier4.1實現,尤其後者,側重於比較C-D與Translog生產函數,一步法與兩步法的區別。常應用於地區經濟差異、FDI溢出效應(Spillovers
Effect)、工業行業效率狀況等。
* 空間計量分析:SLM模型與SEM模型
*說明:STATA與Matlab結合使用。常應用於空間溢出效應(R&D)、財政分權、地方政府公共行為等。
* ---------------------------------
* -------- 一、常用的數據處理與作圖 -----------
* ---------------------------------
* 指定面板格式
xtset id year (id為截面名稱,year為時間名稱)
xtdes /*數據特徵*/
xtsum logy h /*數據統計特徵*/
sum logy h /*數據統計特徵*/
*添加標簽或更改變數名
label var h "人力資本"
rename h hum
*排序
sort id year /*是以STATA面板數據格式出現*/
sort year id /*是以DEA格式出現*/
*刪除個別年份或省份
drop if year<1992
drop if id==2 /*注意用==*/
*如何得到連續year或id編號(當完成上述操作時,year或id就不連續,為形成panel格式,需要用egen命令)
egen year_new=group(year)
xtset id year_new
**保留變數或保留觀測值
keep inv /*刪除變數*/
**或
keep if year==2000
**排序
sort id year /*是以STATA面板數據格式出現
sort year id /*是以DEA格式出現
**長數據和寬數據的轉換
*長>>>寬數據
reshape wide logy,i(id) j(year)
*寬>>>長數據
reshape logy,i(id) j(year)
**追加數據(用於面板數據和時間序列)
xtset id year
*或者
xtdes
tsappend,add(5) /表示在每個省份再追加5年,用於面板數據/
tsset
*或者
tsdes
.tsappend,add(8) /表示追加8年,用於時間序列/
*方差分解,比如三個變數Y,X,Z都是面板格式的數據,且滿足Y=X+Z,求方差var(Y),協方差Cov(X,Y)和Cov(Z,Y)
bysort year:corr Y X Z,cov
**生產虛擬變數
*生成年份虛擬變數
tab year,gen(yr)
*生成省份虛擬變數
tab id,gen(m)
**生成滯後項和差分項
xtset id year
gen ylag=l.y /*產生一階滯後項),同樣可產生二階滯後項*/
gen ylag2=L2.y
gen dy=D.y /*產生差分項*/
*求出各省2000年以前的open inv的平均增長率
collapse (mean) open inv if year<2000,by(id)
變數排序,當變數太多,按規律排列。可用命令
aorder
或者
order fdi open insti
*-----------------
* 二、靜態面板模型
*-----------------
*--------- 簡介 -----------
* 面板數據的結構(兼具截面資料和時間序列資料的特徵)
use proct.dta, clear
browse
xtset id year
xtdes
* ---------------------------------
* -------- 固定效應模型 -----------
* ---------------------------------
* 實質上就是在傳統的線性回歸模型中加入 N-1 個虛擬變數,
* 使得每個截面都有自己的截距項,
* 截距項的不同反映了個體的某些不隨時間改變的特徵
*
* 例如: lny = a_i + b1*lnK + b2*lnL + e_it
* 考慮中國29個省份的C-D生產函數
*******-------畫圖------*
*散點圖+線性擬合直線
twoway (scatter logy h) (lfit logy h)
*散點圖+二次擬合曲線
twoway (scatter logy h) (qfit logy h)
*散點圖+線性擬合直線+置信區間
twoway (scatter logy h) (lfit logy h) (lfitci logy h)
*按不同個體畫出散點圖和擬合線,可以以做出fe vs re的初判斷*
twoway (scatter logy h if id<4) (lfit logy h if id<4) (lfit logy h if
id==1) (lfit logy h if id==2) (lfit logy h if id==3)
*按不同個體畫散點圖,so beautiful!!!*
graph twoway scatter logy h if id==1 || scatter logy h if id==2,msymbol(Sh)
|| scatter logy h if id==3,msymbol(T) || scatter logy h if id==4,msymbol(d) || ,
legend(position(11) ring(0) label(1 "北京") label(2 "天津") label(3 "河北") label(4
"山西"))
**每個省份logy與h的散點圖,並將各個圖形合並
twoway scatter logy h,by(id) ylabel(,format(%3.0f))
xlabel(,format(%3.0f))
*每個個體的時間趨勢圖*
xtline h if id<11,overlay legend(on)
* 一個例子:中國29個省份的C-D生產函數的估計
tab id, gen(m)
list
* 回歸分析
reg logy logk logl m*,
est store m_ols
xtreg logy logk logl, fe
est store m_fe
est table m_ols m_fe, b(%6.3f) star(0.1 0.05 0.01)
* Wald 檢驗
test logk=logl=0
test logk=logl
* stata的估計方法解析
* 目的:如果截面的個數非常多,那麼採用虛擬變數的方式運算量過大
* 因此,要尋求合理的方式去除掉個體效應
* 因為,我們關注的是 x 的系數,而非每個截面的截距項
* 處理方法:
*
* y_it = u_i + x_it*b + e_it (1)
* ym_i = u_i + xm_i*b + em_i (2) 組內平均
* ym = um + xm*b + em (3) 樣本平均
* (1) - (2), 可得:
* (y_it - ym_i) = (x_it - xm_i)*b + (e_it - em_i) (4) /*within estimator*/ *
(4)+(3), 可得:
* (y_it-ym_i+ym) = um + (x_it-xm_i+xm)*b + (e_it-em_i+em)
* 可重新表示為:
* Y_it = a_0 + X_it*b + E_it
* 對該模型執行 OLS 估計,即可得到 b 的無偏估計量
**stata後台操作,揭開fe估計的神秘面紗!!!
egen y_meanw = mean(logy), by(id) /*個體內部平均*/
egen y_mean = mean(logy) /*樣本平均*/
egen k_meanw = mean(logk), by(id)
egen k_mean = mean(logk)
egen l_meanw = mean(logl), by(id)
egen l_mean = mean(logl)
gen dyw = logy - y_meanw
gen dkw = logk - k_meanw
gen dlw=logl-l_meanw
reg dyw dkw dlw,nocons
est store m_stata
gen dy = logy - y_meanw + y_mean
gen dk = logk - k_meanw +k_mean
gen dl=logl-l_meanw+l_mean
reg dy dk dl
est store m_stata
est table m_*, b(%6.3f) star(0.1 0.05 0.01)
* 解讀 xtreg,fe 的估計結果
xtreg logy h inv gov open,fe
*-- R^2
* y_it = a_0 + x_it*b_o + e_it (1) pooled OLS
* y_it = u_i + x_it*b_w + e_it (2) within estimator
* ym_i = a_0 + xm_i*b_b + em_i (3) between estimator
*
* --> R-sq: within 模型(2)對應的R2,是一個真正意義上的R2
* --> R-sq: between corr{xm_i*b_w,ym_i}^2
* --> R-sq: overall corr{x_it*b_w,y_it}^2
*
*-- F(4,373) = 855.93檢驗除常數項外其他解釋變數的聯合顯著性
*
*
*-- corr(u_i, Xb) = -0.2347
*
*-- sigma_u, sigma_e, rho
* rho = sigma_u^2 / (sigma_u^2 + sigma_e^2)
dis e(sigma_u)^2 / (e(sigma_u)^2 + e(sigma_e)^2)
*
* 個體效應是否顯著?
* F(28, 373) = 338.86 H0: a1 = a2 = a3 = a4 = a29
* Prob > F = 0.0000 表明,固定效應高度顯著
*---如何得到調整後的 R2,即 adj-R2 ?
ereturn list
reg logy h inv gov open m*
*---擬合值和殘差
* y_it = u_i + x_it*b + e_it
* predict newvar, [option]
/*
xb xb, fitted values; the default
stdp calculate standard error of the fitted values
ue u_i + e_it, the combined resial
xbu xb + u_i, prediction including effect
u u_i, the fixed- or random-error component
e e_it, the overall error component */
xtreg logy logk logl, fe
predict y_hat
predict a , u
predict res,e
predict cres, ue
gen ares = a + res
list ares cres in 1/10
* ---------------------------------
* ---------- 隨機效應模型 ---------
* ---------------------------------
* y_it = x_it*b + (a_i + u_it)
* = x_it*b + v_it
* 基本思想:將隨機干擾項分成兩種
* 一種是不隨時間改變的,即個體效應 a_i
* 另一種是隨時間改變的,即通常意義上的干擾項 u_it
* 估計方法:FGLS
* Var(v_it) = sigma_a^2 + sigma_u^2
* Cov(v_it,v_is) = sigma_a^2
* Cov(v_it,v_js) = 0
* 利用Pooled OLS,Within Estimator, Between Estimator
* 可以估計出sigma_a^2和sigma_u^2,進而採用GLS或FGLS
* Re估計量是Fe估計量和Be估計量的加權平均
* yr_it = y_it - theta*ym_i
* xr_it = x_it - theta*xm_i
* theta = 1 - sigma_u / sqrt[(T*sigma_a^2 + sigma_u^2)]
* 解讀 xtreg,re 的估計結果
use proct.dta, clear
xtreg logy logk logl, re
*-- R2
* --> R-sq: within corr{(x_it-xm_i)*b_r, y_it-ym_i}^2
* --> R-sq: between corr{xm_i*b_r,ym_i}^2
* --> R-sq: overall corr{x_it*b_r,y_it}^2
* 上述R2都不是真正意義上的R2,因為Re模型採用的是GLS估計。
*
* rho = sigma_u^2 / (sigma_u^2 + sigma_e^2)
dis e(sigma_u)^2 / (e(sigma_u)^2 + e(sigma_e)^2)
*
* corr(u_i, X) = 0 (assumed)
* 這是隨機效應模型的一個最重要,也限制該模型應用的一個重要假設
* 然而,採用固定效應模型,我們可以粗略估計出corr(u_i, X)
xtreg market invest stock, fe
*
* Wald chi2(2) = 10962.50 Prob> chi2 = 0.0000
*-------- 時間效應、模型的篩選和常見問題
*---------目錄--------
* 7.2.1 時間效應(雙向固定(隨機)效應模型)
* 7.2.2 模型的篩選
* 7.2.3 面板數據常見問題
* 7.2.4 面板數據的轉換
* ----------------------------------
* ------------時間效應--------------
* ----------------------------------
* 單向固定效應模型
* y_it = u_i + x_it*b + e_it
* 雙向固定效應模型
* y_it = u_i + f_t + x_it*b + e_it
qui tab year, gen(yr)
drop yr1
xtreg logy logk logl yr*, fe
* 隨機效應模型中的時間效應
xtreg logy logk logl yr*, fe
* ---------------------------------
* ----------- 模型的篩選 ----------
* ---------------------------------
* 固定效應模型還是Pooled OLS?
xtreg logy logk logl yr*, fe /*Wald 檢驗*/
qui tab id, gen(m) /*LR檢驗*/
reg logy logk logl /*POLS*/
est store m_ols
reg logy logk logl m*,nocons
est store m_fe
lrtest m_ols m_fe
est table m_*, b(%6.3f) star(0.1 0.05 0.01)
* RE vs Pooled OLS?
* H0: Var(u) = 0
* 方法一:B-P 檢驗
xtreg logy logk logl, re
xttest0
* FE vs RE?
* y_it = u_i + x_it*b + e_it
*--- Hausman 檢驗 ---
* 基本思想:如果 Corr(u_i,x_it) = 0, Fe 和 Re 都是一致的,但Re更有效
* 如果 Corr(u_i,x_it)!= 0, Fe 仍然有效,但Re是有偏的
* 基本步驟
***情形1:huasman為正數
xtreg logy logk logl, fe
est store m_fe
xtreg logy logk logl, re
est store m_re
hausman m_fe m_re
*** 情形2:
qui xtreg logy h inv gov open,fe
est store fe
qui xtreg logy h inv gov open,re
est store re
hausman fe re
* Hausman 檢驗值為負怎麼辦?
* 通常是因為RE模型的基本假設 Corr(x,u_i)=0 無法得到滿足
* 檢驗過程中兩個模型的方差-協方差矩陣都採用Fe模型的
hausman fe re, sigmaless
* 兩個模型的方差-協方差矩陣都採用Re模型的
hausman fe re, sigmamore
*== 為何有些變數會被drop掉?
use nlswork.dta, clear
tsset idcode year
xtreg ln_wage hours tenure ttl_exp, fe /*正常執行*/
* 產生種族虛擬變數
tab race, gen(m_race)
xtreg ln_wage hours tenure ttl_exp m_race2 m_race3, fe
* 為何 m_race2 和 m_race3 會被 dropped ?
* 固定效應模型的設定:y_it = u_i + x_it*b + e_it (1)
* 由於個體效應 u_i 不隨時間改變,
* 因此若 x_it 包含了任何不隨時間改變的變數,
* 都會與 u_i 構成多重共線性,Stata會自動刪除之。
*******異方差、序列相關和截面相關問題
* ---------------- 簡 介 -------------
* y_it = x_it*b + u_i + e_it
*
* 由於面板數據同時兼顧了截面數據和時間序列的特徵,
* 所以異方差和序列相關必然會存在於面板數據中;
* 同時,由於面板數據中每個截面(公司、個人、國家、地區)之間還可能存在內在的聯系, * 所以,截面相關性也是一個需要考慮的問題。
*
* 此前的分析依賴三個假設條件:
* (1) Var[e_it] = sigma^2 同方差假設
* (2) Corr[e_it, e_it-s] = 0 序列無關假設
* (3) Corr[e_it, e_jt] = 0 截面不相關假設
*
* 當這三個假設無法得到滿足時,便分別出現 異方差、序列相關和截面相關問題; * 我們一方面要採用各種方法來檢驗這些假設是否得到了滿足;
* 另一方面,也要在這些假設無法滿足時尋求合理的估計方法。
* ---------------- 假設檢驗 -------------
*== 組間異方差檢驗(截面數據的特徵)
* Var(e_i) = sigma_i^2
* Fe 模型
xtreg logy logk logl, fe
xttest3
* Re 模型
* Re本身已經較大程度的考慮了異方差問題,主要體現在sigma_u^2上
*== 序列相關檢驗
* Fe 模型
* xtserial Wooldridge(2002),若無序列相關,則一階差分後殘差相關系數應為-0.5
xtserial logy logk logl
xtserial logy logk logl, output
* Re 模型
xtreg logy logk logl, re
xttest1 /*提供多個統計檢驗量*/
*== 截面相關檢驗
* xttest2命令 H0: 所有截面殘差的相關系數都相等
xtreg logy logk logl, fe
xttest2
* 由於檢驗過程中執行了SUE估計,所以要求T>N
xtreg logy logk logl if id<6, fe
xttest2
* xtcsd 命令(提供了三種檢驗方法)
xtreg logy logk logl, fe
xtcsd , pesaran /*Pesaran(2004)*/
xtcsd , friedman /*Friedman(1937)*/
xtreg logy logk logl, re
xtcsd , pesaran
* ----------------- 估計方法 ---------------------
*== 異方差穩健型估計
xtreg logy h inv gov open, fe robust
est store fe_rb
xtreg logy h inv gov open, fe robust
est store fe
* 結果對比
esttab fe_rb fe, b(%6.3f) se(%6.3f) mtitle(fe_rb fe)
*== 序列相關估計
* 一階自相關 xtregar, fe/re
* 模型: y_it = u_i + x_it*b + v_it (1)
* v_it = rho*v_it-1 + z_it (2)
xtregar logy h inv gov open, fe
est store fe_ar1
xtregar logy h inv gov open,fe lbi /*Baltagi-Wu LBI test*/
『貳』 CAD的拉伸怎麼用
操作方法:
1、打開CAD,單擊S鍵;
騰訊電腦管家幫助了解更多知識,體驗更多功能。