오늘 끝나면
결정계수 R²
- ✓결정계수 R²의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 결정계수이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
모델이 데이터의 분산을 얼마나 설명하나 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
통계 · 24
결정계수
R²
모델이 데이터의 분산을 얼마나 설명하는지를 나타내는 비율이다.
R² = 1 − SSR/SST, 전체 분산 대비 남은 잔차로 따진다.
1이면 완벽하고, 0이면 평균만큼이며, 음수면 평균보다 나쁘다.
기준은 평균선
R²를 알려면 먼저 아무것도 안 했을 때가 어디인지 정해야 한다.
x를 안 쓰고 y만 맞혀야 한다면 최선은 y의 평균 ȳ다.
이 평균선이 가장 멍청한 모델의 기준선이 된다.
평균선을 기준으로 점들이 빗나간 양을 다 모은 것이 전체제곱합이다.
SST = Σ(yᵢ − ȳ)², 데이터가 원래 가진 전체 분산이다.
좋은 모델이라면 이 SST 중 상당 부분을 자기가 설명해야 한다.
설명하지 못하고 남은 양이 잔차이고, 이 이야기는 다음 칸으로 이어진다.
회색 선분이 전체 빗나감이다. 모델이 없을 때의 출발선이다.
R² = 1 − 잔차/전체
회귀선을 그으면 평균선보다 점에 더 붙는다. 그만큼 빗나감이 줄어든다.
회귀선을 기준으로 남은 빗나감이 잔차제곱합이다.
SSR = Σ(yᵢ − ŷᵢ)², 모델이 설명하지 못한 양이다.
전체 SST에서 설명하지 못한 비율 SSR/SST를 빼면 설명한 비율이 나온다.
R² = 1 − SSR/SST이다.
SSR이 0이면 R²가 1이다. 점이 직선에 딱 붙은 완벽한 설명이다.
SSR이 SST와 같으면 R²가 0이다. 회귀선이 평균선만큼밖에 못 한 셈이다.
SSR이 SST보다 크면 R²가 0보다 작다. 평균선보다도 나쁜 모델이다.
평균선에서 회귀선까지가 설명된 분산, 회귀선에서 점까지가 잔차다. 둘을 합치면 전체가 된다.
점 퍼짐과 R²
R²는 결국 점들이 직선에 얼마나 붙어 있느냐를 재는 척도다.
점 퍼짐이 작으면 점이 회귀선에 달라붙어 R²가 1에 가까워진다.
퍼짐이 커지면 점이 흩어지고 R²가 0으로 떨어진다.
막대가 설명된 분산 비율인 R²×100%다.
SSR과 SST가 같이 움직이고, 1 − SSR/SST가 그대로 R²가 된다.
주의할 점이 있다. R²는 직선이 점에 얼마나 잘 맞는지만 말해 준다.
관계가 곡선이어도 R²만 보면 잡아내지 못하니, 항상 잔차 그림도 같이 봐야 한다.
왼쪽 = 점이 직선에 딱 붙음 → R²≈1. 오른쪽 = 마구 흩어짐 → R²→0.
변수 늘면 R²는 무조건 오름
R²에는 함정이 있다. 변수를 더 넣으면 R²는 절대 내려가지 않는다.
변수를 하나 더 끼우면 모델은 선택지가 늘어 잔차를 더 줄일 수 있다.
쓸모없는 변수나 심지어 난수를 넣어도 R²는 조금이라도 오르거나 그대로다.
그래서 변수 수가 다른 모델끼리 R²로 비교하면 변수가 많은 쪽이 무조건 유리해 보인다.
진짜 좋아진 건지 그냥 변수만 늘린 건지 구분이 안 된다.
해결책은 변수 개수에 벌점을 매기는 조정 R²다.
R²_adj = 1 − (1−R²)·(n−1)/(n−p−1)
n은 표본 수이고 p는 변수 수다. 쓸모없는 변수를 넣으면 오히려 값이 떨어진다.
조정 R²가 떨어지는 이유 (펼치기)
R²는 SSR/SST로 잔차만 본다.조정 R²는 (n−1)/(n−p−1) 배율로 자유도를 반영한다.
변수 p가 늘면 분모 n−p−1이 줄어 배율이 커지고, 잔차가 그만큼 줄지 않으면 값이 내려간다.
그래서 변수가 제 몫을 할 때만 조정 R²가 오른다.
위쪽 진한 막대는 R²로 계속 오르고, 아래쪽 연한 막대는 조정 R²로 난수를 넣으면 내려간다.
정리: 설명한 분산의 비율
결정계수 R²는 모델이 데이터의 분산을 설명한 비율이다. 1 − SSR/SST로 구한다.
1이면 완벽하고, 0이면 평균만큼이며, 음수면 평균보다 못하다.
변수를 늘리면 무조건 오르니, 변수 수가 다르면 조정 R²로 비교한다.
단, R²가 높다고 모델이 옳은 것은 아니다. 곡선이나 이상치, 외삽은 잡아내지 못한다.
Q. R² = 0.8의 뜻은?
정답은 데이터 분산의 80%를 모델이 설명한다는 것이다.전체제곱합 SST 중 80%를 회귀선이 설명하고, 남은 20%만 잔차 SSR로 남았다는 뜻이다.
R² = 1 − SSR/SST = 1 − 0.2 = 0.8이다.
단, 이 80%가 정확도를 뜻하지는 않는다. 어디까지나 설명된 분산의 비율이다.
| 값 | 뜻 |
|---|---|
| R² = 1 | 완벽 설명SSR = 0, 점이 직선에 붙는다 |
| R² = 0 | 평균만큼회귀선이 평균선과 동급이다 |
| R² < 0 | 평균보다 나쁨SSR > SST |
| 변수 추가 | 조정 R²로R²는 무조건 오르니까 |