如何利用統(tǒng)計(jì)軟件Stata進(jìn)行回歸分析
原創(chuàng)【51CTO.com原創(chuàng)稿件】數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)在如今的社會(huì)早已成為經(jīng)典的流行技術(shù)。采用相關(guān)技術(shù)的企業(yè)不在少數(shù),并且為社會(huì)產(chǎn)生了極大的效益。流行的數(shù)據(jù)挖掘軟件非常多,比如 Scikit-Learn、Pandas、R、Spark MLLib 等等,極大的方便了廣大從業(yè)者的日常開發(fā)和數(shù)據(jù)分析工作。
在開源軟件流行的今天,傳統(tǒng)付費(fèi)軟件經(jīng)常被人們忽視,然而 Matlab、Mathematica、Maple 和 Stata 等數(shù)學(xué)和計(jì)算機(jī)軟件給人們提供了非常大的便利,并且有許多開源軟件不具備的功能,直至今日,仍然在各行各業(yè)中發(fā)揮著不可替代的作用。
Stata 作為一款有著30多年歷史的優(yōu)秀統(tǒng)計(jì)學(xué)習(xí)軟件,為統(tǒng)計(jì)學(xué)習(xí)提供了強(qiáng)大的解決方案,目前版本已經(jīng)更新到了 16.0。本文將帶領(lǐng)讀者一窺 Stata 的風(fēng)采,介紹如何利用 Stata 進(jìn)行回歸分析。
首先下載 UCLA 大學(xué)的學(xué)校測(cè)評(píng)數(shù)據(jù)集合:
- use https://stats.idre.ucla.edu/stat/stata/webbooks/reg/elemapi
 - mkdir c:regstata
 - cd c:regstata
 - save elemapi
 - use elemapi
 
得到數(shù)據(jù)集合之后, 如果需要進(jìn)行回歸分析,只需要簡(jiǎn)單的執(zhí)行一下命令即可:
- regress api00 acs_k3 meals full
 - Source | SS df MS Number of obs = 313
 - -------------+---------------------------------- F(3, 309) = 213.41
 - Model | 2634884.26 3 878294.754 Prob > F = 0.0000
 - Residual | 1271713.21 309 4115.57673 R-squared = 0.6745
 - -------------+---------------------------------- Adj R-squared = 0.6713
 - Total | 3906597.47 312 12521.1457 Root MSE = 64.153
 - ------------------------------------------------------------------------------
 - api00 | Coef. Std. Err. t P>|t| [95% Conf. Interval]
 - -------------+----------------------------------------------------------------
 - acs_k3 | -2.681508 1.393991 -1.92 0.055 -5.424424 .0614074
 - meals | -3.702419 .1540256 -24.04 0.000 -4.005491 -3.399348
 - full | .1086104 .090719 1.20 0.232 -.0698947 .2871154
 - _cons | 906.7392 28.26505 32.08 0.000 851.1228 962.3555
 - ------------------------------------------------------------------------------
 
如果需要預(yù)測(cè)新的變量, 只需要執(zhí)行以下命令:
- predict fv
 
如果需要顯示模型的殘差, 則執(zhí)行以下命令:
- predict fv, residual
 
Stata 除了提供基本的回歸分析的功能,最引人入勝之處在于其提供了獨(dú)一無二的最優(yōu)化參數(shù)選擇功能. 我們知道在計(jì)算 Lasso Regression 或者 Ridge Regression 的時(shí)候, 最優(yōu)化函數(shù)中有懲罰項(xiàng)。而懲罰項(xiàng)前面的系數(shù)如何選擇是個(gè)困擾了數(shù)學(xué)界幾十年,直到幾年前才得到解決的難題。Stata 在這方面提供了兩種算法,一種是 Plug-in Method, 而另一種是 Cross-Validation Method。
當(dāng)采用 plug-in method 進(jìn)行 Lasso Regression 的時(shí)候,只需要調(diào)用:
- lasso linear api00 acs_k3 meals full, selection(plugin)
 
返回結(jié)果中可以看到參數(shù)值和殘差。
- --------------------------------------------------------------------------
 - | No. of
 - | nonzero In-sample
 - ID | Description lambda coef. R-squared BIC
 - ---------+----------------------------------------------------------------
 - * 1 | selected lambda .1715319 1 0.6610 3513.359
 - --------------------------------------------------------------------------
 
當(dāng)采用 cross-validation method 進(jìn)行 Lasso Regression 的時(shí)候,只需要調(diào)用:
- lasso linear api00 acs_k3 meals full, selection(cv)
 
返回的結(jié)果中有如下一張表:
- --------------------------------------------------------------------------
 - | No. of Out-of- CV mean
 - | nonzero sample prediction
 - ID | Description lambda coef. R-squared error
 - ---------+----------------------------------------------------------------
 - 1 | first lambda 91.43285 0 0.0017 12460.5
 - 37 | lambda before 3.210383 3 0.6667 4159.559
 - * 38 | selected lambda 2.925181 3 0.6667 4159.504
 - 39 | lambda after 2.665316 3 0.6666 4160.824
 - 43 | last lambda 1.837099 3 0.6657 4172.744
 - --------------------------------------------------------------------------
 
可以看到, Lasso Regression + Plug-in Method , Lasso Regression + Cross-validation Method 和傳統(tǒng)的 OLS 的結(jié)果有所不同。由于 Stata 提供的上述參數(shù)選擇方法是最近幾年的最新研究成果,因此在免費(fèi)的開源軟件比如 R 和 Scikit-Learn 中都還沒有得到應(yīng)用, 這也是 Stata 的難能可貴之處。
Stata 提供了方便的編程接口,用于支持常見的各種數(shù)據(jù)分析和數(shù)據(jù)挖掘功能。另外,它也提供了用戶圖形界面, 用戶可以很方便的通過點(diǎn)擊按鈕和選擇下拉框等方式進(jìn)行非常方便的各種操作。Stata 作為經(jīng)濟(jì)學(xué)領(lǐng)域的經(jīng)典軟件,也應(yīng)該得到包括互聯(lián)網(wǎng)企業(yè)在內(nèi)的 IT 公司的關(guān)注。
作者介紹
汪昊,技術(shù)總監(jiān)/架構(gòu)師,美國(guó)猶他大學(xué)本科/碩士,對(duì)外經(jīng)貿(mào)大學(xué)在職MBA。曾在百度,新浪,網(wǎng)易,豆瓣等公司有多年的研發(fā)和技術(shù)管理經(jīng)驗(yàn),擅長(zhǎng)機(jī)器學(xué)習(xí),大數(shù)據(jù),推薦系統(tǒng),社交網(wǎng)絡(luò)分析等技術(shù)。在 TVCG 和 ASONAM 等國(guó)際會(huì)議和期刊發(fā)表論文 11 篇。國(guó)際學(xué)術(shù)會(huì)議 IEEE SMI 2008 和 ICBDT 2020 最佳論文獎(jiǎng)。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】















 
 
 






 
 
 
 