拟合 AR(1) 模型
回顾一下,您可以结合使用 ACF 和 PACF 来帮助识别 ARMA 模型的阶数 \(p\) 和 $q$。下表汇总了判别要点:
| AR(\(p\)) | MA(\(q\)) | ARMA(\(p,q\)) | |
|---|---|---|---|
| ACF | 缓慢衰减 | 在滞后 \(q\) 后截尾 | 缓慢衰减 |
| PACF | 在滞后 \(p\) 后截尾 | 缓慢衰减 | 缓慢衰减 |
在本练习中,您将从 AR(1) 模型 $$X_t = .9 X_{t-1} + W_t$$ 生成数据,观察模拟数据以及样本 ACF 与 PACF,以判断模型阶数。然后,您将拟合该模型,并将估计参数与真实参数进行比较。
在整个课程中,您将使用 astsa 包中的 sarima() 来便捷地对数据拟合模型。该命令会生成残差诊断图像;在本章后面讨论诊断之前,您可以先忽略它。
本练习是课程的一部分
R 中的 ARIMA 模型
练习说明
- 已预加载 astsa 包。
- 使用预先写好的
arima.sim()命令,从 AR(1) 模型生成 100 个观测,AR 参数为 0.9。将结果保存到x。 - 使用
plot()绘制生成的数据。 - 使用
astsa包中的acf2()绘制样本 ACF 和 PACF。 - 使用
astsa的sarima()对刚才生成的数据拟合 AR(1) 模型。查看 t 表,并将估计值与真实值进行比较。例如,若时间序列在x中,拟合 AR(1) 可用sarima(x, p = 1, d = 0, q = 0),或直接用sarima(x, 1, 0, 0)。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Generate 100 observations from the AR(1) model
x <- arima.sim(model = list(order = c(1, 0, 0), ar = .9), n = 100)
# Plot the generated data
# Plot the sample P/ACF pair
# Fit an AR(1) to the data and examine the t-table