Я хотел бы рассчитать RMSE и MSE для моделей Prophet, SARIMA и Ensemble от KATS.
Я провел анализ, в котором я спрогнозировал свой фрейм данных, преобразовав его в данные временных рядов. Я хотел бы рассчитать RMSE и MSE для моделей Prophet, SARIMA и Ensemble из KATS.
Для кода SARIMA :
from kats.models.sarima import SARIMAModel, SARIMAParams
warnings.simplefilter(action='ignore')
# create SARIMA param class
params = SARIMAParams(p=2 ,
d=1,
q=1,
trend = 'ct',
seasonal_order=(1,0,1,12)
)
# initiate SARIMA model
m = SARIMAModel(data=ts, params=params)
# fit SARIMA model
m.fit()
# generate forecast values
fcst = m.predict(
steps=HOURS ,
include_history = True
)
# make plot to visualize
plt1 = m.plot()
plt.xlabel('Time (in days)')
plt.ylabel('Noise Level (db)')
Прогнозируемый результат: SARIMA Forecasting
Для пророка
Код:
from kats.models.prophet import ProphetModel, ProphetParams
# create a model param instance
params = ProphetParams(seasonality_mode='multiplicative') # additive mode gives worse results
# create a prophet model instance
m = ProphetModel(ts, params)
# fit model simply by calling m.fit()
m.fit()
# make prediction for next HOURS hours
fcst = m.predict(steps=HOURS, include_history = True)
# plot to visualize
plt2 = m.plot()
plt.xlabel('Time (in days)')
plt.ylabel('Noise Level (db)')
Прогнозируемый результат:
Может кто-нибудь, пожалуйста, скажите мне, как я могу этого достичь? Я пробовал несколько методов сводной статистики, но, похоже, они не работают. Спасибо!
1 ответ
Учебная тетрадь Kats 201 содержит примеры в разделах 4 и 5, показывающие, как использовать Kats для вычисления
evaluation_function
(здесь, MAE) и для проведения ретроспективного тестирования для вычисления множества метрик ошибок (MAPE, SMAPE, MAE, MASE, MSE, RMSE).