관련글
1. 들어가며
관련글에서 다중공선성에 대한 이론적인 내용을 소개했으므로 이제 R을 이용해 VIF(분산팽창지수)를 계산하는 방법을 살펴보자.
2. library(car)이용
iris 데이터에서 Species 변수를 제외한 나머지 변수들로 다중회귀모델을 만들어 보자.
reg_iris = lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data=iris)
summary(reg_iris)
회귀 모델 결과는 다음과 같다. 회귀계수 값도 모두 통계적으로 유의하고 수정된 R^2값도 0.85이상으로 상당히 높다.
그런데 vif 값을 계산해보면 문제가 드러난다. car 패키지가 필요하다.
library(car)
vif(reg_iris)
코드를 실행하면 다음과 같은 결과를 얻는다.
Sepal.Width Petal.Length Petal.Width
1.270815 15.097572 14.234335
Petal.Length와 Petal.Width는 vif 값이 10이상이므로 다중공선성을 발생시키는 변수라는 것을 알 수 있다.
따라서 Petal.Length와 Petal.Width는 적절한 모델 독립 변수로 기능할 수 없으므로 제외하는 것이 좋다.
반응형
'R_데이터 분석 기술' 카테고리의 다른 글
R 회귀분석 (0) | 2022.04.13 |
---|---|
R 교차표 작성 (0) | 2022.04.08 |
R 주성분 분석 (0) | 2022.04.07 |
wide & long 데이터 형태 전환 (0) | 2022.04.04 |
R을 이용해 상관계수 구하기 (0) | 2022.04.01 |
데이터 결합(join) by dplyr 패키지 (0) | 2022.04.01 |
변수별 부분 집계 by dplyr (0) | 2022.03.31 |
댓글