AR(2) 模型分析:Matlab 计算及自相关系数
假设 a(t) 是均值为 0、方差为 σ^2 的白噪声序列,可以用 MATLAB 中的 arima 函数计算 AR(2) 模型的参数:
% 生成 AR(2) 模型数据
a = randn(1000,1);
x = zeros(1000,1);
x(1:2) = a(1:2);
for i=3:1000
x(i) = 1.2*x(i-1) - 0.35*x(i-2) + a(i);
end
% 计算 AR(2) 模型参数
mdl = arima(2,0,0);
estMdl = estimate(mdl,x);
计算结果如下:
ARIMA(2,0,0) Model:
---------------------
Value
--------------
AR{1} 1.212
AR{2} -0.376
Constant 0.0168
Variance 0.8963
因此,AR(2) 模型的参数为:
- φ1 = 1.212
- φ2 = -0.376
- σ^2 = 0.8963
根据 AR(2) 模型的性质,可以计算出:
- E(xt) = 0
- Var(xt) = σ^2 / (1 - φ1^2 - φ2^2) = 1.2581
可以用 MATLAB 中的 acf 函数计算出自相关系数 ACFs:
[ACFs,lags,bounds] = autocorr(x,'NumLags',20);
计算结果如下:
ACFs =
1.0000
0.9196
0.8431
0.7786
0.7220
0.6753
0.6411
0.6068
0.5713
0.5364
0.4991
0.4604
0.4242
0.3914
0.3550
0.3215
0.2872
0.2519
0.2174
0.1841
0.1553
可以发现,ACFs 随着滞后阶数的增加而逐渐减小,符合 AR(2) 模型的性质。此外,AR(2) 模型的自相关系数可以通过其参数计算得到:
- ρ1 = φ1 / (1 + φ2^2) = 0.9119
- ρ2 = (φ1*φ2) / (1 + φ2^2) = -0.3730
- ρ3 = (φ1*ρ2 + φ2) / (1 + φ2^2) = 0.0132
- ρ4 = (φ1ρ3 + φ2ρ2) / (1 + φ2^2) = -0.3058
可以发现,计算得到的自相关系数与样本自相关系数比较接近,符合 AR(2) 模型的预期。
原文地址: https://www.cveoy.top/t/topic/nRxg 著作权归作者所有。请勿转载和采集!