作者: 黃俊凱 (中國人民大學財政金融學院 )
郵箱: kopanswer@126.com
連享會:因果推斷專題
因果推斷連享會:空間計量專題
目錄[
1. 理論回顧
1.1 suest 的基準模型
1.2 `suest` 的假設檢驗
2. suest 實例
2.1 係數差異檢驗 (不同模型)
2.2 係數差異檢驗 (不同樣本)
2.3 廣義豪斯曼檢驗
擴展命令
參考文獻和資料
溫馨提示: 文中連結在微信中無法生效。請點擊底部「閱讀原文」。
在上一篇推文「SUR:似無相關估計是個啥東東?」 (微信版) 中,我們介紹了 SUR 模型的基本思想、估計方法和一些典型的應用。本文進一步介紹 SUR 模型的兩個進階用法:一是模型之間係數差異的檢驗;二是廣義 Hausman 檢驗。
1. 理論回顧
sureg 命令的模型設定僅限於 GLS,無法進行標準誤的調整,也無法使用其他常見的模型。本文我們介紹 suest 命令,它基於 「得分」 計算出係數的方差-協方差矩陣,因此並不局限於線性回歸,也不局限於球形擾動項的嚴格前提。suest 命令默認 (對模型錯誤設定) 穩健的標準誤,使用者也可以通過 vce(cluster clustervar) 指定 (允許組內相關的) 聚類穩健標準誤。
suest 命令只能支持那些可以計算得分 (predict newvar, score ) 的回歸,包括但不限於 logit、probit、heckman、poisson、zip 等基於極大似然估計的回歸。但隨後版本的 Stata 的 regress 命令也支持計算得分 (實際上是殘差),因此現在的 suest 也支持線性回歸。
1.1 suest 的基準模型通常,在相同的數據 (或有重疊的數據集) 上估計不同模型時,估計量會相關。此時,若要檢驗一個估計量之間的假設
考慮一個有
對任意係數
極大似然估計量
根據 White (1994),在合適的正則條件 (suitable regularity conditions) 下,
其中
Weesie (1999) 將得分 「堆棧」 (stack) 的估計方程表示為:
在合適的正則條件下,
顯然,
從而得到
其中,對角元
而 「堆棧」 的好處就在於,我們還能方便的得到非對角元
該表達式也是 Rogers (1993) 提出的聚類修正的三明治估計量的一個應用。我們考慮這樣一個簡單的情形:數據集中前一半的觀測值用 logit 模型,後一半用 OLS 模型,並且前一半和後一半之間存在一對一的聚類。如果兩個模型之間沒有共同的參數,「堆棧」 模型的得分在它不屬於的那一半中等於
1.2 suest 的假設檢驗在估計出
因此可以方便的為
統計量
豪斯曼檢驗常被用於判斷估計量的一致性和有效性。豪斯曼 (1978) 證明了當
所以有:
而由於
2. suest 實例2.1 係數差異檢驗 (不同模型)
logit 模型和 probit 模型的係數有可比性嗎?我們用 suest 命令來一探究竟。
sysuse auto, clear
qui logit foreign price rep78
est sto m1
qui probit foreign price rep78
est sto m2
suest m1 m2
estat vce, corr通過 estat vce, corr 命令,我們可以查看估計量的相關係數矩陣。
Correlation matrix of coefficients of suest model
| m1_for~n | m2_for~n
e(V) | price rep78 _cons | price rep78 _cons
---++
m1_foreign | |
price | 1.0000 |
rep78 | 0.0660 1.0000 |
_cons | -0.4275 -0.9164 1.0000 |
---++
m2_foreign | |
price | 0.9957 0.0710 -0.4223 | 1.0000
rep78 | 0.0543 0.9996 -0.9090 | 0.0607 1.0000
_cons | -0.4371 -0.9151 0.9990 | -0.4357 -0.9084 1.0000接下來,我們檢驗 logit 模型和 probit 模型的係數是否相等。
test [m1_foreign]price = [m2_foreign]price, notest
test [m1_foreign]rep78 = [m2_foreign]rep78, acc(1) [m1_foreign]price - [m2_foreign]price = 0
(2) [m1_foreign]rep78 - [m2_foreign]rep78 = 0
chi2(2) = 13.07
Prob > chi2 = 0.0015可以看出,
然而,logit 模型和 probit 模型是基於不同的量綱,標準邏輯分布的標準差為
非線性的 Wald 檢驗對模型設定相當敏感,我們也可以構造一個更加 「線性化」 的原假設:
我們用 testnl 命令執行非線性 Wald 檢驗。
testnl [m1_foreign]price/[m1_foreign]rep78 = [m2_foreign]price/[m2_foreign]rep78
chi2(1) = 0.85
Prob > chi2 = 0.3567testnl [m1_foreign]price*[m2_foreign]rep78 = [m2_foreign]price*[m1_foreign]rep78
chi2(1) = 0.83
Prob > chi2 = 0.3630此時,
2.2 係數差異檢驗 (不同樣本)事實上,suest 用於係數差異檢驗在「Stata: 如何檢驗分組回歸後的組間係數差異?」 (知乎版) 一文已經介紹過。
eststo clear
sysuse auto, clear
reg price rep78 headroom trunk weight length if foreign == 0
est sto m1
reg price rep78 headroom trunk weight length if foreign == 1
est sto m2
suest m1 m2
test [m1_mean = m2_mean]
test [m1_mean = m2_mean], constant
test [m1_mean]rep78 = [m2_mean]rep78
test [m1_mean]length = [m2_mean]length上面的代碼表明,我們既可以用 test [m1_mean = m2_mean] 檢驗兩組的全部係數是否相等。檢驗結果如下,兩組係數在
(1) [m1_mean]rep78 - [m2_mean]rep78 = 0
(2) [m1_mean]headroom - [m2_mean]headroom = 0
(3) [m1_mean]trunk - [m2_mean]trunk = 0
(4) [m1_mean]weight - [m2_mean]weight = 0
(5) [m1_mean]length - [m2_mean]length = 0
chi2(5) = 13.15
Prob > chi2 = 0.0220如果還要求包括常數項,你還可以加入 constant 選項,此時命令變成 test [m1_mean = m2_mean], constant,檢驗結果如下,在加入常數項後兩組係數的差異更加顯著,
(1) [m1_mean]rep78 - [m2_mean]rep78 = 0
(2) [m1_mean]headroom - [m2_mean]headroom = 0
(3) [m1_mean]trunk - [m2_mean]trunk = 0
(4) [m1_mean]weight - [m2_mean]weight = 0
(5) [m1_mean]length - [m2_mean]length = 0
(6) [m1_mean]_cons - [m2_mean]_cons = 0
chi2(6) = 61.00
Prob > chi2 = 0.0000suest 也支持單變量比較,以變量 rep78 為例,使用的命令為 test [m1_mean]rep78 = [m2_mean]rep78,下方的結果表明,
(1) [m1_mean]rep78 - [m2_mean]rep78 = 0
chi2( 1) = 1.70
Prob > chi2 = 0.19292.3 廣義豪斯曼檢驗suest 是一個估計後命令,suest 命令後既可以使用 test、testnl、lincom、nlcom 等命令進行假設檢驗,也可以進行聚類穩健的標準誤調整或調查設計效果。suest 適用於不同模型組成的方程組,比如 OLS 模型和 probit 模型組成的方程組。suest 也適用於由對不同樣本的估計組成的方程組,比如有交集的數據或無交集的數據。suest 還可以與 vce(robust) 和 vce(cluster clustvar) 選項連用。此外,儘管是估計後命令,suest 的結果還可以用 eststo 命令保存。
在下面這個例子中,我們將藉助「Stata-多元 Logit 模型詳解 (mlogit)」 (知乎版) 所需的無關方案獨立性檢驗 (Independence of Irrelevant Alternatives, IIA) 比較豪斯曼檢驗和廣義豪斯曼檢驗。在該例中,被解釋變量 insurance 是一個分類變量 (categorical variable ):等於
eststo clear
*數據下載地址:https://gitee.com/arlionn/data/blob/master/data01/sysdsn4.dta
use sysdsn4.dta, clear
tab insureinsure | Freq. Percent Cum.
--+--
Indemnity | 294 47.73 47.73
Prepaid | 277 44.97 92.69
Uninsure | 45 7.31 100.00
--+--
Total | 616 100.00在無關方案獨立性 (IIA) 假設下,當我們從方案集合 (Alternatives) 中剔除某個方案時,回歸係數不發生系統性的改變。因此,我們分別對全樣本、排除 uninsure 方案的子樣本和排除 prepaid 方案的子樣本進行多項 logit 回歸,用 est sto 命令保存,並用 est tab 命令展示三個樣本的回歸結果。
qui mlogit insure age male
est sto m1, title(all three insurance forms)
qui mlogit insure age male if insure != "Uninsure":insure
est sto m2, title(insure != "Uninsure":insure)
qui mlogit insure age male if insure != "Prepaid":insure
est sto m3, title(insure != "Prepaid":insure)
est tab m1 m2 m3, b(%8.3f) star stats(N ll) keep(Prepaid: Uninsure:)
-
Variable | m1 m2 m3
---+--
Prepaid |
age | -0.010 -0.010
male | 0.510** 0.514**
_cons | 0.263 0.268
---+--
Uninsure |
age | -0.005 -0.004
male | 0.475 0.459
_cons | -1.757*** -1.802***
---+--
Statistics |
N | 615 570 338
ll | -551.328 -390.486 -131.768
-
legend: * p<0.05; ** p<0.01; *** p<0.001獲得回歸結果後,我們可以進行豪斯曼檢驗:
hausman m2 m1, alleqs constant
hausman m3 m1, alleqs constant全樣本與排除 uninsure 方案的子樣本之間的豪斯曼檢驗結果如下表所示,可以看出模型 m1 和 m2 的係數 (包括常數項的係數) 無差異 (
---- Coefficients ----
| (b) (B) (b-B) sqrt(diag(V_b-V_B))
| m2 m1 Difference S.E.
--+
age | -.0101521 -.0100251 -.0001269 .
male | .5144003 .5095747 .0048256 .0123338
_cons | .2678043 .2633838 .0044205 .
---
b = consistent under Ho and Ha; obtained from mlogit
B = inconsistent under Ha, efficient under Ho; obtained from mlogit
Test: Ho: difference in coefficients not systematic
chi2(3) = (b-B)'[(V_b-V_B)^(-1)](b-B)
= 0.08
Prob>chi2 = 0.9944
(V_b-V_B is not positive definite)全樣本與排除 prepaid 方案的子樣本之間的豪斯曼檢驗結果如下表所示,可以看出,模型 m1 和 m3 的係數也無差異,但
---- Coefficients ----
| (b) (B) (b-B) sqrt(diag(V_b-V_B))
| m3 m1 Difference S.E.
--+----
age | -.0041055 -.0051925 .001087 .0021355
male | .4591074 .4748547 -.0157473 .
_cons | -1.801774 -1.756843 -.0449311 .1333421
--
b = consistent under Ho and Ha; obtained from mlogit
B = inconsistent under Ha, efficient under Ho; obtained from mlogit
Test: Ho: difference in coefficients not systematic
chi2(3) = (b-B)'[(V_b-V_B)^(-1)](b-B)
= -0.18 chi2<0 ==> model fitted on these
data fails to meet the asymptotic
assumptions of the Hausman test;
see suest for a generalized test接下來,我們首先用 suest 儲存三個模型的回歸結果,並分別用 test 命令對 m1 和 m2、m1 和 m3、以及 m1 m2 和 m3 的係數進行廣義豪斯曼檢驗。可以看出,全部
suest m1 m2, noomitted
test [m1_Prepaid = m2_Prepaid], cons
chi2(3) = 0.89
Prob > chi2 = 0.8266suest m1 m3, noomitted
test [m1_Uninsure = m3_Uninsure], cons
chi2(3) = 1.49
Prob > chi2 = 0.6845suest m1 m2 m3, noomitted
test [m1_Prepaid = m2_Prepaid], cons notest
test [m1_Uninsure = m3_Uninsure], cons accchi2(6) = 1.95
Prob > chi2 = 0.9240如果觀測值是聚類在城市層面的 (cityid),經典的「McFadden-Hausman」 檢驗不再合適,因為沒有一個估計量是有效的。但我們可以通過選項 vce(cluster cityid) 來輕鬆地校正豪斯曼統計需要的統計量,具體如下:
suest m1 m2, vce(cluster cityid) noomitted
test [m1_Prepaid = m2_Prepaid], cons(1) [m1_Prepaid]age - [m2_Prepaid]age = 0
(2) [m1_Prepaid]male - [m2_Prepaid]male = 0
(3) [m1_Prepaid]_cons - [m2_Prepaid]_cons = 0
chi2(3) = 0.79
Prob > chi2 = 0.8529統計結果再次表明,我們的模型滿足 IIA 假定。
溫馨提示: 文中連結在微信中無法生效。請點擊底部「閱讀原文」。
擴展命令
其他似不相關估計的擴展命令
nlsur 命令用可行廣義非線性最小二乘法 (FGNLS) 擬合非線性方程組。該命令提供了靈活的語法,甚至可以用該命令快速編寫函數計算器程序。xtsur 命令對似不相關的非平衡面板數據集進行單向隨機效應估計,最早由 Biorn (2004) 提出。bireprob 命令擬合一個二值隨機效應 Probit 模型,該模型考慮了隨機效應誤差項和異質性衝擊的相關性,並最大化模擬的似然估計。該命令在使用前需要將數據聲明為面板數據 xtset,並要求安裝 mdraws 命令。sudcd命令用於聯合估計一個離散選擇模型和一個久期 (生存) 模型。其基本原理類似於 SUR 模型,但允許使用者估計服從指數分布、威布爾分布或對數正態分布的似不相關離散選擇-久期方程組。rifsureg 命令用再中心化影響函數的估計方法執行似不相關的分位數回歸,這是一種重要的無條件分位數回歸模型。聯立方程的擴展命令
reg3 是三階段最小二乘法 3SLS 的命令。3SLS 最早由 Zellner and Theil (1992) 提出,是聯立方程的完全信息估計方法,雖然有偏但比 2SLS 更有效。reg3 的功能十分廣泛,除了支持 3SLS,還提供支持似不相關估計的選項 sure、多元回歸mvreg、支持逐方程 OLS 的選項 ols 和支持 2SLS 的選項 2sls,使用者可以方便的比較不同方法的異同。估計後命令可以參考 help reg3 postestimation。參考文獻和資料連享會推文,Stata: 如何檢驗分組回歸後的組間係數差異?-Link-連享會推文,Stata: 多元 Logit 模型詳解 (mlogit) -Link-Biørn, Erik. "Regression systems for unbalanced panel data: a stepwise maximum likelihood procedure." Journal of Econometrics 122.2 (2004): 281-291. -Link-Boehmke, Frederick J. "The influence of unobserved factors on position timing and content in the NAFTA vote." Political Analysis (2006): 421-438. -Link-Hausman, Jerry A. "Specification tests in econometrics." Econometrica: Journal of the econometric society (1978): 1251-1271. -Link-Hausman, Jerry, and Daniel McFadden. "Specification tests for the multinomial logit model." Econometrica: Journal of the Econometric Society (1984): 1219-1240. -Link-Rogers, William. "Regression standard errors in clustered samples." Stata technical bulletin 3.13 (1994). -Link-Weesie, J. 1999. sg121: Seemingly unrelated estimation and the cluster-adjusted sandwich estimator. Stata Technical Bulletin 52: 34–47. Reprinted in Stata Technical Bulletin Reprints, vol. 9, pp. 231–248. College Station, TX: Stata Press. -Link-White, Halbert. "Maximum likelihood estimation of misspecified models." Econometrica: Journal of the Econometric Society (1982): 1-25. -Link-Zellner, Arnold, and Henri Theil. "Three-stage least squares: simultaneous estimation of simultaneous equations." Henri Theil’s Contributions to Economics and Econometrics. Springer, Dordrecht, 1992. 147-178. -Link-
溫馨提示: 文中連結在微信中無法生效。請點擊底部「閱讀原文」。
🎦 連享會小程序:掃一掃,看推文,看視頻……
🍉 掃碼加入連享會微信群,提問交流更方便
🍅 連享會學習群-常見問題解答匯總:
👉 https://gitee.com/arlionn/WD