Jak obliczyć smape w pythonie


Symetryczny średni bezwzględny błąd procentowy (SMAPE) służy do pomiaru dokładności predykcyjnej modeli. Oblicza się go w następujący sposób:

SMAPE = (1/n) * Σ(|prognoza – faktyczna| / ((|rzeczywista| + |prognoza|)/2) * 100

Złoto:

  • Σ – symbol oznaczający „sumę”
  • n – wielkość próby
  • real – rzeczywista wartość danych
  • prognoza – oczekiwana wartość danych

W tym samouczku wyjaśniono, jak obliczyć SMAPE w Pythonie.

Jak obliczyć SMAPE w Pythonie

Nie ma wbudowanej funkcji Pythona do obliczania SMAPE, ale możemy stworzyć prostą funkcję, która to zrobi:

 import numpy as np

def smape( a , f ):
    return 1/ len (a) * np. sum (2 * np. abs (fa) / (np. abs (a) + np. abs (f))*100)

Możemy następnie użyć tej funkcji do obliczenia SMAPE dla dwóch tabel: jednej zawierającej rzeczywiste wartości danych i drugiej zawierającej przewidywane wartości danych.

 #define arrays of actual and forecasted data values
actual = np.array([12, 13, 14, 15, 15,22, 27])
forecast = np.array([11, 13, 14, 14, 15, 16, 18])

#calculate SMAPE
smape(actual, forecast)

12.45302

Z wyników widać, że średni symetryczny bezwzględny błąd procentowy dla tego modelu wynosi 12,45302% .

Dodatkowe zasoby

Wpis w Wikipedii dotyczący SMAPE
Przemyślenia Roba J. Hyndmana na temat SMAPE
Jak obliczyć MAPE w Pythonie
Jak obliczyć MAPE w R
Jak obliczyć MAPE w Excelu

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *