적합도 지수
R 제곱 (R-squared / 결정계수)
- 회귀 분석에서 모형의 설명력(예측 정확성) 나타내는 대표 지표 (0 ~ 1 범위).
- 계산:
- SSR (Sum of Squared Residuals): 잔차 제곱합. 모형으로 설명 안 되는 변동.
- TSS (Total Sum of Squares): 종속변수 총 변동 (평균 대비).
- 해석:
- : 모형이 종속변수 예측/설명 도움 안 됨 (평균 예측과 동일).
- : 모형이 종속변수 완벽하게 예측/설명함 (잔차 없음).
- 단순회귀분석 (독립변수 1개): = (피어슨 상관계수)² 와 같음.
R 제곱 읽는 법
- "모형이 종속변수() 분산(총 변동)의 약 R² %를 설명한다" 라고 해석.
- 예: → "모형이 종속변수 분산의 30%를 설명한다".
- 의미: 모형 사용 통해 종속변수 예측 불확실성(분산)이 얼마나 줄었는지 나타냄. (분산 감소 = 불확실성 감소 = 설명됨).
과대적합 (Overfitting)
- 원인: 최소제곱법은 주어진 표본에서 잔차 분산 가장 작게 하는 계수 찾음.
- 문제점: 표본에는 실제 모집단 패턴 외 표집 오차(noise) 포함됨. 표본 데이터에만 지나치게 맞춰진 모형은 새로운 데이터(모집단) 예측 성능 떨어짐.
독립변수 개수와 과적합
- 최소제곱법 특성: 종속변수와 아무 관련 없는 독립변수 추가해도 표본 잔차 분산 거의 항상 작아짐 (우연한 관계 때문).
- 결과: 독립변수 많을수록 표본 데이터 대한 값은 무조건 높아지는 경향. → 과적합 위험 증가.
import numpy as np
np.random.seed(0)
random_data = pd.DataFrame({
'x1': np.random.randn(5), # 모든 변수를 무작위로 생성
'x2': np.random.randn(5),
'x3': np.random.randn(5),
'x4': np.random.randn(5),
'y': np.random.randn(5)
})
# 회귀분석을 하면 R제곱이 100%
ols('y ~ x1 + x2 + x3 + x4', data=random_data).fit().summary()
수정 R제곱, AIC, BIC
- 단점 보완 위해 등장한 모형 비교 지표. 모형 복잡도(독립변수 개수)에 페널티 부여.
- 수정 R제곱 (Adjusted R-squared): 보정. 클수록 좋음.
- AIC (Akaike Information Criterion), BIC (Bayesian Information Criterion): 잔차 분산 보정. 작을수록 좋음.
퀴즈
사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.