모델의 간결성이나 변수들 간의 인과적 관계 설명에 더 중점을 둔다면 BIC를 선호BIC는 변수 개수에 더 큰 패널티 → 더 적은 수의 변수를 가진 모델을 선택할 가능성이 높음
표준오차에 영향을 미치는 요소
예측 오차의 크기: 예측 오차가 클 수록 표준 오차도 커짐
표본의 크기: 표본이 클수록(시행이 많을 수록) 표준 오차는 작아짐
요인의 분산: 요인의 분산이 클수록 표준 오차는 작아짐
요인 간의 관계: 한 요인의 값을 다른 요인들로 예측할 수 있으면 표준 오차는 커짐
분산팽창인자(Variance Inflation Factor)
VIF: 해당 요인과 다른 요인 간의 관계에 의해서 표준 오차가 얼마나 증가하는지를 나타내는 지표
j번째 요인의 VIF는 다음과 같이 계산: 1 - 1/R_j^2
R_j: j번째 요인을 다른 모든 요인으로 분석했을 때의 결정계수(R 제곱)
import doeutils
doeutils.vif(FORMULA, DATA)
VIF 해석
VIF = 1: 해당 요인이 다른 요인과 완전히 독립적임. 표준 오차에 영향을 주지 않음
VIF > 1: 해당 요인이 다른 요인과 관련이 있음. 표준 오차가 증가함
VIF > 10: 해당 요인이 다른 요인과 강한 관계가 있음. 이러한 변수는 별도의 조치를 취함(예: 모형에서 제거, 변수 변환 등)
요인들 사이에 관련이 있는 경우
car = pd.read_excel('car.xlsx')
FORMULA = 'price ~ mileage + year'# 회귀모형의 수식
DATA = car
m1 = ols(FORMULA, DATA).fit() # 회귀모델 생성
m1.summary() # 회귀모델 요약 출력
year의 계수 추정치: 106
FORMULA = 'price ~ mileage + year'
m2 = ols(FORMULA, DATA).fit() # 회귀모델 생성
m2.summary() # 회귀모델 요약 출력