R vif() 以及 step()
Posted zijidefengge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R vif() 以及 step()相关的知识,希望对你有一定的参考价值。
library(package="car") data <- read.csv("C:\\users\\mike1\\desktop\\data\\RData\\hald水泥数据.csv", header=T, sep=",",fileEncoding = "utf-8", stringsAsFactors = FALSE) data1 <- data[2:dim(data)[2]] data1 cor(data1) scatterplotMatrix(data1, main="correlation") result <- lm(y~., data=data1) summary(result) vif(result) # we can directly use the function not like python class step(result,direction="forward") step(result,direction="backward") step(result, direction="both") myStep <- step(result, direction="both") myStep1 <- step(result,direction="backward",trace=2) summary(myStep) summary(myStep1)
vif(myStep)
共线性,显示各变量之间有强相关,vif()函数在 car包中, 而step() 函数内置。
偏相关图
相关系数图:
逐步回归图
以上只截取了部分图,但是结果与书上的不一样。最后虽然使用的是逐步回归,但是有一个系数不显著,不知道为什么没把 x4.1这个变量去掉,只能手动选择x1, x2 作为变量。
以上是关于R vif() 以及 step()的主要内容,如果未能解决你的问题,请参考以下文章
R计算方差膨胀因子(VIF,Variance Inflation Factor)计算并解读VID与共线性(Multicollinearity)的关系实战
R语言使用car包的vif函数计算方差膨胀因子,并基于方差膨胀因子开方后和阈值的判断来确认模型特征(预测变量)之间是否存在多重共线性(Multicollinearity)