Обучение модели временных рядов DeepAR с ежемесячными данными. Можно тренироваться только ежедневно

Я модель обучаюDeepAR (arXiv ) в Jupyter Notebook. Я следую этому руководству.

Создаю коллекцию временных рядов ( concat_df), как того требует метод DeepAR:

Каждая строка представляет собой временной ряд. Эта коллекция используется для обучения модели DeepAR. Формат ввода, ожидаемый DeepAr, - это список серий. Итак, я создаю это из приведенного выше фрейма данных:

      time_series = []
for index, row in concat_df.iterrows():
    time_series.append(row)

С помощью этого списка временных рядов я затем установил freq, prediction_length а также context_length (обратите внимание, что в этом первом примере я устанавливаю частоту Daily):

      freq = "D"
prediction_length = 3
context_length = 3

...так же хорошо как T-Naught, Data Length, Number of Time Series а также Period:

      t0 = concat_df.columns[0]
data_length = concat_df.shape[1]
num_ts = concat_df.shape[0]
period = 12

Создаю обучающий набор:

      time_series_training = []
for ts in time_series:
    time_series_training.append(ts[:-prediction_length])

..и визуализируйте это с помощью набора тестов:

      time_series[0].plot(label="test")
time_series_training[0].plot(label="train", ls=":")
plt.legend()
plt.show()

Пока все хорошо, все, кажется, согласуется с руководством.

Затем я использую оставшийся код для вызова развернутой модели, как описано в указанной статье:

      list_of_df = predictor.predict(time_series_training[:5], content_type="application/json")

НО, если я изменю периодичность на ежемесячную ( freq = "M") Я получаю следующую ошибку:

      ValueError: Units 'M', 'Y', and 'y' are no longer supported, as they do not represent unambiguous timedelta values durations.

Почему не принимаются ежемесячные данные? Как я могу тренировать ежемесячные данные на DeepAR? Есть ли способ указать дневной эквивалент ежемесячных данных?

Похоже, это какая-то ошибка Pandas, как показано здесь .

0 ответов

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