Berechnen des MAPE in R

Von Fabian
Kategorie: R
Tags: Zeitreihen
Lesezeit: 2 Minuten

Eine der am häufigsten verwendeten Metriken zur Messung der Prognosegenauigkeit eines Modells ist MAPE, was für den mittleren absoluten prozentualen Fehler steht.

Die Formel zur Berechnung der MAPE lautet wie folgt:

MAPE = (1/n) * Σ(|Ist – Prognose| / |Ist|) * 100

wobei:

  • Σ – ein ausgefallenes Symbol, das „Summe“ bedeutet
  • n – Stichprobengröße
  • Ist – der tatsächliche Datenwert
  • Prognose – Der prognostizierte Datenwert

MAPE wird häufig verwendet, da es leicht zu interpretieren und zu erklären ist. Ein MAPE-Wert von 6% bedeutet beispielsweise, dass die durchschnittliche Differenz zwischen dem prognostizierten Wert und dem tatsächlichen Wert 6% beträgt.

Dieses Tutorial bietet zwei verschiedene Methoden, mit denen Sie MAPE in R berechnen können.

Methode 1: Schreiben Sie Ihre eigene Funktion

Angenommen, wir haben einen Datensatz mit einer Spalte, die die tatsächlichen Datenwerte enthält, und einer Spalte, die die prognostizierten Datenwerte enthält:

#Datensatz erstellen
data <- data.frame(actual=c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24),
                   forecast=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23))

#Datensatz anzeigen
data

   actual forecast
1      34       37
2      37       40
3      44       46
4      47       44
5      48       46
6      48       50
7      46       45
8      43       44
9      32       34
10     27       30
11     26       22
12     24       23

Um die MAPE zu berechnen, können wir die folgende Funktion verwenden:

#MAPE berechnen
mean(abs((data$actual-data$forecast)/data$actual)) * 100

[1] 6.467108

Die MAPE für dieses Modell beträgt 6,467%. Das heißt, die durchschnittliche absolute Differenz zwischen dem prognostizierten Wert und dem tatsächlichen Wert beträgt 6,467%.

Methode 2: Verwenden Sie ein Paket

Wir könnten MAPE auch für denselben Datensatz mit der Funktion MAPE() aus dem MLmetrics-Paket berechnen, das die folgende Syntax verwendet:

MAPE(y_pred, y_true)

wobei:

  • y_pred: vorhergesagte Werte
  • y_true: Istwerte

Hier ist die Syntax, die wir in unserem Beispiel verwenden würden:

#MLmetrics-Paket laden
library(MLmetrics)

#MAPE berechnen
MAPE(data$forecast, data$actual)

[1] 0.06467108

Dies ergibt den gleichen MAPE-Wert von 6,467%, den wir mit der vorherigen Methode berechnet haben.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: