Я пытаюсь использовать статистические модели для прогнозирования модели 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
- это единственное значение, как я предполагаю, коэффициент на экзогенной переменной.
Прогнозирование дает результат, если я заранее предсказываю только один шаг и передаю только одно значение для экзогенной переменной. Я делаю что-то явно глупое или многопериодное прогнозирование с экзогенными переменными еще не реализовано?