当前位置: 首页 > 科技观察

如何使用统计软件Stata进行回归分析

时间:2023-03-16 14:21:10 科技观察

【.com原创稿件】数据挖掘和机器学习早已成为当今社会的经典流行技术。采用相关技术的企业不在少数,为社会产生了巨大的效益。目前流行的数据挖掘软件很多,如Scikit-Learn、Pandas、R、SparkMLLib等,极大地方便了从业者的日常开发和数据分析工作。在开源软件大行其道的今天,传统的付费软件往往被人们所忽视。但是,Matlab、Mathematica、Maple、Stata等数学和计算机软件为人们提供了极大的便利,而且还有很多开源软件所没有的功能。直到今天,它还在各行各业中发挥着不可替代的作用。Stata作为一款拥有30多年历史的优秀统计学习软件,为统计学习提供了强大的解决方案。当前版本已经更新到16.0。本文将带领读者一窥Stata的风采,介绍如何使用Stata进行回归分析。首先下载UCLA大学的学校评价数据集:使用https://stats.idre.ucla.edu/stat/stata/webbooks/reg/elemapimkdirc:regstatacdc:regstatasaveelemapiuseelemapi得到数据集后,如果需要进行回归分析,你只需要简单的执行命令即可:regressapi00acs_k3mealsfullSource|SSdfMSNumberofobs=313------------+--------------------------------F(3,309)=213.41Model|2634884.263878294.754Prob>F=0.0000Residual|1271713.213094115.57673R-squared=0.6745---------------+----------------------------AdjR-squared=0.6713Total|3906597.4731212521.1457RootMSE=64.153---------------------------------------------------------------------------api00|Coef.Std.Err.tP>|t|[95%Conf.Interval]-------------+--------------------------------------------------------------acs_k3|-2.6815081.393991-1.920.055-5.424424.0614074meals|-3.702419.1540256-24.040.000-4.005491-3.399348完整|.1086104.0907191.200.232-.0698947.2871154_cons|906.739228.2650532.080.000851.1228962.3555------------------------------------------------------------------------------如果需要预测新的变量,只需要执行以下命令:predictfv如果需要显示模型的残差,执行以下命令:predictfv,residualStata除了提供基本的回归分析功能外,最让人着迷的是它提供了独特的优化参数选择功能。我们知道,在计算LassoRegression或RidgeRegression时,优化函数中有一个惩罚项,而惩罚项前面的系数如何选择,困扰了数学界几十年。直到几年前,这个难题才得以解开。Stata在这方面提供了两种算法,一种是Plug-inMethod,另一种是Cross-ValidationMethod。使用插件方法进行LassoRegression时,只需要调用:lassolinearapi00acs_k3mealsfull,就可以在selection(plugin)返回的结果中看到参数值和残差。--------------------------------------------------------------------|No.of|nonzeroIn-sampleID|Descriptionlambdacoef.R-squaredBIC----------+----------------------------------------------------------*1|selectedlambda.171531910.66103513.359--------------------------------------------------------------------------使用交叉时-validationmethod在进行LassoRegression时,只需要调用:lassolinearapi00acs_k3mealsfull,selection(cv)返回的结果有下表:------------------------------------------------------------------------|No.ofOut-of-CVmean|nonzerosamplepredictionID|Descriptionlambdacoef.R-squarederror--------+----------------------------------------------------------------1|firstlambda91.4328500.001712460.537|lambdabefore3。21038330.66674159.559*38|selectedlambda2.92518130.66674159.50439|lambdaafter2.66531630.66664160.82443|lastlambda1.83709930.66574172.744----------------------------------------看得到,套索回归+Plug-in法、Lasso回归+交叉验证法和传统OLS的结果是不一样的。由于Stata提供的上述参数选择方法是近几年的最新研究成果,目前在R和Scikit-Learn等免费开源软件中还没有得到应用,这也是Stata的一个很有价值的特性。Stata提供了方便的编程接口,支持各种常见的数据分析和数据挖掘功能。此外,它还提供图形用户界面,用户可以通过点击按钮和选择下拉框方便地进行各种操作。作为经济学领域的经典软件,Stata理应得到包括互联网公司在内的IT公司的关注。作者介绍王浩,技术总监/架构师,犹他大学本科/硕士,对外经济贸易大学在职MBA。在百度、新浪、网易、豆瓣等公司拥有多年研发和技术管理经验。擅长机器学习、大数据、推荐系统、社交网络分析等技术。在TVCG、ASONAM等国际会议和期刊发表论文11篇。国际学术会议IEEESMI2008和ICBDT2020最佳论文奖。【原创稿件,合作网站转载请注明原作者和出处.com】