【回归分析】二元直线回归分析

 

数据人网是数据人学习、交流和分享的平台http://shujuren.org,R语言、Python语言、机器学习、数据分析、Hadoop框架、Spark框架资料,联系微信:luqin360...



回归是一种——可以说是最基本,也是最重要的一种统计分析工具,它可以在含有大量数据集的研究领域中使用。它构
成了在社科领域当中一些热度很高的统计方法的基础。多元回归分析和结构化方程建模也许是应用最广泛,同时也是运用到心理研究和教育研究的回归分析中,效果
最好的回归模型。其中的原因就在于回归分析所选用的架构非常简单,但又非常灵活。还有,它们很容易在R平台上实现,并且有很多很多的辅助函数来使用,甚至
可以通过查阅帮助文档就能掌握。

接下来,我们看一个简单的线性回归分析的例子。我会使用swiss数据集,而这个数据集则含在datasets包里,而且也已经在R的所有安装流程上预先包装好了。现在,我们直接把这个数据集加载到我们的工作区域来使用。

  1. data(swiss)
这个数据集的帮助文档也会告诉我们,这个数据集记录了瑞典1888年的生产力数据,而且所有的变量都以百分数的形式表示。它的结果,我会在这里看一
下生产力的指标,并通过研究比小学教育更高一级的教育进行生产力的预测——这时,我的基本假设就是更高等级的教育,其生产力就更低(如果1888年和现在
的情况一样的话)。
下面,我们先看一下这个例子的散点图:

  1. plot(swiss$Fertility~swiss$Education)


这个原始的散点图已经部分的证明了这个假设的合理性,而且更重要的是,这行代码本身就已经包含了回归分析中的核心语法结构。在R上写上一个公式的基
本方法就是dependent~independent,其~符号可以理解成“在这里进行回归分析”或者“以此进行预测”。第二个最重要的一点就是在R上
计算基本回归分析的实质就是要你使用这样的一个函数:lm(…),这代表线性模型的意思。
这里,你在lm()函数里最常用到的两个参数分别是
formula和data(数据段)。这些参数也就自然而然地,而且也是lm(…)函数的头两个参数。指定一个数据段作为变量,你可以直接在
formula那里指明,而不需要告诉R每个变量的具体位置。当然,它只能在这两个变量都真的如你所指明的那样,在数据集里的时候才有效。下面,我们试一
下使用lm()函数,并把结果存放到reg中。

  1. reg |t|)    
  2. (Intercept)  79.6101     2.1041  37.836  < 2e-16 ***
  3. Education    -0.8624     0.1448  -5.954 3.66e-07 ***
  4. ---
  5. Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
  6. Residual standard error: 9.446 on 45 degrees of freedom
  7. Multiple R-squared:  0.4406,    Adjusted R-squared:  0.4282 
  8. F-statistic: 35.45 on 1 and 45 DF,  p-value: 3.659e-07
在这个表格当中,什么样的信息最重要呢?也许就是系数的选择了,它包含了其中的参数估计和相关t检验。这个结果告诉我们,一个领域的教育程度和生产力水平是由显著相关性的。

二个最重要的一行信息就是$latex

R^2$。在这个例子中,超过44%的领域的生产力变化体现了与教育等级变化之间的差异。基于这个事实,$latex

R^2$就是自变量与因变量之间的皮尔森相关系数的平方的多重相关平方,这个、体现在生产力和教育水平的相关性应当等于在这里的R^2$。为了检验它,我
们可以这么做:

  1. summary(reg)$r.squared
  2. cor(swiss$Fertility,swiss$Education)^2
  3. summary(reg)$r.squared == cor(swiss$Fertility,swiss$Education)^2
  4. 0.4406156
  5. 0.4406156
  6. TRUE
最后一行代码展示了两个变量之间所求出来的值是否相等。
为了完善这个过程,我会在最开始作的散点图那里添加一条回归直线。之前就已经说
到,lm(…)函数和它的结果能很好的嵌入到R语言的环境中。所以,我们需要调用abline()函数来添加结果回归线。这个函数可以添加任何类型的直
线,而你只需要给它一个截距a和斜率b。如果你在这里放入lm类型的参数,它可以帮你完成回归线的拟合。

  1. plot(swiss$Fertility~swiss$Education)
  2. abline(reg)


这样,我们的R基本回归分析向导就这样大功告成。在后续的博客当中,我们会对这些概念延伸到多元回归进行探讨,并且关注一下如何简单的检验OLS回归的假设。

原文链接:http://datascienceplus.com/bivariate-linear-regression/

严禁修改,可以转载,请注明出自数据人网和原文链接。

今日数据人网精选推荐:

《谷歌I/O大会,人工智能+机器学习的产品》

开始您的机器学习旅程!

点击【阅读原文】,即刻阅读精选。


    关注 R语言


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册