시작하기무료로 시작하기

VIF 계산하기

영상에서 배운 것처럼, 다중공선성을 진단할 때 가장 널리 쓰이는 지표 중 하나가 분산팽창계수(VIF)이며, 각 설명 변수마다 계산합니다.

영상에서 설명했듯이 경험적 기준은 VIF가 2.5 수준입니다. 즉, VIF가 2.5를 넘으면 적합된 모델에 다중공선성의 영향이 있다고 판단해야 합니다.

이미 적합된 modelcrab 데이터셋은 작업 공간에 미리 로드되어 있습니다.

이 연습은 강의의 일부입니다

Python으로 배우는 Generalized Linear Models

강의 보기

연습 안내

  • statsmodels에서 variance_inflation_factor를 가져오세요.
  • crab 데이터셋에서 weight, width, color를 선택해 X로 저장하고, X에 값이 모두 1인 Intercept 열을 추가하세요.
  • pandasDataFrame()을 사용해 빈 vif 데이터프레임을 만들고, Variables 열에 X의 열 이름을 추가하세요.
  • 각 변수에 대해 variance_inflation_factor() 함수를 사용해 VIF를 계산하고, vif 데이터프레임의 VIF 열에 저장하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import functions
from statsmodels.stats.outliers_influence import ____

# Get variables for which to compute VIF and add intercept term
X = ____[[____, ____, ____]]
X[____] = 1

# Compute and view VIF
vif = pd.____
vif["variables"] = X.____
vif["VIF"] = [____(X.values, i) for i in range(X.shape[1])]

# View results using print
____(____)
코드 편집 및 실행