Ermitteln eines Konfidenzintervalls einer MAPE
Erstmalige Veröffentlichung. Ich habe zwei Datenspalten, eine für die Modellausgabe und eine für die tatsächlich eingegangenen Daten. Ich habe die MAPE berechnet und einen Prozentsatz erhalten. Ich habe die folgende Analyse durchgeführt. Können Sie mir sagen, ob sie in irgendeiner Weise falsch ist? Ich berechnete die Standardabweichung der Stichprobe der absoluten prozentualen Fehler und dividierte sie durch die Quadratwurzel der Anzahl meiner Stichproben, um die Schätzung der Standardabweichung der Stichprobenverteilung der Stichprobenmittel zu berechnen.
Ich habe dann eine T-Verteilung (ich hatte nur 4 Datenpunkte, daher T Dist.) Verwendet, um die zweiseitige T-Verteilungsstandardabweichung für ein 95% -Konfidenzintervall zu berechnen: = T.INV (97,5%, 3) = B.
Kann ich mit Sicherheit sagen, dass sich die Bevölkerungs-MAPE zu 95% innerhalb meiner MAPE (plus oder minus) A * B befindet?
Antworten
Interessante Frage. Ich bin seit einiger Zeit sowohl in der akademischen als auch in der angewandten Prognose aktiv und kann mich an niemanden erinnern, der jemals über CIs für MAPEs diskutiert hat.
Ich denke nicht, dass Ihre Berechnung sehr hilfreich ist. Nehmen Sie als Beispiel an, dass die tatsächlichen Holdout-Istwerte logarithmisch mit dem logarithmischen Mittelwert verteilt sind$\mu=1$ und log-SD $\sigma=1$. Nehmen wir weiter an, dass unsere Punktprognose fest ist$\hat{y}=\exp\big(\mu+\frac{\sigma^2}{2}\big)$(Dies ist eine Erwartungsprognose, bei der es sich nicht um die MAPE-Minimalprognose für logarithmische Normaldaten handelt.)
Erinnern Sie sich an die Definition eines CI: Es handelt sich um einen Algorithmus, der, wenn das gesamte Experiment häufig wiederholt wird, den wahren Parameterwert mit einer vorgegebenen Häufigkeit enthält. (Beachten Sie, dass dies anders ist als "Es besteht eine 95% ige Wahrscheinlichkeit, dass ein bestimmtes CI den Parameter enthält.")
Wir können unser Experiment durch Simulation durchführen. Ich erhalte die wahre MAPE durch Simulation$n=10^6$ Istwerte, dann wiederholt ($10^5$ mal) zeichnen die $n=4$Beobachtungen, die Sie haben. In jedem Fall berechne ich APEs, nehme ihren Mittelwert und SD und berechne wie Sie einen 95% CI. Schließlich nehme ich auf, ob dieses simulierte CI die wahre MAPE enthielt oder nicht.
Die Trefferquote beträgt nur 76% statt 95%.
R-Code:
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)
Im Übrigen können wir das Experiment wie folgt ändern: Anstelle einer Festpunktprognose können wir simulieren$n=100$ Berechnen Sie bei "historischen" Beobachtungen die Punktprognose als ihren Durchschnitt (der wiederum eine Erwartungsprognose und nicht die MAPE-minimale ist) und bewerten Sie diese Punktprognose dann weiter $n=4$neue Beobachtungen, Berechnung eines CI wie oben. Die Trefferquote ist nahezu unverändert.
Möglicherweise finden Sie Was sind die Mängel des mittleren absoluten prozentualen Fehlers (MAPE)? hilfreich.