用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语言简单(一元)线性回归分析

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

R语言 一元线性回归

一元线性回归分析 首先介绍回归分析中最基础的情况:一元线性回归分析。它规定模型f函数只能是y=k*x+b的形式,即只使用一个变量x(故称为一元)的线性形式来预测目标变量y。 6.1.1引例 利用...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

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

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

R假设检验与一元线性回归分析

假设检验   相关系数 cor(x,y) cor.test(x,y)  相关系数越接近1,x与y越相关 > data("iris") > plot(iris) > i1=iris[which(...

java调用r语言 实现聚类分析结果返回

菜鸟记录0经验使用Java servlet调用r语言实现数据聚类分析的功能的流程

在java代码中执行R代码或函数(一)

以下代码在win7,jdk 1.7,eclipse 4.4.2,R 3.1.2下运行通过。1 搭建R环境在使用java代码调用R代码之前,需要先保证本机环境已搭建R环境,可以正常执行R代码。否则,在R...

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

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

Matlab中进行一元线性回归分析的方法

Matlab中实际上有多个函数可以实现回归分析的功能,如regress,polyfit,lsqcurvefit等。这里简单总结一下polyfit函数的用法: polyfit函数基于最小二乘法,使...
  • qysh123
  • qysh123
  • 2013年05月27日 12:41
  • 8633
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用R进行一元线性回归分析建模
举报原因:
原因补充:

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