【回归分析】二元直线回归分析
数据人网是数据人学习、交流和分享的平台http://shujuren.org,R语言、Python语言、机器学习、数据分析、Hadoop框架、Spark框架资料,联系微信:luqin360...
回归是一种——可以说是最基本,也是最重要的一种统计分析工具,它可以在含有大量数据集的研究领域中使用。它构
成了在社科领域当中一些热度很高的统计方法的基础。多元回归分析和结构化方程建模也许是应用最广泛,同时也是运用到心理研究和教育研究的回归分析中,效果
最好的回归模型。其中的原因就在于回归分析所选用的架构非常简单,但又非常灵活。还有,它们很容易在R平台上实现,并且有很多很多的辅助函数来使用,甚至
可以通过查阅帮助文档就能掌握。
接下来,我们看一个简单的线性回归分析的例子。我会使用swiss数据集,而这个数据集则含在datasets包里,而且也已经在R的所有安装流程上预先包装好了。现在,我们直接把这个数据集加载到我们的工作区域来使用。
data(swiss)
下生产力的指标,并通过研究比小学教育更高一级的教育进行生产力的预测——这时,我的基本假设就是更高等级的教育,其生产力就更低(如果1888年和现在
的情况一样的话)。
下面,我们先看一下这个例子的散点图:
plot(swiss$Fertility~swiss$Education)
这个原始的散点图已经部分的证明了这个假设的合理性,而且更重要的是,这行代码本身就已经包含了回归分析中的核心语法结构。在R上写上一个公式的基
本方法就是dependent~independent,其~符号可以理解成“在这里进行回归分析”或者“以此进行预测”。第二个最重要的一点就是在R上
计算基本回归分析的实质就是要你使用这样的一个函数:lm(…),这代表线性模型的意思。
这里,你在lm()函数里最常用到的两个参数分别是
formula和data(数据段)。这些参数也就自然而然地,而且也是lm(…)函数的头两个参数。指定一个数据段作为变量,你可以直接在
formula那里指明,而不需要告诉R每个变量的具体位置。当然,它只能在这两个变量都真的如你所指明的那样,在数据集里的时候才有效。下面,我们试一
下使用lm()函数,并把结果存放到reg中。
reg |t|)
(Intercept) 79.6101 2.1041 37.836 < 2e-16 ***
Education -0.8624 0.1448 -5.954 3.66e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 9.446 on 45 degrees of freedom
Multiple R-squared: 0.4406, Adjusted R-squared: 0.4282
F-statistic: 35.45 on 1 and 45 DF, p-value: 3.659e-07
第
二个最重要的一行信息就是$latex
R^2$。在这个例子中,超过44%的领域的生产力变化体现了与教育等级变化之间的差异。基于这个事实,$latex
R^2$就是自变量与因变量之间的皮尔森相关系数的平方的多重相关平方,这个、体现在生产力和教育水平的相关性应当等于在这里的R^2$。为了检验它,我
们可以这么做:
summary(reg)$r.squared
cor(swiss$Fertility,swiss$Education)^2
summary(reg)$r.squared == cor(swiss$Fertility,swiss$Education)^2
0.4406156
0.4406156
TRUE
为了完善这个过程,我会在最开始作的散点图那里添加一条回归直线。之前就已经说
到,lm(…)函数和它的结果能很好的嵌入到R语言的环境中。所以,我们需要调用abline()函数来添加结果回归线。这个函数可以添加任何类型的直
线,而你只需要给它一个截距a和斜率b。如果你在这里放入lm类型的参数,它可以帮你完成回归线的拟合。
plot(swiss$Fertility~swiss$Education)
abline(reg)
这样,我们的R基本回归分析向导就这样大功告成。在后续的博客当中,我们会对这些概念延伸到多元回归进行探讨,并且关注一下如何简单的检验OLS回归的假设。
原文链接:http://datascienceplus.com/bivariate-linear-regression/
今日数据人网精选推荐:严禁修改,可以转载,请注明出自数据人网和原文链接。
《谷歌I/O大会,人工智能+机器学习的产品》
《开始您的机器学习旅程!》
点击【阅读原文】,即刻阅读精选。
关注 R语言
微信扫一扫关注公众号