建模前,了解数据的基本情况,康康相关性。
corr <- cor(iris[,1:4])
corr
建模
> lm2 <- lm(Petal.Length~.,data = iris[,1:4])
> summary(lm2)
#Petal.Length作为响应变量,.代表其他变量作为解释变量。
截距修正
从上图可以看的截距项Intercept的p值为0.379,大于规定的显著水平0.05,所以需要将模型修正
lm3 <- lm(Petal.Length~.+0,data = iris[,1:4])
summary(lm3)
上面的修正的回归模型中,将截距项去掉后,其他所有的参数p值均小于0.05很多,另外,R方知味0.9941,也说明回归效果很好。
- 上面的回归方程就是,0.69421XS.L - 0.67286XS.W+1.46802XP.W
检验拟和值的同方差性
ncvTest(lm3)
p值小于0.05,说明不存在拟和值的同方差性。
检测解释变量是否交互
在最开始的看变量间的相关性时,可以看到Petal.Width和Sepal.Length的相关性还是比较高的,达到了0.8179411,所以为了考虑二者的交互作用,则在解释变量中添加Petal.WidthSepal.Length*项
lm4 <- lm(Petal.Length~Petal.Width*Sepal.Length+Sepal.Width,data = iris[,1:4])
summary(lm4)
上面可以看到得到的回归模型,截距项、三个解释变量及交互性均p值合格。
在交互项的选择上,原则是需要将解释变量进行组合,只要组合后R方值变大且有显著性意义就可以引入到回归模型中。交互项的选择适应于解释变量不多的情况下。