MAPE의 신뢰 구간 찾기

Sep 23 2020

처음 게시. 두 개의 데이터 열이 있습니다. 하나는 모델 출력용이고 다른 하나는 들어오는 실제 데이터 용입니다. MAPE를 계산하고 백분율을 얻었습니다. 다음 분석을 수행했습니다. 어떤 식 으로든 잘못된 것인지 말씀해 주시겠습니까? 절대 백분율 오차의 표본 표준 편차를 계산하고이를 표본 수의 제곱근으로 나누어 표본 평균의 표본 분포의 표준 편차 추정치를 계산했습니다.

= A

그런 다음 T 분포 (데이터 포인트가 4 개뿐이므로 T Dist.)를 사용하여 95 % 신뢰 구간에 대한 양측 T 분포 표준 편차를 계산했습니다. = T.INV (97.5 %, 3) = B

인구 MAPE가 내 MAPE (플러스 또는 마이너스) A * B 내에 있다는 95 % 변화가 있다고 안전하게 말할 수 있습니까?

답변

6 StephanKolassa Sep 23 2020 at 02:29

흥미로운 질문입니다. 저는 학업 및 응용 예측 모두에서 꽤 오랫동안 활동 해 왔으며 MAPE에 대한 CI에 대해 논의한 사람을 기억할 수 없습니다.

나는 당신의 계산이별로 도움이되지 않는다고 생각합니다. 예를 들어 실제 홀드 아웃 실제 값이 log-mean을 사용하여 로그 정규 분포를 따른다고 가정합니다.$\mu=1$ 및 log-SD $\sigma=1$. 우리의 포인트 예측이 고정되어 있다고 가정합니다.$\hat{y}=\exp\big(\mu+\frac{\sigma^2}{2}\big)$( 대수 정규 데이터에 대한 MAPE- 최소 예측 이 아닌 예상 예측입니다).

CI의 정의를 상기하십시오. 전체 실험이 자주 반복 될 때 미리 지정된 빈도로 실제 매개 변수 값을 포함하는 알고리즘입니다. (참고이 "임의의 것이 95 % 기회가 다르므로 한 CI 주어진 매개 변수가 포함.")

시뮬레이션을 통해 실험을 실행할 수 있습니다. 시뮬레이션을 통해 진정한 MAPE를 얻습니다.$n=10^6$ 실제 값, 그런 다음 반복적으로 ($10^5$ 시간) 그리기 $n=4$당신이 가지고있는 관찰. 각각의 경우에 저는 APE를 계산하고 평균과 SD를 취하고 당신이 한 것처럼 95 % CI를 계산합니다. 마지막으로이 시뮬레이션 된 CI에 실제 MAPE가 포함되었는지 여부를 기록합니다.

적중률은 95 %가 아닌 76 %에 불과합니다.

R 코드 :

set.seed(2020)
fcst <- exp(mm)
actuals <- rlnorm(1e6,meanlog=mm,sdlog=sqrt(ss.sq))
true_MAPE <- mean(abs(fcst-actuals)/actuals)

n_reps <- 1e5
hit <- rep(NA,n_reps)
n_obs <- 4
pb <- winProgressBar(max=n_reps)
for ( ii in 1:n_reps ) {
    setWinProgressBar(pb,ii,paste(ii,"of",n_reps))
    set.seed(ii)    # for replicability
    actuals <- rlnorm(n_obs,meanlog=mm,sdlog=sqrt(ss.sq))
    APEs <- abs(fcst-actuals)/actuals
    CI <- mean(APEs)+qt(c(.025,.975),n_obs-1)*sd(APEs)/sqrt(n_obs)
    hit[ii] <- CI[1]<=true_MAPE & true_MAPE<=CI[2]
}
close(pb)
summary(hit)

참고로 다음과 같이 실험을 변경할 수 있습니다. 고정 소수점 예측 대신 시뮬레이션 할 수 있습니다.$n=100$ iid "역사적"관측치에서 포인트 예측을 평균 (MAPE 최소 예측이 아닌 예상 예측)으로 계산 한 다음이 포인트 예측을 평가합니다. $n=4$새로운 관찰, 위와 같이 CI를 계산합니다. 적중률은 거의 변하지 않습니다.

당신은 찾을 수 비열한 절대 비율 오류 (MAPE)의 단점은 무엇입니까? 도움이됩니다.