Использование модели 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 и метку. Как правильно его использовать?
введите сюда описание изображения
введите сюда описание изображения
Я ожидаю, что модель будет использовать только исторические данные метки и экзога (по крайней мере, за день до целевого дня прогнозирования) для обучения и прогнозирования.