변수선택

hottogi·2022년 11월 4일
0
library(mlbench)
data("BostonHousing")

ss <- lm(medv ~ .,data=BostonHousing)

# 전진선택법
ss1 <- step(ss, direction = "forward")
formula(ss1)

# 후진제거법
ss2 <- step(ss, direction = "backward")
formula(ss2)

data(attitude)
head(attitude)

model <- lm(rating~. , data=attitude)

summary(model)
# p-value가 <0.05 이므로 통계적으로 의미가 있음. 수정결정계수는 0.6628.
# 변수중 통계적으로 유의한 것은 complaints, learnings

reduced <- step(model, direction="backward")
# step에서 critical 제거 --> raise 제거 --> privileges 제거 --> advance 제거

summary(reduced)
# p-value가 < 0.05 이므로 통계적으로 의미가 있음. 수정결정계수: 0.6864

# 단계적 선택방법
ss3 <- step(ss, direction = "both")
formula(ss3)
# 13개의 독립변수로 시작 (AIC값: 1,589.64) --> age변수 제거(AIC값: 1587.65) 
# --> indus변수 제거(AIC값: 1,586.75) --> 최종 회귀식
profile

0개의 댓글

관련 채용 정보