我正在尝试对某些数据进行正向,反向和逐步回归;但是,所有这些摘要看起来都非常相似,所以我想知道我是否做对了所有事情?
转发选择
#Forward Selection
regA <- step(lm(Rut ~ Visc + Surface + Run + Voids + Visc*Run
+ Surface*Run + Voids*Run,data=dat),
direction="forward")
regA
summary(regA)
向后淘汰
lmB <- step(lm(Rut ~ Visc + Surface + Run + Voids + Visc*Run
+ Surface*Run + Voids*Run,data=dat),direction="backward")
lmB
summary(lmB)
逐步
reg1C <- lm(Rut ~ Visc + Surface + Run + Voids + Visc*Run
+ Surface*Run + Voids*Run,data=dat)
step(reg1C)
summary(reg1C)
答案 0 :(得分:1)
假设您要进行回归以预测房屋价格。假设我们的一些变量是卧室,浴室的数量,房屋的大小,列出的日期和建造年份。有关使用R的前进,后退和逐步自动选择技术,请参见下文。
#Forward
nullmod <- lm(Price ~ 1, data = dat)
fullmod <- lm(Price ~ Beds + Baths + size + Date + Year
+ AshburnMetro,data=dat)
reg1A <- step(nullmod, scope = list(lower = nullmod, upper = fullmod),
direction="forward")
reg1A
str(summary(reg1A))
#Backwards
fullmod <- lm(Price ~ 1, data = dat)
nullmod <- lm(Price ~ Beds + Baths + size + Date + Year
+ AshburnMetro,data=dat)
reg1B <- step(nullmod, scope = list(lower = fullmod, upper = nullmod),
direction="backward")
reg1B
str(summary(reg1B))
summary(reg1B)
#Stepwise
fullmod <- lm(Price ~ 1, data = dat)
nullmod <- lm(Price ~ Beds + Baths + size + Date + Year
+ AshburnMetro,data=dat)
reg1C <- step(nullmod, scope = list(lower = fullmod, upper = nullmod),
direction="both")
reg1C
str(summary(reg1C))