文章目录

  • 1. 回归分析
    • 1.1 简单线性回归模型 ``lm()``
    • 1.2 多项式回归模型
    • 1.3 多元线性回归
    • 1.4 有交互项的回归分析

1. 回归分析

定义: 自变量和因变量之间的关系,可以用回归方程是表达出来。

对于回归分析常用的数据格式以及函数:

备注:
1. 响应变量:因变量,
2. 预测变量:自变量,
3. 解释变量:总共的自变量,
4. ‘:’ 变量的交互项: 指的是两个变量对应元素的乘积,得到新的数据列

1.1 简单线性回归模型 lm()

使用women中的数据:

women
fit = lm(weight~height, data = women)   # 得到weight = -87.52 + 3.45 * height
summary(fit)  # 查看fit的详细属性fitted(fit)   # 查看拟合之后的因变量的预测值
residuals(fit)  # 查看残差   (实际值与预测值之间的差)
plot(women$height,women$weight, xlab="Height (in inches)", ylab="Weight (in pounds)")
abline(fit)

结果:

  1. Coefficients栏下的Estimate分别表示截距和系数。Pr(>|t|) 表示方差和截距的P值(显著性)。
  2. Multiple R-squared:R平方项(0.991)表明模型可以解释体重99.1%的方差,它也是实际和预测值之间相关
    系数的平方(R^2 = r(ŶY)^2)------(也叫做模型的方差解释率,值越高越好) 。
> summary(fit)  # 查看fit的详细属性Call:
lm(formula = weight ~ height, data = women)Residuals:Min      1Q  Median      3Q     Max
-1.7333 -1.1333 -0.3833  0.7417  3.1167 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept) -87.51667    5.93694  -14.74 1.71e-09 ***
height        3.45000    0.09114   37.85 1.09e-14 ***
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 1.525 on 13 degrees of freedom
Multiple R-squared:  0.991, Adjusted R-squared:  0.9903
F-statistic:  1433 on 1 and 13 DF,  p-value: 1.091e-14

height 和 weight的点图,以及拟合直线

1.2 多项式回归模型

二项式回归模型,就是添加了一个自变量平方的项,来提高回归的预测精度。
使用women中的数据:

#  多项式回归 (添加了一个自变量的平方项)
fit2 = lm(weight ~ height + I(height^2), data = women)
summary(fit2)
plot(women$height, women$weight)
lines(women$height,fitted(fit2)) # 拟合曲线 (横坐标和纵坐标)

结果:

  1. 二次项的t值为13.891, p值小于0.01,显著。 增加了拟合的优度。
> summary(fit2)Call:
lm(formula = weight ~ height + I(height^2), data = women)Residuals:Min       1Q   Median       3Q      Max
-0.50941 -0.29611 -0.00941  0.28615  0.59706 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept) 261.87818   25.19677  10.393 2.36e-07 ***
height       -7.34832    0.77769  -9.449 6.58e-07 ***
I(height^2)   0.08306    0.00598  13.891 9.32e-09 ***
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.3841 on 12 degrees of freedom
Multiple R-squared:  0.9995,    Adjusted R-squared:  0.9994
F-statistic: 1.139e+04 on 2 and 12 DF,  p-value: < 2.2e-16

1.3 多元线性回归

当自变量的数目不止一个的时候,也就变成了多元回归拟合,最简单的是多元线性回归。

  1. car包中有一个scatterplotMatrix函数,可以直接画出多元线性相关的拟合曲线,以及各个变量分布图。
states = data.frame(state.x77[,c("Murder", "Population", "Illiteracy", "Income", "Frost")])
cor(states)
#install.packages('car')
library(car)
# car库中的scatterplotMatrix 画出分布图以及拟合曲线,。。。
scatterplotMatrix(states, spread=FALSE, smoother.args=list(lty=2), main="Scatter Plot Matrix")


2. 多元线性回归分析

fit <- lm(Murder ~ Population + Illiteracy + Income + Frost, data=states)
summary(fit)结果:
> summary(fit)Call:
lm(formula = Murder ~ Population + Illiteracy + Income + Frost, data = states)Residuals:Min      1Q  Median      3Q     Max
-4.7960 -1.6495 -0.0811  1.4815  7.6210 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.235e+00  3.866e+00   0.319   0.7510
Population  2.237e-04  9.052e-05   2.471   0.0173 *
Illiteracy  4.143e+00  8.744e-01   4.738 2.19e-05 ***
Income      6.442e-05  6.837e-04   0.094   0.9253
Frost       5.813e-04  1.005e-02   0.058   0.9541
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 2.535 on 45 degrees of freedom
Multiple R-squared:  0.567, Adjusted R-squared:  0.5285
F-statistic: 14.73 on 4 and 45 DF,  p-value: 9.133e-08

结果分析:
回归系数的含义为:一个预测变量增加一个单位,其他预测变量保持不变时,因变量将要增加的数量。
例如本例中,文盲率的回归系数为4.14,表示控制人口、收入和温度不变时,文盲率上升1%,谋杀率将会上升4.14%,它的系数在p<0.001的水平下显著不为0。相反,Frost的系数没有显著不为0(p=0.954) ,表明当控制其他变量不变时,Frost与Murder
不呈线性相关。总体来看,所有的预测变量解释了各州谋杀率56.7%的方差。

1.4 有交互项的回归分析

交互项:指的是两组变量的各个元素的乘积,得到的一组新的变量。

mtcars
d = mtcars$hp*mtcars$wt
mtcars$d = d
fit <- lm(mpg ~ hp + wt + d, data=mtcars)
# hp:wt 就是hp和wt的乘积
fit2 <- lm(mpg ~ hp + wt + hp:wt, data=mtcars)
summary(fit)
结果:
Call:
lm(formula = mpg ~ hp + wt + hp:wt, data = mtcars)Residuals:Min      1Q  Median      3Q     Max
-3.0632 -1.6491 -0.7362  1.4211  4.5513 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept) 49.80842    3.60516  13.816 5.01e-14 ***
hp          -0.12010    0.02470  -4.863 4.04e-05 ***
wt          -8.21662    1.26971  -6.471 5.20e-07 ***
hp:wt        0.02785    0.00742   3.753 0.000811 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 2.153 on 28 degrees of freedom
Multiple R-squared:  0.8848,    Adjusted R-squared:  0.8724
F-statistic: 71.66 on 3 and 28 DF,  p-value: 2.981e-13# fit 和 fit2 的值是一样的。

本列中得到的回归方程就是: mpg = 49.80 -0.12*hp -8.21*wt + 0.03*hp*wt
我们可以控制wt 在不同水平下,得到mpg和hp的关系。

library(effects) mean(mtcars$wt)   # 结果是3.2
sd(mtcars$wt)     # 结果约等于1
# plot(effect(term, mod,, xlevels), multiline=TRUE)   term: 交互项, mod: lm()的拟合模型, xlevels:交互相中某个变量的水平
plot(effect("hp:wt", fit,, list(wt=c(2.2,3.2,4.2))), multiline=TRUE)  # 注意fit后面是双逗号
# wt取值的为平均值,以及平均值上下各一个方差的值

结果:

意义:交互项可以使两个自变量与因变量的联系更加紧密,
结果分析:
可以看到在wt = 4.2时候,hp 和 mpg之间的关系就是一条直线了。也就是说两组变量关系越来越弱, 几乎没有关系了。

注意:在所有的线性回归分析假设中,所有的零假设都应该是自变量和因变量不相关,因而在p<0.05 或者 p<0.01时,可以得出两个变量在两个水平下的显著相关。而且在解释显著相关时, 应该在重复样本实验中,能够得到这样的相关性或者更大相关性的概率则更大。

R语言实战 ---学习心得08相关推荐

  1. R:R语言实战学习一(基本统计分析)

    本学期的课程R语言实战只学了前六章的皮毛,实际上后面的知识用的更多,前面的是基础,这次学习第七章:基本统计分析. 1.描述性统计分析 主要关注分析连续型变量的中心趋势.变化性和分布形状的方法,为了便于 ...

  2. R语言实战学习笔记-高级数据管理

    本文将从以下几个方面介绍R语言中的数据管理,1.数据处理函数 2.控制流 3.用户自定义函数 4.整合和重构 1.数据的处理函数 #实例 x<-c(1,2,3,4,5,6,7,8,9) y< ...

  3. R语言实战学习--回归

    文章目录 普通最小二乘回归(OLS) 简单线性回归 多项式回归 多元线性回归 回归诊断 标准方法 QQ图正态性检验 残差图 误差的独立性 成分残差图(偏残差图) 线性 同方差性 线性模型假设综合验证 ...

  4. r语言electricity数据集_R语言实战学习

    <R语言实战>中文电子版 提取码:lx35 已经学习打卡R语言22天了,可以说是初窥真容--基本了解R的数据和函数:作为程序语言,就是要多练习,多领悟,在实战中发现问题并解决问题. 所以, ...

  5. 对比《学习R》PDF代码+《R语言实战第2版》PDF代码+《R数据科学》PDF代码分析

    R语言是世界上最流行的用于数据处理和统计分析的脚本语言.考古学家用它来跟踪古代文明的传播,医药公司用它来探索哪种药物更安全.更有效,精算师用它评估金融风险以保证市场的平稳运行.总之,在大数据时代,统计 ...

  6. R语言可视化学习笔记之ggridges包绘制山峦图

    作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源. 严涛老师的绘图教程还有: gganimate |诺奖文章里面的动图绘制教程来了!! ggplot2学习笔记之 ...

  7. R语言实战笔记--第四五章 数据管理

    R语言实战笔记–第四&五章 数据管理 标签(空格分隔): R语言 第四.第五章都是说的数据管理,合并在一起做个总结,在个人看来,数据管理是一件非常繁琐的事情,但是,每个统计的前提都是一个合适的 ...

  8. R语言可视化学习笔记之相关矩阵可视化包ggcorrplot

    本文转载自"R语言中文社区",己获授权. 作者简介Introduction taoyan:伪码农,R语言爱好者,爱开源. 个人博客: https://ytlogos.github. ...

  9. 备受推崇的《R语言实战》真的值得如此好评吗?

    作者:刘洋溢  R语言中文社区专栏作者 知乎ID:https://zhuanlan.zhihu.com/p/51396601 阅前思考: R语言入门必看的<R语言实战>真的是很好的入门书籍 ...

  10. R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)

    R语言入门经典(中文版)R for beginners R语言经典教材 第二版 适合初学者 作者:Emmanuel Paradis R 语言实战第二版(中文完整版) R语言实战(第2版)注重实用性,是 ...

最新文章

  1. php fsockopen解决办法
  2. yii2使用select2
  3. 【javascript位置属性】screen对象
  4. 离散问题的最大似然估计
  5. linux磁盘分配最佳实践,构建容器应用的8个最佳实践
  6. pixhawk硬件构架
  7. jquery --- 使用when方法等待2个异步事件结束后执行某一个函数.
  8. 《机器学习训练秘籍》中文版58章节 完整开源 吴恩达
  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)...
  10. U盘文件夹乱码无法删除的原因及解决方案
  11. 关于 Swap file “~.bash_profile.swp“ already exists (已解决)
  12. ORAN C平面 Section Type 1
  13. 为什么程序员都这么邋遢?
  14. python如何让程序暂停_王者荣耀集祝福linkedin雄攻略
  15. 信贷决策问题 —— 基于国赛-19C的数据挖掘练习
  16. 微信公众号验证Token
  17. pycharm如何调整字体大小
  18. ThinkPHP5远程代码执行漏洞
  19. ARP攻击--(ArpSpoof 欺骗工具)
  20. foc学习笔记1——准备工作

热门文章

  1. Android百度地图+OSS图片拍照上传+导航+idea
  2. UE4内容浏览器改文件夹名称后无法删除空文件夹
  3. 【MYSQL】【基础知识】【MySQL的基本使用】
  4. Heapsort 代码 学习笔记 阳春三月版
  5. C - Pizza Cutter Gym - 101908C
  6. numpy之histogram
  7. linux未备案本地网站访问,教你如何解析未备案的域名到国内服务器
  8. [发布] QQGame 连连看辅助工具(限制功能版)
  9. Signature on Pocket PC
  10. SDS新书的来龙去脉 amp;amp; SDS序言 - 倪光南:众筹出书也是一种创新