Использование модели ARDL (ARIMA с exog по statsmodel в Python) для прогнозирования

Описание данных (упрощенно для вопроса):

  • Train_data: 20 столбцов, ежедневные финансовые данные за 10 лет с 2010.01.01 по 2019.12.31.
  • Train_label: Ежедневный индекс китайского фондового рынка за 10 лет с 1 января 2010 г. по 31 декабря 2019 г.
  • Test_data: 20 столбцов, ежедневные финансовые данные за 1 год с 2020.01.01 по 2020.13.31.
  • Test_label: Ежедневный индекс китайского фондового рынка за 1 год с 2020.01.01 по 2020.13.31.

Мой код модели:

      from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(endog=np.array(train_label), exog=np.array(train_data), order=(1, 0, 0))
result = model.fit()

predictions = result.forecast(steps=len(test_label), exog=np.array(test_data))

Описание вопроса:

Результат прогнозирования для набора тестовых данных слишком хорош: точность прогнозирования тенденций составляет 89%. Я думаю, что модель использует test_data того же дня, а не исторические данные, чтобы предсказать результат.

Может ли кто-нибудь сказать мне, есть ли пакет и модель, использующие только исторические данные X и метку. Как правильно его использовать?

введите сюда описание изображения

введите сюда описание изображения

Я ожидаю, что модель будет использовать только исторические данные метки и экзога (по крайней мере, за день до целевого дня прогнозирования) для обучения и прогнозирования.

0 ответов

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