使用BIC选择ARMA滞后

这个例子展示了如何使用贝叶斯信息准则(BIC)来选择度p一个ARMA模型。估计几种不同的模型p值。对于每个估计模型,输出loglikelihood目标函数值。输入loglikelihood值aicbic计算BIC的适合度(复杂度受到惩罚)。

模拟ARMA时间序列

模拟具有100个观测值的ARMA(2,1)时间序列。

Mdl0 = arima (“不变”,0.2,基于“增大化现实”技术的{0.75,-0.4},...“马”,0.7,“方差”,0.1);rng (“默认”Y =模拟(Mdl0,100);图(Y) xlim([0,100])“模拟ARMA(2, 1)系列的)

小区样本ACF和PACF

绘制模拟数据的样本自相关函数(ACF)和部分自相关函数(PACF)。

图subplot(2,1,1) autocorr(Y) subplot(2,1,2) parcorr(Y)

ACF和PACF的衰减速度都相对较慢。这与ARMA模型是一致的。ARMA滞后不能仅通过ACF和PACF来选择,但似乎不需要超过4个AR或MA项。

适合ARMA (p,)模型到数据

为了确定最佳滞后时间,需要对几个模型进行不同的滞后选择。这里,适合所有的组合p= 1,……4,= 1,……,4 (a total of 16 models). Store the loglikelihood objective function and number of coefficients for each fitted model.

LOGL = 0 (4, 4);%初始化PQ = 0 (4, 4);p = 1:4q = 1:4 Mdl = arima(p,0,q);[EstMdl ~, logL] =估计(Mdl Y“显示”,“关闭”);LOGL (p, q) = LOGL;PQ(p,q) = p + q;结束结束

计算BIC

计算每个拟合模型的BIC。模型中参数的数量为p++ 1 (AR和MA系数,常数项)数据集中的观测值为100。

LOGL =重塑(LOGL 16 1);PQ =重塑(PQ, 16岁,1);[~,bic] = aicbic (LOGL PQ + 1100);重塑(bic 4 4)
ans =4×4108.6241 105.9489 109.4164 113.8443 99.1639 101.5886 105.5203 109.4348 102.9094 106.0305 107.6489 99.6794 107.4045 100.7072 102.5746 102.0209

在输出的BIC矩阵中,行对应AR度(p)和对应的MA度()。最小的值是最好的。

最小的BIC值是99.1639在(2,1)位置。这对应于ARMA(2,1)模型,与生成数据的模型相匹配。

另请参阅

|||||

相关的例子

更多关于