statsmodel ARIMA可以使用外生变量预测多个步骤

时间:2014-08-15 17:35:00

标签: python statsmodels

我正在尝试使用statsmodels来预测具有外生变量的ARIMA模型。使用一系列外生变量进入未来的八个时期,我运行以下命令:

prediction = dynamic_arima_results.forecast(steps=8, exog=X_pred)

并收到以下错误:

Traceback (most recent call last):

File "<ipython-input-1-9cfb206405a4>", line 41, in evaluate_model
prediction =  dynamic_arima_results.forecast(steps=8, exog=X_pred)

File ".../arima_model.py",   line 1603, in forecast exog, method=self.model.method)
File ".../arima_model.py", line 235, in _arma_predict_out_of_sample exog)
File ".../arima_model.py", line 206, in _get_predict_out_of_sample
X = lagmat(np.dot(exog, exparams), p, original='in', trim='both')

ValueError: matrices are not aligned

稍微捅了一下后,似乎错误来自点积:np.dot(exog, exparams)步。 exog是一系列8个外生值,一个用于未来的每个时期,但exparams是单个值,我假设外生变量的系数。

如果我只提前预测一个步骤并且仅传递外生变量的单个值,则预测会产生结果。我做的事情显然是愚蠢的,还是多期预测,外生变量尚未实施?

1 个答案:

答案 0 :(得分:2)

是。这是一个错误。我假设你在0.5.0?这应该在master中修复,并将在下一个版本中修复。与此同时,如果可以,我会尝试升级。如果您在Windows上,请参阅github构建文档或安装夜间二进制文件。

您可以搜索SO和github问题,以获取有关错误的更多信息。