2021.4.30
持续更新中。。。
参考:《R数据可视化手册》、学术数据分析及可视化
与回归拟合不同,回归分析主要侧重于数据的分析,模型的筛选以及数据的预测。同时回归分析会两个及两个以上的自变量,而回归拟合一般只有一个自变量。
1. 简单线性回归(单元)
单元线性回归与线性拟合基本一致。
library(MASS)
data(whiteside)
head(whiteside)
#取子集
df <- subset(whiteside, Insul == 'Before')
plot(df$Temp, df$Gas)
#构建模型
linearM <- lm(Gas ~ Temp, data = df)
summary(linearM)
#调用模型获取预测的数值
plot(predict(linearM) ~ df$Gas, xlab = 'Actual Gas', ylab = 'Predict Gas')
#绘图
plot(df$Temp, df$Gas)
abline(linearM, col = 'red')
2. 多元线性回归
进行模型的筛选
2.1 经验判断+验证多元线性回归模型
data(swiss)
head(swiss)
#Fertility变量与其他变量均进行回归分析
mlinearM <- lm(Fertility ~., data = swiss)
summary(mlinearM)
#根据summary结果及经验,第三列“Examination”结果不显著,将其剔除后重新构建模型
mlinearMnew <- lm(Fertility ~., data = swiss[,-3])
summary(mlinearMnew)
#利用AIC或者显著性来验证剔除变量的建模更好
##比较模型,AIC值越小越好
AIC(mlinearM, mlinearMnew)
##两个模型进行方差分析,看是否有显著性
anova(mlinearM, mlinearMnew)
2.2 直接通过对全模型进行AIC值的大小筛选进行建模
library(MASS)
stepAIC(mlinearM, direction = "both")
网友评论