1.载入库函数
library(MASS)
library(ISLR)
2.简单回归
lm.fit = lm(response~predictor, data = DATASET)
attach(DATASET)
lm.fit = lm(response~predictor)
②查找置信区间
confidence()
③predict()函数可以计算置信区间和预测区间
predict(lm.fit, data.frame(predictor = (c(5, 10, 15))), interval = "confidence")
predict(lm.fit, data.frame(predictor = (c(5, 10, 15))), interval = "prediction")
④画图
plot(X, Y, (col = "COLOR"), (pch ="+")) //散点图
abline(lm.fit, (lwd = CONSTANT), (col = "COLOR"))//在plot之后的图上做最小二乘回归
par(mfrow = c(2,2)) //把绘图区域分次2 X 2
⑤残差
也可用resuduals()函数计算线性回归拟合的残差,rstudent()函数计算学生化残差,也可以此绘制残差对拟合值的散点图
plot(predict(lm.fit), residuals(lm.fit))
plot(predict(lm.fit), rstudent(lm.fit))
3.多元线性回归
lm.fit = lm(y~x1+x2+x3, data = DATASET)
lm.fit = lm(y~., data = DATASET) //表示对所有的预测变量
lm.fit = lm(y~x1+x2+x3, data = DATASET)
lm.fit = lm(y~.-age, data = DATASET) //表示对除age变量外的所有预测变量进行回归
②交互项
语句lstat : black将lstat 和 black的交互项纳入模型
语句lstat * age 将lstat, age和交互项lstat x age同时作为预测变量,它是lstat + age + lstat : age的简写形式
lm(medv~lstat*age, data = DATASET)
4.预测变量的非线性变换
I(x^2) //创建预测变量X^2
lm.fit2 = lm(medv~lstat + I(lstat ^2)) //建立medv对lstat和lstat^2的回归
②anova()
该函数进一步量化二次拟合在何种程度优于线性拟合
anova(lm.fit, lm.fit2)
来源:CSDN
作者:JonyChan——JC
链接:https://blog.csdn.net/qq_43118572/article/details/103909197