-
R 기초 23 - 다중회귀분석 (독립변수가 복수), 선형회귀분석의 기존 가정 충족 조건 검정R 2022. 10. 26. 15:46
# 다중회귀분석 : 독립변수가 복수 head(state.x77, 3) colnames(state.x77) # 칼럼 이름 호출 dim(state.x77) # 행열 갯수 호출 50 by 8 str(state.x77) cor(state.x77) # 표준화 states <- as.data.frame(state.x77[,c('Murder','Population','Illiteracy','Income','Frost')]) head(states, 3) cor(states) # 다중회귀모델 mfit <- lm(formula = Murder ~ Population + Illiteracy + Income + Frost, data = states) mfit # 복수의 종속변수가 있으면 R-squared의 값이 커짐으로 기대치를 나누기 해야된다. 그 값이 Adjusted R-squared이다 summary(mfit) # p-value: 9.133e-08 < 0.05 유의한 모델. Adjusted R-squared: 0.5285 # *** 선형회귀분석의 기존 가정 충족 조건 *** # . 선형성 : 독립변수(feature)의 변화에 따라 종속변수도 일정 크기로 변화해야 한다. # . 정규성 : 잔차항이 정규분포를 따라야 한다. # . 독립성 : 독립변수의 값이 서로 관련되지 않아야 한다. # . 등분산성 : 그룹간의 분산이 유사해야 한다. 독립변수의 모든 값에 대한 오차들의 분산은 일정해야 한다. # . 다중공선성 : 다중회귀 분석 시 3 개 이상의 독립변수 간에 강한 상관관계가 있어서는 안된다. # 모델을 시각화 par(mfrow = c(2,2)) plot(mfit) # 잔차항의 정규성 검정(이곳에서는 p-value 값이 0.05보다 커야 만족이다.) shapiro.test(residuals(mfit)) # p-value = 0.6672 > 0.05 정규성 만족 # 독립성 검정 install.packages('car') library(car) durbinWatsonTest(mfit) # D-W Statistic : 2.317, 0 ~ 4 범위이며 2 근처의 값이 나와야 자기상관관계가 없어 독립성을 만족한다. # 선형성 검정 boxTidwell(Murder ~ Population + Illiteracy, data = states) # Population p-value : 0.7468, Illiteracy p-value :0.5357 > 0.05이므로 선형성 만족 # 등분산성 검정 ncvTest(mfit) # p = 0.18632 > 0.05 등분산성 만족 # 다중공선성 검정 vif(mfit) # 각 값들이 10을 넘으면 다중공선성 문제 발생 1.245282 2.165848 1.345822 2.082547
선형성, 정규성, 독립성, 등분산성, 다중공선성을 검정하는 함수가 있다. 각 검정을 실시해서 p - value 값이 0.05가 넘으면 만족한다는 의미이다.
summary(통계 요약)의 p-value 값은 0.05를 넘으면 안 된다. 둘이 했갈릴 수 있으니 주의 하자!
'R' 카테고리의 다른 글
R 기초 25 - 단순/다중 선형회귀 모델 정리 (0) 2022.10.26 R 기초 24 - AIC 통계량, stepwise regression, backward(후진소거법), forward(전진선택법), both(단계적 방법), 회귀모델 체크 사항 (0) 2022.10.26 선형회귀분석 예제 (0) 2022.10.26 R 기초 22 - 회귀모델 평가 (0) 2022.10.26 R 기초 21 - 선형회귀분석(회귀식 적합도에 대한 가설 검정) (0) 2022.10.26