Я хотел бы рассчитать 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).

Другие вопросы по тегам