# naver search confirm # markdown number and equation R 다중공선성 VIF 값 계산 //google adsense
본문 바로가기
R_데이터 분석 기술

R 다중공선성 VIF 값 계산

by 노마드분석가 2022. 4. 4.

관련글

 

다중공선성(Multicollinearity)의 의미와 판별법

관련글 선형회귀분석 밑바닥부터 이해하기 관련글 상관관계와 상관계수 상관관계와 상관계수 1. 들어가며 연속형 변수 x, y의 관계는 상관관계(correlation) 분석을 통해 2가지 사실을 알 수 있다.

diseny.tistory.com

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

댓글