У меня есть набор данных о том, сколько доллар стоит в лирах с 2002 года.
Моя задача - запустить простое экспоненциальное сглаживание этих данных и вычислить MAPE, но мой MAPE возвращает значение около 250 (это меняется, если я изменяю уровень сглаживания).
Мне нужно процентное число, которое должно быть 0-100.
Вот мой код Python
from statsmodels.tsa.api import ExponentialSmoothing, SimpleExpSmoothing, Holt
import numpy as np
import pandas as pd
def mean_absolute_percentage_error(y_true, y_pred):
y_true, y_pred = np.array(y_true), np.array(y_pred)
return np.mean(np.abs((y_true - y_pred) / y_true)) * 100
raw_data = pd.read_excel("arda.xlsx", sheet_name=0, parse_dates=['DATE'], index_col='ID')
data_open = raw_data['OPEN']
time_log = np.log(data_open)
ses = SimpleExpSmoothing(time_log).fit(smoothing_level=0.1)
ses1 = ses.forecast(len(time_log))
mape = mean_absolute_percentage_error(time_log, ses1)
print(mape)
А вот и мой вывод
249.08272600004295
Большое спасибо за любую помощь!