Я пытаюсь спрогнозировать временную серию с помощью алгоритма Холта-Винтерса. Проблема в том, что выходы абсолютно неправильны (прямая линия в этой настройке).
Я использую реализацию statsmodels, и я не уверен в параметре season_periods. Сначала я попробовал 60 * 24, потому что данные имеют частоту одна минута, а сезонность - один день. Но я остановил алгоритм через пару минут, потому что не думаю, что время работы должно быть таким высоким. С параметром, установленным на 365 (дней в году), я получаю результаты, показанные на рисунке ниже. Даже при этом более медленном значении время работы составляло 5-10 минут. Это нормально для алгоритма Холта-Винтерса?
Вот мой код:
model = ExponentialSmoothing(train_forecast_data_df, seasonal='mul', seasonal_periods=365).fit()
pred = model.predict(start=test_forecast_data_df.index.min(), end=test_forecast_data_df.index.max())
fig, ax = plt.subplots(1, 1, figsize=(16, 4))
ax.plot(train_forecast_data_df.index, train_forecast_data_df, label='Train')
ax.plot(pred.index, pred, label='Holt-Winters', alpha=0.7, c='r', linestyle='-')
ax.plot(test_forecast_data_df.index, test_forecast_data_df, label='Test', alpha=0.7)
ax.legend(loc='best')
и вот результаты. Синий - данные поезда, оранжевый - данные теста, красный - прогноз.
Я надеюсь, что кто-то может мне помочь.