Jak obliczyć mape w r
Jedną z najczęściej używanych metryk do pomiaru dokładności prognozy modelu jest MAPE , co oznacza średni bezwzględny błąd procentowy .
Wzór do obliczenia MAPE jest następujący:
MAPE = (1/n) * Σ(|rzeczywista – prognoza| / |rzeczywista|) * 100
Złoto:
- Σ – fantazyjny symbol oznaczający „sumę”
- n – wielkość próby
- real – rzeczywista wartość danych
- prognoza – oczekiwana wartość danych
MAPE jest powszechnie stosowany, ponieważ jest łatwy do interpretacji i wyjaśnienia. Na przykład wartość MAPE wynosząca 6% oznacza, że średnia różnica między wartością przewidywaną a wartością rzeczywistą wynosi 6%.
W tym samouczku przedstawiono dwie różne metody, których można użyć do obliczenia MAPE w języku R.
Metoda 1: Napisz własną funkcję
Załóżmy, że mamy zbiór danych zawierający kolumnę zawierającą rzeczywiste wartości danych i kolumnę zawierającą przewidywane wartości danych:
#create dataset 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)) #view dataset data current 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
Aby obliczyć MAPE, możemy skorzystać z następującej funkcji:
#calculate MAPE
mean(abs((data$actual-data$forecast)/data$actual)) * 100
[1] 6.467108
MAPE dla tego modelu okazuje się wynosić 6,467% . Oznacza to, że średnia bezwzględna różnica między wartością przewidywaną a wartością rzeczywistą wynosi 6,467%.
Metoda 2: Użyj pakietu
Moglibyśmy również obliczyć MAPE dla tego samego zbioru danych, używając funkcji MAPE() z pakietu MLmetrics , która wykorzystuje następującą składnię:
MAPE(y_pred, y_true)
Złoto:
- y_pred: przewidywane wartości
- y_true: wartości rzeczywiste
Oto składnia, której użylibyśmy w naszym przykładzie:
#load MLmetrics package library (MLmetrics) #calculate MAPE MAPE(data$forecast, data$actual) [1] 0.06467108
Daje to tę samą wartość MAPE wynoszącą 6,467% , którą obliczyliśmy przy użyciu poprzedniej metody.