model = ARIMA(data[0:45], (p, 1, q)).fit()啥意思,为什么会报错ValueError: endog and exog matrices are different sizes
时间: 2024-05-24 11:12:12 浏览: 225
这段代码是在使用ARIMA模型对数据进行拟合和预测。其中data[0:45]是传入的时间序列数据,(p, 1, q)是ARIMA模型的参数,p表示自回归项数,q表示移动平均项数,1表示差分阶数。
报错ValueError: endog and exog matrices are different sizes表示传入的数据(endog)和外生变量(exog)的矩阵尺寸不同。这可能是因为在ARIMA模型中没有使用外生变量,因此需要删除exog参数或者将其设置为None,使endog和exog尺寸相同。
相关问题
model = ARIMA(data, order=(1,1,1)) model_fit = model.fit(disp=0)报错fit() got an unexpected keyword argument 'disp'
这个问题可能是由于您的statsmodels版本过低引起的。请尝试使用以下代码升级statsmodels:
```
!pip install statsmodels --upgrade
```
然后再次运行您的代码,看看是否解决了问题。如果仍然存在问题,可以尝试使用以下代码替换您的代码:
```
model = ARIMA(data, order=(1,1,1))
model_fit = model.fit()
```
这应该可以解决您的问题。
arima_model = sm.tsa.ARIMA(train_data, order=(8, 1, 0)).fit() arima_result = arima_model.fit(disp=False) print(arima_result.summary())检查并修改
这段代码有点问题,因为你用 `arima_model.fit()` 已经进行了拟合,所以不需要再用 `arima_result = arima_model.fit()` 进行一次拟合。可以直接使用 `arima_model.summary()` 来查看 ARIMA 模型的拟合结果。
修改后的代码如下:
```
arima_model = sm.tsa.ARIMA(train_data, order=(8, 1, 0)).fit(disp=False)
print(arima_model.summary())
```
这样就可以查看 ARIMA 模型的拟合结果了。
阅读全文