欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

R语言 OLS回归中的几种回归方法

程序员文章站 2022-03-22 23:00:16
...

线性回归:R语言实战 简单线性回归

如果直线形式的线性回归不够准确,可以多加一个二次项,构成多项式回归,变成一条曲线来提高拟合的精度。

多项式回归:R语言实战笔记 多项式回归

如果预测变量不止一个,就变成了多元线性回归。

 

其实线性回归主要还是作为一个验证手段,下面举个多元线性回归的例子。

> library(car)
> states<-as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])
> scatterplotMatrix(states,spread=FALSE,lty.smooth=2,main="Scatter Plot Matrix")

R语言 OLS回归中的几种回归方法
 

 

 

由上面的散点图矩阵,我们可以得出很多结论,比如谋杀率随着人口和文盲率的增加而增加,随着收入水平和结霜天数增加而下降。

 

> fit<-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
> summary(fit)

 

R语言 OLS回归中的几种回归方法

 

可见我们之前的观察没有错,文盲率上升1%,谋杀率将上升4.14%,它的系数在p<0.001的水平下显著不为0。

总的来看,所有预测变量解释了各州谋杀率57%的方差。

 

上面分析没有考虑预测变量的交互项,

 

交互项说明响应变量与其中一个预测变量的关系依赖于另一个预测变量的水平。

 

> fit<-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
> summary(fit)

 

R语言 OLS回归中的几种回归方法正在上传…重新上传取消

R语言 OLS回归中的几种回归方法

可见,马力与车重的交互项是显著的,这意味着每加仑汽油行驶英里数与汽车马力的关系依车重不同而不同。

 

没有effects包的先下载一个

> install.packages("effects")

> library(effects)
> plot(effect("hp:wt",fit,xlevel=list(wt=c(2.2,3.2,4.2))),multiline=TRUE)

R语言 OLS回归中的几种回归方法正在上传…重新上传取消

R语言 OLS回归中的几种回归方法

显然,随着重量(wt)增加,马力(hp)与每加仑汽油行驶的英里数(mpg)的关系减弱。

 

当总量(wt)达到4.2,mpg甚至都不随着hp的变化而变化。

 

拟合了回归模型,相当于提出了一个假设,下一节就是对我们的统计假设进行检验。