我使用 statsmodels 中的 ARIMA 进行时间序列分析。现在我偶然发现了以下网站
在此示例中,通过 ARIMA.fit() 使用以下结果构建了 ARIMA(3,1,0) 模型:
coef
ar.L1 -0.5353
ar.L2 -0.3974
ar.L3 -0.3856
模型方程为:
Δy_t = −0.5232y_(t−1) − 0.3836y_(t−2) − 0.3758y_(t−3) + w_t,
模型方程中滞后变量的 AR 系数值来自哪里,有什么想法吗?或者我只见树木不见森林。我认为 AR 系数可以直接在 ARIMA.fit() 的结果对象中看到。
提前致谢!
答案应位于链接网站的第 20 和 21 单元格中。
在摘要中,您可以看到所有系数及其标准误差等:
```python
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(data, order=(3, 1, 0))
model_fit = model.fit()
print(model_fit.summary())
```
您可以通过params字典直接访问参数。因此,要手动定义上面给出的函数,您可以使用
```python
import math
ar1 = model_fit.params["ar.L1"]
ar2 = model_fit.params["ar.L2"]
ar3 = model_fit.params["ar.L3"]
sigma2 = model_fit.params["ar.sigma2"]
def calc_delta_y(y, t=0):
"""delta_y calculated from this specific ARIMA model"""
return ar1*y[t-1] + ar2*y[t-2] + ar3*y[t-3] + math.sqrt(sigma2)
```
我猜你是只见树木不见森林,但我也知道你不是第一个寻找这些参数的人。