R语言--回归分析1(回归分析、回归诊断、模型综合验证)

1 OLS回归(最小二乘法回归)

1.1 lm()拟合回归模型

R中,拟合线性模型最基本的函数是lm(),格式为:myfit<-lm(formula,data)

1.2 简单线性回归

dat<-women

fit<-lm(weight~height,data=dat)

summarize(fit)

R语言--回归分析1(回归分析、回归诊断、模型综合验证)

结果分析:回归方程weight = 3.45 height - 87.51667,这两个估计值是否可靠呢,需要看Pr(>|t|)值,p值小于0.05,我们就认为它在95%的置信区间上是不为0的,它的统计是显著的,简单一点,只要有星星,结果就可以认为是可靠的,看拟合优度Adjusted R-squared0.9903,结果是非常好的,p-value是对整个方程的估计, p-value: 1.091e-14<0.05可以认为结果是可靠的

plot(dat$height,dat$weight)  #查看height和weight的散点图(实际散点图)

abline(fit)  #画回归线,查看拟合结果(估计出来的线)

R语言--回归分析1(回归分析、回归诊断、模型综合验证)

结果分析:散点图是实际的数据,回归线基本在散点图附近,说明拟合效果比较好

1.3 多项式回归(身高和体重的平方)

fit1<-lm(weight~height+I(height^2),data=dat)  

解释:为了防止错误识别^,加了一个I()函数,指出^是一个常规得符号

> summary(fit1)

R语言--回归分析1(回归分析、回归诊断、模型综合验证)

结果分析:回归方程weight = -7.34832height + 0.08306height^2 + 261.87818,这两个估计值是否可靠,需要看Pr(>|t|)值,p值小于0.05,我们就认为它在95%的置信区间上是不为0的,它的统计是显著的,简单一点,只要有星星,结果就可以认为是可靠的,看拟合优度Adjusted R-squared0.9994,结果是非常好的,p-value是对整个方程的估计, p-value:  2.2e-16<0.05可以认为结果是可靠的,对比上一个可以看出这个拟合优度更高

plot(dat$height,dat$weight)  #画散点图

lines(dat$height,fitted(fit1))  

解释:使用函数lines()画线,abline()只适用于一元,要给出横坐标dat$height,纵坐标fitted(fit1)

R语言--回归分析1(回归分析、回归诊断、模型综合验证)

1.4 多元线性回归(预测变量不止一个)

states<-as.data.frame(state.x77[,c("Murder",

"Population","Illiteracy","Income","Frost")])

cor(states)  #列出是所有列变量两两之间的相关系数

R语言--回归分析1(回归分析、回归诊断、模型综合验证)

画出全部两两变量之间的关系:

library(car)

scatterplotMatrix(states,spead=F,smooth.args=list(lty=2)

R语言--回归分析1(回归分析、回归诊断、模型综合验证)

结果分析:对角线是单变量自己的分布情况,其他情况虽然点很复杂,但上面清晰的描述了一条实线,大致说明了变量之间的关系

fit2<-lm(Murder~Population+Illiteracy+Income+Frost,data=states)  #回归分析

解释:Murder是预测变量,Population+Illiteracy+Income+Frost是解释变量

summary(fit2)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwppxf.html