
Quantile (Pinball) Loss [medium]
v1 MAE 는 중앙값 (median) 을 추정. Quantile loss 로 일반화하면 임의 분위수 τ 를 예측:
Lτ(y,y^)=max(τ⋅(y−y^), (τ−1)(y−y^))
더 간단히: 오차 e=y−y^ 에 대해
Lτ(e)={τe(τ−1)ee≥0e<0
- τ=0.5 → MAE/2 와 동일 (median).
- τ=0.1 → 10-분위수. under-estimate 페널티 (ŷ > y) 강함.
- τ=0.9 → 90-분위수. over-estimate 페널티 강함.
왜 중요?
- 확률적 예측: 점 예측 대신 신뢰 구간 (예: 10%, 90%) 추정.
- uncertainty-aware regression (그래디언트 부스팅, 신경망 quantile regression).
- 보험/전력 수요/금융 리스크 모델링.
과제
함수 pinball_loss(y_pred, y_true, tau) 를 완성하세요.
y_pred, y_true shape (N,), 스칼라 tau ∈ (0, 1).
- 반환: Python
float (배치 평균).
- 힌트:
e = y_true - y_pred; return np.maximum(tau * e, (tau - 1) * e).mean().
테스트 케이스
| # | 이름 | 검증 |
|---|
| 1 | float 반환 | |
| 2 | 완벽 예측 → 0 | |
| 3 | τ=0.5 → MAE/2 와 일치 | |
| 4 | τ=0.1 → under-estimate (ŷ < y) 더 페널티 | |
| 5 | τ=0.9 → over-estimate (ŷ > y) 더 페널티 | |
| 6 | 항상 ≥ 0 | |
| 7 | 손계산 | |