Lv4 | EDA | 다중공선성 VIF(분산 팽창 요인)
Data Analyst

빅데이터 관련 자료/Dacon

Lv4 | EDA | 다중공선성 VIF(분산 팽창 요인)

carpe08 2021. 8. 31. 14:40
320x100
320x100

이번에는 변수의 다중공선성을 확인하는 방법 중 하나인 VIF(variance Inflation Factors, 분산팽창요인)에 대해 알아보자

VIF는 변수간의 다중공선성을 진단하는 수치이며, 범위 1부터 무한대이다.
통계학에서는 VIF값이 10이상이면 해당 변수가 다중공선성이 있는 것으로 판단한다

VIF를 구하는 수식은  VIFk = 1 / (1 - Rj2) 이다.
여기서 VIFk 는 k번째 변수의 VIF 값을 의미하고, Rj2 는 회귀분석에서 사용하는 결정계수이다.

# 결과값을 저장할 VIF라는 이름의 리스트 생성
vif = []

# values atribution(속성) 이용해 train 데이터의 값만 추출
train_val = train.values


#  variance_inflation_factor 함수에 인자로 train_val (train 데이터의 값)과 인덱스 번호 지정  
# for문 이용
for i in range(len(train.columns)):
  vif.append(variance_inflation_factor(train_one.values, i))

320x100
320x100