회귀모형 평가와 잔차 진단
회귀 평가지표와 잔차 진단으로 예측오차와 모형 가정을 점검한다.
핵심 요약
회귀 평가지표는 같은 예측오차를 서로 다른 관점에서 요약한다. MAE는 평균적인 오차 크기를 목표변수와 같은 단위로 보여 준다. MSE는 큰 오차를 제곱해 더 크게 반영하고, RMSE는 그 결과를 다시 목표변수의 단위로 바꾼다. 결정계수 R²는 같은 평가 데이터에서 평균만 예측하는 기준과 비교해 잔차제곱합이 얼마나 줄었는지를 나타낸다.
지표가 좋아도 잔차에 곡선·깔때기·시간 순서의 파동·집단별 치우침이 남으면 모형이 중요한 구조를 놓쳤을 수 있다. 잔차 진단은 성능지표를 대신하는 절차가 아니라, 성능 수치와 회귀 추론을 어느 조건에서 믿을 수 있는지 확인하는 과정이다.
학습 목표
- 실제 오차와 관측 가능한 잔차를 구분한다.
- MAE·MSE·RMSE·
R²·수정R²의 수식, 단위와 적용 조건을 설명한다. - 주어진 숫자로 회귀 평가지표를 계산하고 결과를 해석한다.
- 잔차 그림에서 비선형성·이분산성·자기상관·영향점의 징후를 판정한다.
- 목표변수의 분포와 업무 손실에 맞는 지표 조합을 선택한다.
1. 오차, 잔차와 평가 데이터
실제 관계를 yᵢ = f(xᵢ) + εᵢ라고 할 때 εᵢ는 관측할 수 없는 실제 오차다. 적합한 모형의 예측값을 ŷᵢ라 하면 관측 가능한 잔차는 다음과 같다.
eᵢ = yᵢ - ŷᵢ
잔차가 양수면 실제값보다 낮게 예측한 과소예측이고, 음수면 실제값보다 높게 예측한 과대예측이다. 절댓값이 클수록 해당 관측치의 예측오차가 크다. 잔차는 실제 오차를 관측할 수 없기 때문에 계산하는 표본상의 추정 결과이며, 두 용어를 완전히 같은 뜻으로 쓰지 않는다.
훈련 데이터에서 계산한 잔차와 지표는 모형 적합에 이미 사용된 값이므로 새 데이터 성능보다 낙관적일 수 있다. 일반화 성능은 모형 선택에 쓰지 않은 테스트 데이터에서 최종 확인한다. 같은 고객의 여러 행을 훈련·테스트에 나누어 넣거나 미래 정보를 특징으로 사용하면 데이터 누출로 지표가 실제보다 좋아질 수 있으므로, 시간·고객·장비처럼 실제 적용 단위에 맞게 분할해야 한다.
2. 주요 회귀 평가지표
관측치 수를 n, 실제값을 yᵢ, 예측값을 ŷᵢ라 하자.
2.1 평균절대오차(MAE)
MAE = (1/n) Σ|yᵢ - ŷᵢ|
범위는 0 이상이고 0이면 모든 예측이 정확하다. 목표변수와 같은 단위라서 “관측당 평균적으로 몇 단위 틀렸는가”로 해석하기 쉽다. 제곱오차보다 극단값의 영향을 덜 받지만 큰 오차를 특별히 더 강하게 벌점하지는 않는다.
2.2 평균제곱오차(MSE)와 제곱근평균제곱오차(RMSE)
MSE = (1/n) Σ(yᵢ - ŷᵢ)²
RMSE = √MSE
두 지표의 범위도 0 이상이다. MSE의 단위는 목표변수 단위의 제곱이고 RMSE는 목표변수와 같은 단위다. 큰 오차가 제곱되므로 드문 대형 오차의 비용이 클 때 민감하게 반응한다. 반대로 라벨 오류나 극단값이 많은 데이터에서는 소수 관측치가 지표를 지배할 수 있다.
2.3 결정계수(R²)
실제값의 평균을 ȳ, 잔차제곱합을 SSE, 총제곱합을 SST라 하자.
SSE = Σ(yᵢ - ŷᵢ)²
SST = Σ(yᵢ - ȳ)²
R² = 1 - SSE/SST
R²=1이면 완전 적합이고, R²=0이면 해당 평가 데이터에서 평균만 예측한 기준과 잔차제곱합이 같다. 테스트 데이터에서 평균 기준보다 못하면 R²는 음수가 될 수 있으므로 범위를 무조건 0~1로 외우지 않는다. 목표변수가 모두 같아 SST=0이면 위 식의 일반적인 R²는 정의되지 않는다.
절편을 포함한 최소제곱 회귀를 같은 훈련 데이터에서 비교하는 중첩모형에서는 설명변수를 추가해도 훈련 R²가 감소하지 않는다. 이 성질을 모든 모형·모든 평가 데이터에 일반화하면 안 된다. R²는 인과관계, 예측이 맞을 확률, 새 데이터 성능을 보장하지 않는다.
2.4 수정 결정계수
설명변수 수를 p(절편 제외)라 하면 수정 결정계수는 다음과 같다.
수정 R² = 1 - (1 - R²)(n - 1)/(n - p - 1)
n > p + 1이어야 분모가 0이 아니다. 불필요한 변수를 추가하면 벌점 때문에 수정 R²가 낮아질 수 있고 값이 음수가 될 수도 있다. 예를 들어 n=20, p=2, R²=0.80이면 수정 R² = 1 - 0.20×19/17 ≈ 0.776이다. 수정 R²도 훈련 자료에 기반한 비교 지표이므로 독립 테스트 성능을 대신하지 않는다.
3. 숫자로 계산하기
실제값이 [3, 5, 8], 예측값이 [4, 5, 6]이라고 하자.
| 관측치 | 실제값 yᵢ | 예측값 ŷᵢ | 잔차 yᵢ-ŷᵢ | 절대오차 | 제곱오차 |
|---|---|---|---|---|---|
| 1 | 3 | 4 | -1 | 1 | 1 |
| 2 | 5 | 5 | 0 | 0 | 0 |
| 3 | 8 | 6 | 2 | 2 | 4 |
따라서 다음과 같다.
MAE = (1+0+2)/3 = 1MSE = (1+0+4)/3 = 5/3 ≈ 1.667RMSE = √(5/3) ≈ 1.291ȳ = 16/3 ≈ 5.333SST = (3-5.333)²+(5-5.333)²+(8-5.333)² = 38/3 ≈ 12.667R² = 1-5/(38/3) = 1-15/38 ≈ 0.605
MAE 1은 관측당 절대오차가 평균 1단위라는 뜻이다. RMSE가 MAE보다 큰 것은 세 번째 관측치의 큰 오차가 제곱 과정에서 더 강하게 반영됐기 때문이다. R²≈0.605는 이 평가 데이터에서 평균 예측 기준보다 잔차제곱합이 약 60.5% 작다는 뜻이지, 예측이 60.5%의 확률로 정확하다는 뜻은 아니다.
경계 예시: 실제값과 예측값이 모두 [5, 5, 5]이면 MAE·MSE·RMSE는 0이다. 그러나 실제값의 변동이 없어 SST=0이므로 위 식의 R²는 정의할 수 없다. 완전 예측이라는 사실과 R² 계산 가능 여부는 별개의 문제다.
4. 지표 선택과 왜곡 점검
| 판단 목적 | 우선 확인할 지표 | 함께 볼 항목 | 주의점 |
|---|---|---|---|
| 평균적인 오차 크기 | MAE | 오차 분위수, 집단별 MAE | 큰 오차의 비용을 약하게 반영할 수 있음 |
| 대형 오차를 강하게 벌점 | RMSE·MSE | MAE, 극단값 원인 | 입력 오류 몇 건이 값을 지배할 수 있음 |
| 평균 예측 기준과 비교 | R² | MAE·RMSE, 테스트 성능 | 인과성이나 정확도 확률이 아님 |
| 변수 수가 다른 중첩 회귀 비교 | 수정 R² | 독립 검증, 해석 가능성 | 새 데이터 성능을 보장하지 않음 |
추가로 다음 상황을 점검한다.
- 목표변수 규모가 다른 데이터셋의 RMSE를 원값 그대로 비교하면 단위와 범위 차이가 섞인다.
- 실제값이 0이거나 0에 매우 가까우면 백분율 오차는 정의되지 않거나 지나치게 커질 수 있다.
- 테스트 데이터의 분포가 운영 데이터와 다르면 좋은 오프라인 지표가 재현되지 않을 수 있다.
- 집단별 과소·과대예측이 서로 상쇄되면 전체 평균 지표가 편향을 숨길 수 있다.
- 예측구간이 필요한 업무라면 점예측 오차뿐 아니라 구간 포함률과 구간 폭도 확인한다.
5. 잔차 진단
선형회귀의 오차에 기대하는 핵심 조건은 관계의 선형성, 오차 평균 0, 등분산성, 관측 간 독립성이다. 정규성은 특히 작은 표본에서 계수의 검정과 신뢰구간 같은 고전적 추론에 중요하다. 예측 성능은 이와 별도로 독립 테스트 지표와 업무 손실을 통해 평가한다.
| 진단 자료와 패턴 | 가능한 문제 | 검토 방향 |
|---|---|---|
| 잔차-적합값 그림의 곡선 | 비선형 관계·빠진 항 | 변수 변환, 다항항, 비선형 모형 |
| 잔차-적합값 그림의 깔때기 | 이분산성 | 목표변수 변환, 가중 회귀, 강건 표준오차 |
| 시간 순서 잔차의 파동·군집 | 자기상관·계절성 | 시차·계절 구조, 시간 순서 분할 |
| Q-Q 그림이 직선에서 체계적으로 벗어남 | 잔차 비정규성·두꺼운 꼬리 | 이상값·분포·추론 방법 점검 |
| 큰 잔차 | 반응값 방향의 이상점 가능성 | 원자료·라벨·표준화 잔차 확인 |
| 높은 레버리지 | 설명변수 공간의 특이점 | 설계행렬·수집 범위 확인 |
| 큰 Cook 거리 | 계수와 적합에 영향이 큰 관측치 | 삭제 전 원인 확인과 민감도 분석 |
Durbin-Watson 통계량은 대략 0~4 범위에서 2에 가까우면 1차 자기상관이 뚜렷하지 않다는 신호로 사용한다. 2보다 작으면 양의 자기상관, 2보다 크면 음의 자기상관 징후지만, 표본과 설명변수 조건을 무시한 채 값 하나로 독립성을 확정하지 않는다. Q-Q 그림도 정규성의 징후를 보는 도구이며 직선에서 조금 벗어났다는 이유만으로 모형을 즉시 폐기하지 않는다.
잔차가 평균 0 근처에서 무작위로 흩어진 그림은 좋은 신호지만 가정이 모두 증명됐다는 뜻은 아니다. 반대로 곡선·깔때기·시간 파동은 각각 빠진 비선형 구조, 분산 변화, 시간 의존성을 추가로 점검하라는 신호다.
6. 사례 적용
상황: 물류센터의 일별 처리시간을 예측한다.
주어진 조건: 대부분 20~80분이지만 설비 고장일에는 300분 이상이 나타난다. 야간조에서는 실제 처리시간보다 지속적으로 낮게 예측한다.
판단 과정: MAE로 일반적인 오차 크기를, RMSE로 대형 지연 오차의 영향을 확인한다. 전체 지표와 함께 주간·야간조의 잔차 평균과 분산을 비교한다. 고장일이 입력 오류인지 실제 운영 위험인지 구분하고, 실제 위험이면 지표를 낮출 목적으로 임의 삭제하지 않는다.
결론: 전체 MAE가 작더라도 야간조의 체계적 과소예측이 남으면 집단별 보정이나 특징 개선이 필요하다. 대형 지연 비용이 크다면 RMSE와 상위 오차 분위수를 선택 기준에 포함한다.
오답 함정: 고장일을 모두 제거해 RMSE만 낮추거나, R²가 높다는 이유로 야간조 편향을 무시하면 안 된다.
| 지표 | 수식 | 단위 | 큰 오차 민감도 | 시험 해석 |
|---|---|---|---|---|
| MAE | 평균 절대오차 | 목표변수와 같음 | 선형 | 평균적으로 몇 단위 틀렸는지 |
| MSE | 평균 제곱오차 | 목표변수 단위의 제곱 | 매우 큼 | 최적화에는 편리하나 원 단위 해석에 주의 |
| RMSE | MSE의 제곱근 | 목표변수와 같음 | 큼 | 대형 오차를 강조하면서 원 단위 유지 |
관측치 수를 $n$, 실제값을 $y_i$, 예측값을 $\hat{y}_i$라 하면 다음과 같다.
같은 네 관측치에서 오차가 [1,1,1,1]이면 MAE와 RMSE가 모두 1이다. 하나가 7로 커진 [1,1,1,7]에서는 MAE가 2.50, RMSE가 $\sqrt{13}\approx3.61$이 되어 큰 오차가 RMSE에 더 강하게 반영된다. 시험에서는 지표의 단위와 극단값 민감도를 함께 묻는 선택지를 구분한다.
시험 판단 포인트
- 실제 오차
εᵢ는 관측할 수 없고, 잔차eᵢ=yᵢ-ŷᵢ는 적합 결과에서 계산한다. - 잔차가 양수면 과소예측, 음수면 과대예측이다.
- MAE와 RMSE는 목표변수와 같은 단위이고, MSE는 그 단위의 제곱이다.
- RMSE는 MAE보다 큰 오차에 민감하다.
- 테스트
R²는 평균 예측 기준보다 나쁘면 음수가 될 수 있다. - 수정
R²는 변수 수에 벌점을 주지만 독립 테스트 성능을 대신하지 않는다. - 정규성은 특히 회귀계수의 검정·신뢰구간에 관련되며 예측 유용성과 같은 판단이 아니다.
- 큰 잔차, 높은 레버리지, 큰 영향력은 서로 같은 개념이 아니다.
자주 틀리는 부분
R²를 인과관계, 예측 정확도 확률, 절대적 우수성으로 해석하지 않는다.- 훈련
R²의 비감소 성질은 절편을 포함한 같은 자료의 중첩 최소제곱 모형 비교라는 조건이 필요하다. - MAE가 작다고 모든 관측치의 오차가 작은 것은 아니다.
- 훈련 지표와 독립 테스트 지표를 같은 일반화 성능으로 보지 않는다.
- 잔차 평균이 0에 가깝다는 이유만으로 곡선·깔때기·시간 패턴을 무시하지 않는다.
- 영향점은 원인을 확인하지 않고 기계적으로 삭제하지 않는다.
개념 확인 문제
문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.
01큰 예측오차에 상대적으로 더 큰 벌점을 주면서 목표변수와 같은 단위를 유지하는 지표는?
RMSE
RMSE는 오차를 제곱해 큰 오차를 강조한 뒤 제곱근을 적용하므로 목표변수와 같은 단위로 돌아온다.
02테스트 데이터의 R²에 관해 올바르게 설명하시오.
평균 예측 기준보다 나쁘면 음수가 될 수 있다.
R²=1-SSE/SST이므로 테스트 데이터에서 모형의 SSE가 평균 기준 SST보다 크면 R²는 음수가 된다.
03실제값 [3,5,8], 예측값 [4,5,6]의 MAE와 MSE는?
1, 5/3
절대오차가 1, 0, 2이므로 MAE는 3/3=1이고, 제곱오차가 1, 0, 4이므로 MSE는 5/3이다.
04예측값이 커질수록 잔차의 퍼짐이 넓어지는 깔때기 패턴을 발견했다. 어떻게 판단해야 하는지 근거와 함께 서술하시오.
이분산 가능성을 점검한다.
예측 수준에 따라 잔차 분산이 달라지는 깔때기 패턴은 이분산성의 징후다.