使用 ARDL 模型(ARIMA with exog by statsmodel in Python)进行预测

问题描述 投票:0回答:0

数据说明(问题简化):

  • train_data:20列,从2010.01.01到2019.12.31的10年金融日报数据
  • Train_label:2010.01.01 至 2019.12.31 10 年每日中国股市指数
  • test_data:20列,从2020.01.01到2020.13.31的1年财经日报数据
  • test_label:2020.01.01 至 2020.13.31 1 年每日中国股市指数

我的型号代码:

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 而不是历史数据来预测结果。例如2020.06.01的预测,模型是使用同一天的20列数据来生成结果。

谁能帮忙解释一下exog在这里是如何工作的?提供数据的正确方法是什么?

enter image description here

enter image description here

我希望模型只使用标签和 exog 的历史数据(至少在预测目标日期前一天)进行训练和预测

python time-series statsmodels arima ardl
© www.soinside.com 2019 - 2024. All rights reserved.