文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-03 13:23

关注

【51CTO.com原创稿件】数据挖掘和机器学习在如今的社会早已成为经典的流行技术。采用相关技术的企业不在少数,并且为社会产生了极大的效益。流行的数据挖掘软件非常多,比如 Scikit-Learn、Pandas、R、Spark MLLib 等等,极大的方便了广大从业者的日常开发和数据分析工作。

在开源软件流行的今天,传统付费软件经常被人们忽视,然而 Matlab、Mathematica、Maple 和 Stata 等数学和计算机软件给人们提供了非常大的便利,并且有许多开源软件不具备的功能,直至今日,仍然在各行各业中发挥着不可替代的作用。

Stata 作为一款有着30多年历史的优秀统计学习软件,为统计学习提供了强大的解决方案,目前版本已经更新到了 16.0。本文将带领读者一窥 Stata 的风采,介绍如何利用 Stata 进行回归分析。

首先下载 UCLA 大学的学校测评数据集合:

  1. use https://stats.idre.ucla.edu/stat/stata/webbooks/reg/elemapi 
  2. mkdir c:regstata  
  3. cd c:regstata  
  4. save elemapi  
  5. use elemapi 

得到数据集合之后, 如果需要进行回归分析,只需要简单的执行一下命令即可:

  1. regress api00 acs_k3 meals full  
  2.  
  3.       Source |       SS           df       MS      Number of obs   =       313 
  4. -------------+----------------------------------   F(3, 309)       =    213.41 
  5.        Model |  2634884.26         3  878294.754   Prob > F        =    0.0000 
  6.     Residual |  1271713.21       309  4115.57673   R-squared       =    0.6745 
  7. -------------+----------------------------------   Adj R-squared   =    0.6713 
  8.        Total |  3906597.47       312  12521.1457   Root MSE        =    64.153 
  9.  
  10. ------------------------------------------------------------------------------ 
  11.        api00 |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval] 
  12. -------------+---------------------------------------------------------------- 
  13.       acs_k3 |  -2.681508   1.393991    -1.92   0.055    -5.424424    .0614074 
  14.        meals |  -3.702419   .1540256   -24.04   0.000    -4.005491   -3.399348 
  15.         full |   .1086104    .090719     1.20   0.232    -.0698947    .2871154 
  16.        _cons |   906.7392   28.26505    32.08   0.000     851.1228    962.3555 
  17. ------------------------------------------------------------------------------ 

如果需要预测新的变量, 只需要执行以下命令:

  1. predict fv 

如果需要显示模型的残差, 则执行以下命令:

  1. predict fv, residual 

Stata 除了提供基本的回归分析的功能,最引人入胜之处在于其提供了独一无二的最优化参数选择功能. 我们知道在计算 Lasso Regression 或者 Ridge Regression 的时候, 最优化函数中有惩罚项。而惩罚项前面的系数如何选择是个困扰了数学界几十年,直到几年前才得到解决的难题。Stata 在这方面提供了两种算法,一种是 Plug-in Method, 而另一种是 Cross-Validation Method。

当采用 plug-in method 进行 Lasso Regression 的时候,只需要调用:

  1. lasso linear api00 acs_k3 meals full, selection(plugin) 

返回结果中可以看到参数值和残差。

  1. -------------------------------------------------------------------------- 
  2.          |                                Noof 
  3.          |                               nonzero    In-sample 
  4.       ID |     Description      lambda     coef.    R-squared          BIC 
  5. ---------+---------------------------------------------------------------- 
  6.      * 1 | selected lambda    .1715319         1       0.6610     3513.359 
  7. -------------------------------------------------------------------------- 

当采用 cross-validation method 进行 Lasso Regression 的时候,只需要调用:

  1. lasso linear api00 acs_k3 meals full, selection(cv) 

返回的结果中有如下一张表:

  1. -------------------------------------------------------------------------- 
  2.          |                                Noof      Out-of-      CV mean 
  3.          |                               nonzero       sample   prediction 
  4.       ID |     Description      lambda     coef.    R-squared        error 
  5. ---------+---------------------------------------------------------------- 
  6.        1 |    first lambda    91.43285         0       0.0017      12460.5 
  7.       37 |   lambda before    3.210383         3       0.6667     4159.559 
  8.     * 38 | selected lambda    2.925181         3       0.6667     4159.504 
  9.       39 |    lambda after    2.665316         3       0.6666     4160.824 
  10.       43 |     last lambda    1.837099         3       0.6657     4172.744 
  11. -------------------------------------------------------------------------- 

可以看到, Lasso Regression + Plug-in Method , Lasso Regression + Cross-validation Method 和传统的 OLS 的结果有所不同。由于 Stata 提供的上述参数选择方法是最近几年的最新研究成果,因此在免费的开源软件比如 R 和 Scikit-Learn 中都还没有得到应用, 这也是 Stata 的难能可贵之处。

Stata 提供了方便的编程接口,用于支持常见的各种数据分析和数据挖掘功能。另外,它也提供了用户图形界面, 用户可以很方便的通过点击按钮和选择下拉框等方式进行非常方便的各种操作。Stata 作为经济学领域的经典软件,也应该得到包括互联网企业在内的 IT 公司的关注。

作者介绍

汪昊,技术总监/架构师,美国犹他大学本科/硕士,对外经贸大学在职MBA。曾在百度,新浪,网易,豆瓣等公司有多年的研发和技术管理经验,擅长机器学习,大数据,推荐系统,社交网络分析等技术。在 TVCG 和 ASONAM 等国际会议和期刊发表论文 11 篇。国际学术会议 IEEE SMI 2008 和 ICBDT 2020 最佳论文奖。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

 

来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯