用R进行一元线性回归分析建模

原创 2016年05月31日 15:59:34

概念:一元线性回归预测是指成对的两个变量数据的散点图呈现出直线趋势时,采用最小二乘法,找到两者之间的经验公式,即一元线性回归预测模型。根据自变量的变化,来估计因变量变化的预测方法。


我用的是R内置数据集mtcars,要预测的是当每加仑汽油能跑23英里(mpg=23)的车有多重(wt?)。下面贴一下代码,代码较简单,但重要的是这个流程!

1.

attach(mtcars);plot(mpg,wt);fm<-lm(wt~mpg)
summary(fm)
abline(fm)#加拟合曲线
coef(fm)#查截距与斜率(经济:回归系数)
resid(fm)#查残差

图是这样的

再看下这四张图

par(mfrow=c(2,2));plot(fm)

依次是预测残差图(查看是否线性),QQ正态检验图(查看正态性。应近似为45度直线),位置尺度诊断图(查看同方差性。水平线周围应随机分布),Cook距离/残差与杠杆图(查看离群点,高杠杆点)

2.检验模型

先对斜率/回归系数检验

n<-length(mpg);res<-resid(fm);b<-coef(fm)[2];s<-sqrt(sum(res^2)/(n-2))
SE<-s/sqrt(sum((mpg-mean(mpg))^2));t<-(b-(-1))/SE;pt(t,n-2,lower.tail = FALSE)
结果是9.763059e-33,远小于0.05,反对原假设,支持备择假设,所以斜率不是-1。但我总感觉哪不对= =


再对截距检验

bo<-coef(fm)[1];SEbo<-s*sqrt(sum(mpg^2)/(n*sum((mpg-mean(mpg))^2)));t<-(bo-7)/SEbo;pt(t,n-2)
结果是0.002165899,也小于0.05,同上

3.预测

predict(fm,data.frame(mpg=23))
结果是2.80743t

还可以看一下该模型95%的置信区间(95%置信区间就是说某个统计量落在这个区间里的可能性是95%)

sx<-sort(mpg);pred<-predict(fm,data.frame(mpg=sx),interval = 'confidence');pred
        fit       lwr      upr
1  4.582291 4.2403494 4.924232
2  4.582291 4.2403494 4.924232
3  4.173791 3.9024329 4.445149
fit是拟合值也可以单独看fitted(fm),lwr是置信区间下限,upr是置信区间上限,下面画出来看一下

par(mfrow=c(1,1));plot(mpg,wt);abline(fm);lines(sx,pred[,2],lty=3);lines(sx,pred[,3],lty=3)

我感觉模型是没有问题的,但这数据不适合用一元线性回归模型。
最后别忘了解绑!

detach(mtcars)


版权声明:本文为博主原创文章,转载请加上原文地址,谢谢!

用R进行多元线性回归分析建模

概念:多元回归分析预测法,是指通过对两个或两个以上的自变量与一个因变量的相关分析,建立预测模型进行预测的方法。当自变量与因变量之间存在线性关系时,称为多元线性回归分析。...
  • Dr_Guo
  • Dr_Guo
  • 2016年05月31日 22:20
  • 11948

R语言中的回归分析

1、简单线性回归分析 满足线性回归的几个要求: 用lm()拟合回归模型 lm(formula,data) 如何对拟合的结果进行评估? (1)简单的线性回归的例子 ...
  • u011955252
  • u011955252
  • 2016年02月23日 12:00
  • 3630

散点图之一元线性回归分析

Yes Whitenan.....*_*...nan 是单位的美女同事。。。关于Excel 里边的XY散点图。用到的数学和C++或者C的方法。 ----------------------------...
  • sealplusplus
  • sealplusplus
  • 2010年04月08日 09:43
  • 6681

R语言简单(一元)线性回归分析

R语言简单(一元)线性回归分析简单举一个例子某商业银行2002年主要业务数据 分行编号 不良贷款(亿元) 各项贷款余额(亿元) 1 0.9 67.3 2 1.1 11...
  • hongjinlongno1
  • hongjinlongno1
  • 2016年08月27日 18:45
  • 2031

一元线性回归模型与最小二乘法及其C++实现

监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这...
  • qll125596718
  • qll125596718
  • 2012年12月02日 14:13
  • 32507

Python实现机器学习一(实现一元线性回归)

回归是统计学中最有力的工具之一。机器学习监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续性而定义的。顾名思义,分类算法用于离散型分布预测,如前面讲过的KNN、决策树、...
  • LULEI1217
  • LULEI1217
  • 2015年10月24日 16:29
  • 12196

iris wine glass聚类分析数据集matlab直接调用

  • 2014年05月07日 11:01
  • 12KB
  • 下载

回归预测及R语言实现 Part2 回归R语言实现

下面是回归分析的各种变体的简单介绍,解释变量和相应变量就是指自变量和因变量。     常用普通最小二乘(OLS)回归法来拟合实现简单线性、多项式和多元线性等回归模型。最小二乘法的基本原理...
  • cl1143015961
  • cl1143015961
  • 2015年05月26日 16:41
  • 2424

用R语言做简单线性回归和指数线性回归

用R语言简单分析实际数据,进行简单线性回归和非线性回归。
  • u012671171
  • u012671171
  • 2015年01月26日 17:52
  • 3718

机器学习--线性回归R语言

回归分析就是利用样本,产生拟合方程,从而进行预测。简而言之,就是你用你手头上的数据进行模型的训练,然后用你得到的模型对于新数据进行预测。一元线性回归:例子:y...
  • dingchenxixi
  • dingchenxixi
  • 2016年01月20日 16:23
  • 3932
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用R进行一元线性回归分析建模
举报原因:
原因补充:

(最多只允许输入30个字)