평가지표 선정 — R²·SMAPE 채택, MAE·RMSE 배제
대질문: 같은 예측을 채점하는 자가 4개 있다 — 어느 자가 이 과제의 질문에 맞는가?
교과서: 후보 4개의 성질
| 지표 | 식 | 단위 | 성질 |
|---|---|---|---|
| MAE | 개수 | 오차 평균 크기, 이상치 둔감 | |
| RMSE | 개수 | 제곱 가중 — 큰 오차를 무겁게 | |
| R² | 무차원 | 분산 설명 비율 — η²와 동일 척도 | |
| SMAPE | % | scale-free — 분모의 수준이 비율화 |
분류 기준: scale 의존성 — MAE·RMSE는 scale-dependent, R²·SMAPE는 scale-free. 어느 쪽이 옳은가는 관례가 아니라 데이터의 성질이 정한다.
결정 논리 ① — σ ∝ μ가 MAE·RMSE를 기각
① 축 Q3의 실측(σ∝μ, r=1.0000): 주 600개 그룹의 자연 변동이 주 60개 그룹의 10배. 절대 오차 채점은 대형 그룹이 지표를 지배 — 소형 그룹은 점수에 안 보임. RMSE는 제곱 가중이라 쏠림이 한층 심함. → 주 지표 부적합, 보조 병기로 강등.
파인만 비유 — 코끼리와 생쥐의 몸무게 대회: 코끼리 50kg, 생쥐 0.5kg 빗나감. kg의 자(MAE/RMSE)로는 코끼리 오차가 100배, %의 자(SMAPE)로는 둘 다 ~1%로 동급. 우리 데이터는 코끼리(대형 매장 인기 상품)와 생쥐(소형 매장 비인기 상품)의 혼합 — kg의 자는 코끼리 점수만 보게 된다.
이 기각은 관례가 아니라 앞 단계 측정의 논리적 귀결 — EDA(σ-μ)가 전처리(log)만이 아니라 평가 설계까지 결정했다.
결정 논리 ② — 질문과의 정합이 R²·SMAPE를 채택
- R² = 가설의 언어: "baseline(평균 예측) 대비 줄인 오차의 비율" — η²와 동일 척도. H1("Test R²가 joint η² 0.7949에 수렴하는가")은 R² 없이는 검증 자체가 불성립. 천장 계산 → 수렴 검증 → 상한 도달 서사의 언어.
- SMAPE = 실무의 언어: "평균 몇 % 빗나가는가". 분모가 실측·예측의 평균 → 과대/과소 대칭 벌점(S의 의미), 범위 0~200%. Kaggle 원 대회 공식 metric 계열 — 외부 비교 가능. 약점(실측 0 근처 불안정)은 주간 집계 후 최소 판매량이 수십 개라 무력화 — reframing의 숨은 이득.
실측 — 두 지표, 두 언어
| 단계 | R² | SMAPE | (보조) MAE |
|---|---|---|---|
| Stage 1 best | 0.7917 | 18.47 | 65.75 |
| Stage 2 best | 0.9856 | 5.23 | 19.00 |
| 최종 Test | 0.9858 | 5.20 | 18.88 |
R²의 문장: "데이터 상한 도달(0.986)" / SMAPE의 문장: "주간 수요 예측이 평균 5.2% 빗나간다" — 이론과 실무 청중에게 각자의 언어.
history
- 후보 4개 성질 정리 (scale 의존성 기준)
- σ∝μ 실측 소환 → MAE·RMSE 기각 (측정이 강제한 선택)
- H1의 요구(η² 동일 척도) → R² 채택
- 실무 해석 + Kaggle 정합 → SMAPE 채택
- MAE·RMSE는 보조 병기 — 버린 게 아니라 역할 한정
예상 질문
- "MAE 18.88이면 좋은 건가?" → 단독 판단 불가가 정답. 평균 판매 366 대비 ~5%라는 맥락이 있어야 읽힌다 — 그 맥락을 내장한 게 SMAPE, 그래서 주 지표.
- "log 변환했는데 채점은 어느 스케일?" → 전부 원 스케일. log는 Linear·SVR의 학습용 가역 처리(예측 후 복원), 채점은 4모델 원 단위 통일 — 공정 비교의 전제 (retransformation 각주와 연결).
- "왜 MAPE가 아니라 SMAPE?" → MAPE는 분모가 실측뿐이라 과소예측에 관대하고 실측 0에서 폭발. SMAPE는 분모 평균화로 대칭 + 완화.