# 得到模型的预测值 forecast = stepwise_model.predict_in_sample() # 计算标准化残差 standardized_resid = (model_resid - forecast) / AGresult.conditional_volatility resid_lb = acorr_ljungbox(standardized_resid, lags=10) # 残差序列的自相关图和偏自相关图 fig, ax = plt.subplots(nrows=2, figsize=(10, 8)) fig.subplots_adjust(hspace=0.5) ax[0].plot(resid_lb) ax[0].set_title('Residuals of ARIMA-GARCH Model') ax[1] = plot_acf(resid_lb, ax=ax[1], lags=10) plt.show()问题在哪怎么改
时间: 2024-02-20 09:56:09 浏览: 106
ARMA_Forecast_Diff_ARMA_预测_ARMA_Forecast_Diff.m_ARMA预测_
5星 · 资源好评率100%
根据你提供的代码和错误信息,可以看出问题出在这段代码中:
```
ax[0].plot(resid_lb)
ax[0].set_title('Residuals of ARIMA-GARCH Model')
ax[1] = plot_acf(resid_lb, ax=ax[1], lags=10)
```
其中 `resid_lb` 是使用 `acorr_ljungbox` 函数计算的残差序列的统计量,但是这里的 `plot_acf` 函数需要的是一个时间序列的数据,因此需要把 `resid_lb` 转换成一个时间序列的数据。
可以尝试把 `resid_lb` 替换为 `standardized_resid`,即:
```
ax[0].plot(standardized_resid)
ax[0].set_title('Residuals of ARIMA-GARCH Model')
ax[1] = plot_acf(standardized_resid, ax=ax[1], lags=10)
```
这样就可以把标准化残差作为时间序列数据进行自相关图和偏自相关图的绘制了。
阅读全文