

2025年4月8日,Stata公司正式宣布Stata 19上線啦!或許計量小伙伴們還沒把Stata 18捂熱,Stata公司就推出了功能更為強大的Stata 19。工欲善其事,必先利其器。Stata公司正如“有匪君子,如切如磋,如琢如磨”,將Stata利器打造得日益精良與強大。
Stata之所以能成為流行的計量經(jīng)濟學(xué)軟件,根本原因在于Stata十分貼近計量經(jīng)濟學(xué)的實踐應(yīng)用。此次Stata 19的全新升級,一如既往地切中了時下實證研究的熱點與痛點??偨Y(jié)起來,主要有以下六大方面更新,下面將分別介紹:
1、機器學(xué)習(xí)(隨機森林,梯度提升法)2、面板數(shù)據(jù)(高維固定效應(yīng),相關(guān)隨機效應(yīng),面板VAR)3、因果推斷(條件平均處理效應(yīng),控制函數(shù)法,弱工具變量穩(wěn)健推斷等)4、貝葉斯方法(貝葉斯變量選擇、分位數(shù)回歸、自助法)5、其他計量方法(久期模型,相關(guān)系數(shù)的元分析等)6、Stata基礎(chǔ)功能升級(Do文件編輯器,畫圖,制表等)
1、機器學(xué)習(xí)
自從Stata 16引入了拉索估計量(lasso),計量小伙伴們一直在期待Stata官方命令能引入另一類常用的機器學(xué)習(xí)方法,即基于決策樹(decision trees)的集成學(xué)習(xí)方法(ensemble learning),包括隨機森林(random forest)與梯度提升法(gradient boosting machine)。Stata 19讓我們的夢想成真了!
Stata 19提供了一套新的h2oml命令,可輕松地接入開源的大數(shù)據(jù)機器學(xué)習(xí)平臺H2O,針對回歸(regression)或分類(classification)問題使用隨機森林或梯度提升法。H2O使得機器學(xué)習(xí)變得更加容易,有時稱為AutoML。我們直接上例子吧!
在Stata中初始化(initiate)H2O:
. h2o init
將Stata內(nèi)存中的當(dāng)前(current)數(shù)據(jù)集導(dǎo)入H2O,并記為“dataframe”:
. _h2oframe put, current into(dataframe)
針對二分類問題(binary classification),進行梯度提升法的估計,并自動選擇有關(guān)決策樹數(shù)目(number of trees)與學(xué)習(xí)率(learning rate)的zui優(yōu)超參數(shù)(hyperparameters):
. h2oml gbbinclass response predictors, ntrees(20(10)200) lrate(0.1(0.1)1)
其中,gbbinclass表示“gradient boosting binary classification”,response為響應(yīng)變量(即被解釋變量),predictors為預(yù)測變量(即解釋變量)。選擇項“ntrees(20(10)200) ”表示從{20, 30,...,200}中選擇zui優(yōu)的決策樹數(shù)目,而“l(fā)rate(0.1(0.1)1)”表示從{0.1, 0.2,...,1}中選擇zui優(yōu)的學(xué)習(xí)率。
畫變量重要性圖(variable importance plot):
. h2omlgraph varimp
使用已估計模型,進行預(yù)測:
. _h2oframe change newdata
. h20mlpredict outcome_pred
2、面板數(shù)據(jù)
Stata 19引入了有關(guān)面板數(shù)據(jù)的若干新命令或選擇項,包括高維固定效應(yīng)(high dimensional FE)、相關(guān)隨機效應(yīng)(correlated random effects)、面板向量自回歸(panel VAR),給用戶帶來了強大的新功能與便利。
2.1 高維固定效應(yīng)
不少計量小伙伴們知道用于估計高維固定效應(yīng)(high-dimensional fixed effects)的非官方Stata命令reghdfe。這次Stata 19將其相應(yīng)功能納入了官方命令(無須額外命令,僅新增了一個選擇項),使得操作更為簡便可靠!
例如,在估計面板固定效應(yīng)模型時,假設(shè)我們還想額外地控制三個分類變量(categorical variables)z1, z2與z3,只要在常規(guī)命令加上absorb()的選擇項即可:
. xtreg y x, fe absorb(z1 z2 z3)
類似地,我們在進行二階段zui小二乘法(2SLS)估計時,也可以使用absorb()的選擇項:
. ivregress 2sls y1 x1 (y2 = x2), absorb(z1 z2 z3)
這真的太方便啦!
2.2 相關(guān)隨機效應(yīng)
靜態(tài)面板的兩個常用模型為隨機效應(yīng)(random effects,簡記RE)與固定效應(yīng)(fixed effects,簡記FE)。然而,二者均有缺點。隨機效應(yīng)模型不夠穩(wěn)健,如果解釋變量與個體效應(yīng)相關(guān),則得不到一致估計。另一方面,雖然固定效應(yīng)模型較為穩(wěn)健,但無法估計非時變(time-invariant)變量的系數(shù)。為此,Stata 19推出了“相關(guān)隨機效應(yīng)”(correlated random effects,簡記CRE),可以兼顧二者的優(yōu)點。
CRE模型允許解釋變量與個體效應(yīng)相關(guān),且時變(time-varying)變量的系數(shù)估計值與FE完全相同,故本質(zhì)上為FE模型。在算法上,CRE估計量將時變變量的組平均值加入混合回歸中,故可視為一種控制函數(shù)法(通過時變變量的組平均值來控制遺漏變量)。由于CRE未做組內(nèi)離差變換,故也可以估計出非時變變量的系數(shù),這是CRE的優(yōu)點。以數(shù)據(jù)集nlswork為例,可輸入如下命令:
. webuse nlswork
. xtreg ln_wage tenure age i.race, cre vce(cluster idcode)
其中,選擇項“CRE”表示相關(guān)隨機效應(yīng)。所得回歸結(jié)果參見下圖。
在該回歸結(jié)果的zui后一行,提供了蒙德拉克設(shè)定檢驗(Mundlak specification test)的結(jié)果,強烈拒絕RE的原假設(shè),而支持CRE模型。另外,該檢驗也可以在估計完RE或FE模型后單獨使用,例如:
. quietly xtreg ln_wage tenure age i.race, vce(cluster idcode)
. estat mundlak
蒙德拉克設(shè)定檢驗的作用類似于豪斯曼檢驗(Hausman test),但前者的優(yōu)點是可直接使用聚類穩(wěn)健標(biāo)準(zhǔn)誤,且只要作一個回歸即可(豪斯曼檢驗需要作兩個回歸)。檢驗結(jié)果顯示,強烈拒絕RE的原假設(shè),而支持FE與CRE的替代假設(shè)。
2.3 面板向量自回歸
向量自回歸(vector autoregressoin,簡記VAR)是常見的時間序列模型,但由于VAR模型的待估參數(shù)較多,故一般需要較長的時間維度。面板向量自回歸(panel vector autogression,簡記Panel VAR)將VAR模型推廣到面板數(shù)據(jù)中。面板VAR模型既包含個體固定效應(yīng),也包括被解釋變量的滯后項,故可視為動態(tài)面板模型(dynamic panel-data model)與VAR模型的結(jié)合。相應(yīng)地,面板VAR模型的估計方法類似于動態(tài)面板,主要使用廣義矩估計(generalized method of moment,簡記GMM)。其漸近理論要求橫截面單位的數(shù)量趨向無窮大,故適用于時間維度較短的短面板。
以瑞典政府開支數(shù)據(jù)集swedishgov為例,可輸入如下命令:
. webuse swedishgov.dta
. xtvar grants revenues expenditures, lags(2)
其中,“xtvar, lag(2)”表示將被解釋變量滯后二階進行面板VAR估計。
在估計面板VAR模型后,還可使用命令vargranger進行格蘭杰因果檢驗,并使用irf系列的命令估計脈沖響應(yīng)函數(shù),并畫脈沖響應(yīng)圖;在Stata操作上非常類似于VAR模型。
3、因果推斷
因果推斷始終是實證研究的核心方法。Stata 19在因果推斷方面的功能也進一步加強,新推出的方法包括條件平均處理效應(yīng)(CATE)以及有關(guān)工具變量法的一些新方法。
3.1 條件平均處理效應(yīng)
因果推斷關(guān)注的對象一般為全樣本的平均處理效應(yīng)(average treatment effect,簡記ATE)或處理組平均處理效應(yīng)(average treatment effect on the treated,簡記ATT或ATET)。然而,不同個體的處理效應(yīng)很可能存在異質(zhì)性,而研究者有時感興趣,異質(zhì)性處理效應(yīng)如何隨著個體特征而變。例如,電商平臺可能關(guān)心價格折扣如何影響消費者行為,而價格折扣的處理效應(yīng)可能依賴于消費者的年齡與收入。
為此,Stata 19推出了全新的cate命令,用于估計“條件平均處理效應(yīng)”(conditional average treatment effect,簡記CATE),即在給定某種個體特征條件下的平均處理效應(yīng)。命令cate可以估計三種不同類型的CATE,包括“個體平均處理效應(yīng)”(individualized average treatment effect),“分組平均處理效應(yīng)”(group average treatment effect)及“排序分組平均處理效應(yīng)”(sorted group average treatment effect)。除了估計外,cate系列命令還可進行預(yù)測、可視化及統(tǒng)計推斷。
Stata 19的cate命令功能強大、靈活而穩(wěn)健。例如,在對結(jié)果回歸(outcome regression)與處理效應(yīng)模型(treatment models)建模時,可使用參數(shù)模型(parametric models),拉索估計量(lasso)或廣義隨機森林(generalized random forest;有時也稱為“誠實森林”,即honest forest)。該命令提供了兩個穩(wěn)健估計量,即“偏效應(yīng)過濾”(partialling out)與“增強逆概加權(quán)”(augmented inverse probability weighting),其中后者為雙穩(wěn)健估計量(doubly robust estimator);并使用“交叉擬合”(cross-fitting)以避免過擬合(overfitting)。
3.2 控制函數(shù)法
傳統(tǒng)的工具變量法一般使用二階段zui小二乘法(two-stage least squares,簡記2SLS)。2SLS之所以成立,是因為第yi階段回歸為線性模型,而線性回歸的OLS估計具有正交性。這也意味著,2SLS一般無法推廣到非線性模型中;例如,當(dāng)內(nèi)生變量為虛擬變量時,第yi階段回歸為Probit模型。
為此,Stata 19新推出了更為靈活的“控制函數(shù)法”(control function approach,簡記CF),不僅可用于線性模型,而且也適用于非線性模型,例如第yi階段回歸為Probit。假設(shè)y1為被解釋變量,x為外生解釋變量,y2為內(nèi)生解釋變量,而z1與z2為工具變量,則傳統(tǒng)的2SLS命令為
. ivregress 2sls y1 x (y2 = z1 z2)
若使用控制函數(shù)法,可調(diào)用Stata 19的cfregress命令:
. cfregress y1 x (y2 = z1 z2)
事實上,由于這是線性回歸,故以上兩個命令語句的回歸結(jié)果完全相同(系數(shù)估計值與標(biāo)準(zhǔn)誤均相同);盡管二者的算法不同。在算法上,二者的第yi階段回歸相同,但第二階段回歸則不同(盡管zui終結(jié)果在數(shù)值上相等):2SLS將第yi階段回歸的擬合值代入原方程,替代內(nèi)生解釋變量進行OLS回歸;而CF則將第yi階段回歸的殘差作為遺漏變量加入原方程,進行OLS回歸。
控制函數(shù)法的優(yōu)勢在于,第yi階段回歸也可以使用非線性回歸。例如,若內(nèi)生解釋變量y2為虛擬變量,則可使用Probit進行第yi階段回歸:
. cfregress y1 x (y2 = z1 z2,probit)
如果被解釋變量y1為虛擬變量,則使用2SLS將無視y1服從兩點分布的事實,而強行擬合線性模型。此時,可使用Stata 19新推出的cfprobit命令,使用控制函數(shù)法進行IV估計:
. cfprobit y1 x (y2 = z1 z2)
如果內(nèi)生解釋變量y2也為虛擬變量,則可輸入命令
. cfprobit y1 x (y2 = z1 z2,probit)
3.3 弱工具變量穩(wěn)健推斷
使用工具變量法進行因果推斷一般要求強工具變量。在弱工具變量(weak instrument)的情況下,2SLS估計量變得不可靠,即使在大樣本下。這是因為2SLS估計量其實是一個比值(ratio),而在弱工具變量的情況下,該比值的分母接近于0,導(dǎo)致統(tǒng)計推斷失效。
為此,Stata 19推出了安德森-魯賓檢驗(Anderson-Rubin test),不再使用上述比值進行統(tǒng)計推斷,故即使在弱工具變量的情況下依然穩(wěn)健。例如:
. ivregress 2sls y1 x (y2 = z1 z2)
. estat weakrobust
此估計后命令(postestimation command)“estat weakrobust”也可以在命令ivregress gmm與ivregress liml之后使用。
3.4 時間序列的工具變量法
Stata 19專門推出了針對時間序列的工具變量法,包括通過工具變量法估計結(jié)構(gòu)VAR模型,以及使用工具變量法估計脈沖響應(yīng)函數(shù)。例如:
使用廣義矩估計(GMM)估計結(jié)構(gòu)向量自回歸(Structural VAR,簡記SVAR)模型:
. ivsvar gmm y1 y2 (shock = z1 z2)
在使用“局部投影”(local projection),通過脈沖響應(yīng)函數(shù)(impulse response function,簡記IRF)估計動態(tài)因果效應(yīng)(dynamic causal effects)時,以工具變量法克服潛在的內(nèi)生性:
. ivlpirf y, endogenous(x = iv)
其中,y為響應(yīng)變量(response variable),x為內(nèi)生的脈沖變量(impulse variable),而iv為工具變量。
4、貝葉斯方法
Stata 19在貝葉斯計量經(jīng)濟學(xué)(Bayesian econometrics)方面的功能繼續(xù)得到加強,新增方法包括貝葉斯變量選擇、分位數(shù)回歸及自助法等。例如:
使用貝葉斯方法從變量x1-x100中進行變量選擇:
. bayesselect y x1-x100
使用貝葉斯方法進行分位數(shù)回歸(quantile regression):
. bayes: qreg y x1 x2
其中,前綴(prefix)“bayes”表示使用貝葉斯方法進行分位數(shù)回歸,而非通常頻率學(xué)派(frequentist school)的分位數(shù)回歸。
使用貝葉斯自助法(Bayesian bootstrap)估計x的均值:
. bayesboot r(mean): summarize x
其中,前綴(prefix)“bayesboot ”表示使用貝葉斯方法來匯報變量x的統(tǒng)計特征,并提取其均值。
5、其他計量方法
Stata 19還提供了其他方面的計量新方法,包括久期模型、相關(guān)系數(shù)的元分析、潛類別模型等。
5.1 久期模型
久期模型(duration model)的被解釋變量為某事件存續(xù)的時間,例如失業(yè)持續(xù)時間,病人存活的時長等。在原有久期模型的Stata模塊基礎(chǔ)上(命令均以st開頭),針對存在“區(qū)間刪失”(interval-censored)的多事件數(shù)據(jù)(multiple-events data),Stata 19提供了估計“邊際考克斯比例風(fēng)險模型”(marginal Cox proportional hazards model)的新命令stmgintcox。
5.2 相關(guān)系數(shù)的元分析
在文獻中,針對同一問題,常常有多項類似的研究,但所得估計結(jié)果不盡相同。如何將這些相似研究的結(jié)果進行整合,以得到統(tǒng)一的結(jié)論,這正是“元分析”(meta-analysis)的目標(biāo)。在Stata原有的元分析meta命令模塊中,Stata 19新增了對于相關(guān)系數(shù)的元分析功能。相關(guān)系數(shù)無疑是zui重要的描述性統(tǒng)計之一。
5.3 潛類別模型
“潛類別模型”(latent class model)是一種常見的統(tǒng)計模型,它假設(shè)數(shù)據(jù)來自于若干總體(或類別)的混合,故也稱為“有限混合模型”(finite mixture model);例如,三個服從正態(tài)分布的總體按照一定比例的混合。如果知道類別的數(shù)目,則可使用原有的Stata命令gsem(表示generalized structural equation model)進行估計。例如,分別估計單類別(one-class)、雙類別(two-class)與三類別(three-class)的潛類別模型,并存儲相應(yīng)的估計結(jié)果:
. gsem (y1 y2 y3 y4 <- ), logit lclass(C 1)
. estimates store oneclass
. gsem (y1 y2 y3 y4 <- ), logit lclass(C 2)
. estimates store twoclass
. gsem (y1 y2 y3 y4 <- ), logit lclass(C 3)
. estimates store threeclass
Stata 19提供了對以上所估計的三個潛類別模型進行模型比較(model-comparison)的統(tǒng)計量及檢驗,可輸入命令:
. lcstats
其中,“l(fā)c”表示latent class(潛類別),而“stats”表示statistics(統(tǒng)計量)。
6、Stata基礎(chǔ)功能提升
6.1 Do文件編輯器
Stata 19的Do文件編輯器(Do-file Editor)變得更為強大,新增功能包括:
?。?)變量名(variable names)、宏(macros)與存儲結(jié)果(stored results)的自動補全(autocompletion);
?。?)方便用戶使用的Do文件編輯器模板(Do-file Editor templates);
?。?)對當(dāng)前詞(current word)在編輯器中的所有出現(xiàn)之處均提供高亮(highlighting),無論大小寫(case-insensitive);并對當(dāng)前所選內(nèi)容(current selection)在編輯器中的所有出現(xiàn)之處均提供高亮(highlighting),區(qū)分大小寫(case sensitive)。
(4)括號高亮(bracket hightlighting),即對包含當(dāng)前光標(biāo)的括號(the brackets enclosing the current cursor position)提供高亮。
?。?)代碼折疊功能的提升(code folding enhancement),包括新增的菜單欄目(menu items)“Fold all”(折疊全部可折疊代碼), “Unfold all”(展開所有已折疊代碼)與“Fold selection”(折疊所選內(nèi)容)。
6.2 畫圖
Stata 19的畫圖功能也變得更為強大,新增功能包括:
?。?)通過新增命令twoway heatmap畫熱圖(heat maps),即在變量(x, y)取值的網(wǎng)格上,以小方塊的顏色變化來表示對應(yīng)變量z的取值高低。
(2)通過新增命令twoway rpspikes畫“刺形”的點圖或范圍圖(plot points and ranges indicated by spikes),例如展示某統(tǒng)計量及其相應(yīng)的置信區(qū)間。
?。?)通過新增命令twoway rpcaps畫“帶帽刺形”的點圖或范圍圖(plot points and ranges indicated by spikes with caps),例如展示某統(tǒng)計量及其相應(yīng)的置信區(qū)間。
?。?)在使用命令graph bar畫柱狀圖/條形圖(bar plot)時,可畫樣本均值及其置信區(qū)間,以及在標(biāo)簽與控制條形分組方面的改進(improved labelling, and control of bar groupings)。
(5)在使用命令graph dot畫點狀圖(dot chart)時,可畫樣本均值及其置信區(qū)間,以及在標(biāo)簽與控制點狀分組方面的改進(improved labelling, and control of dot groupings)。
(6)在使用命令graph box畫箱形圖(box plot)時,改進了標(biāo)簽與對箱形分組的控制(improved labelling, and control of box groupings)。
?。?)根據(jù)變量上色(colors by variable)的選擇項colorvar(),可適用于更多的twoway plot命令,包括line, connected, tsline, rconnected及tsrline等。
6.3 制表
Stata 19的制表功能也得以進一步提升,可更方便地創(chuàng)建與定制表格,例如:
?。?)Stata的制表命令table新增了增加標(biāo)題的選擇項title(),增加腳注的選擇項note(),以及將表格導(dǎo)出為指定文件格式(例如Word, LaTex, Excel等)的選擇項export()。
?。?)更簡便的方差分析表格(easier ANOVA tables)。
Stata 19制表功能的更多細節(jié)改進,可參見Stata官網(wǎng)(www.stata.com)。
總之,Stata 19是一次令人激動的重大升級,在機器學(xué)習(xí)、因果推斷、面板數(shù)據(jù)、貝葉斯方法、Stata基礎(chǔ)功能等領(lǐng)域均推出了功能強大的新方法,更加貼近計量實戰(zhàn)的需求。顯然,在可預(yù)見的將來,Stata 仍將是經(jīng)管社科的計量與統(tǒng)計軟件。
關(guān)于 Stata 19 的更多詳細內(nèi)容,請點擊頁底 “閱讀原文”。
備注:為保護正版軟件權(quán)益,防止盜版軟件的傳播,如對Stata 19感興趣的學(xué)者,可聯(lián)系StataCorp, LLC官方授權(quán)合作伙伴北京友萬信息科技有限公司(友萬科技)采購正版軟件或申請試用。
具體申請方式如下:申請方式 1: 聯(lián)系徐老師 18610597626 (手機/微信同號)。申請方式 2: 掃描下方二維碼