실습 · 연습문제 2개
앙상블 예측의 CRPS crps-ensemble
앙상블·MC dropout·생성모델처럼 예측분포를 표본으로만 내는 모델은 밀도를 모르므로 NLL을 바로 계산할 수 없다. CRPS는 표본만으로 계산할 수 있다. 예측분포 에서 독립으로 뽑은 에 대해
이다. 표본 가 있으면 두 기대값을 표본 평균으로 바꾼다.
함수 crps_ensemble(samples, y)를 완성한다.
| 인자 | shape | 의미 |
|---|---|---|
samples |
(S, N) |
관측 개 각각에 대한 예측 표본 개 |
y |
(N,) |
관측값 |
반환값은 관측마다의 CRPS, shape (N,)이다. 이중합은 samples[:, None, :] - samples[None, :, :]로 한 번에 계산할 수 있다(메모리 ).
테스트는 다음을 확인한다.
- 표본이 하나뿐이면 CRPS는 절댓값 오차 다.
- 가우시안 표본이 많으면 닫힌 형태(12.3장)에 가깝다.
- 관측값을 정확히 맞힌 퇴화 분포(모든 표본이 )의 CRPS는 0이다.
예측 구간의 interval score interval-score
중심 예측 구간 를 관측 로 평가하는 interval score는
이다(작을수록 좋다). 첫째 항은 구간의 폭(sharpness)이고, 나머지 두 항은 관측이 구간 밖에 떨어졌을 때 벗어난 거리에 를 곱한 벌점이다. 이 점수는 적정 점수 규칙이다. 기대 점수를 가장 작게 만드는 구간은 예측분포의 분위수와 분위수다.
두 함수를 완성한다.
interval_score(lower, upper, y, alpha): 배열lower,upper,y(같은 shape)에 대한 평균 interval scorebest_symmetric_halfwidth(y, center, alpha, grid): 중심을center로 고정하고 반폭h만 바꿀 때, 후보 배열grid중 평균 interval score를 가장 작게 만드는h
테스트는 손으로 계산한 예와, 표준정규 관측에서 2번 함수의 답이 근처인지 확인한다. 이 결과는 "구간을 일부러 좁히거나 넓혀서 점수를 올릴 수 없다"는 적정성의 의미다.