3时间的序列模型识别.docx
《3时间的序列模型识别.docx》由会员分享,可在线阅读,更多相关《3时间的序列模型识别.docx(9页珍藏版)》请在冰豆网上搜索。
3时间的序列模型识别
时间序列模型识别
1采用ACF、PACF识别
1.1MA
(1)模型
根据其自相关系数是否落在2倍标准误差(方差约等于1/n)里面,判断是否接受原假设为ma(q)模型,如下ma
(1)模型
>data(ma1.1.s)
>acf(ma1.1.s)
采用公式计算出的可变临界限,画出来的标准差范围是乎更加精确
公式为
>acf(ma1.1.s,ci.type='ma')
>acf(ma1.1.s,ci.type='ma',xaxp=c(0,20,10))
Xaxp(0,20,10)表示滞后从0到20,中间画出10个标度
若ACF中有明显衰减的正弦波趋势也应该考虑下AR模型,用PACF做进一步的检验。
1.2AR
(1)模型
>data(ar1.s)
>acf(ar1.s,xaxp=c(0,20,10))
其自相关系数趋近于线性递减,一般对于AR模型应采用计算pacf
若ACF中有明显衰减的正弦波趋势也应该考虑下AR模型,用PACF做进一步的检验。
>pacf(ar1.s,xaxp=c(0,20,10))
由图可知其偏相关系数在一阶时非常的明显,也再一次验证了其是一阶自相关过程。
1.3ARMA(1,1)
>plot(arma11.s)
>acf(arma11.s,xaxp=c(0,20,10))
>pacf(arma11.s,xaxp=c(0,20,10))
从acf和pacf可以看出模型建议为arma(1,1)
1.4非平稳模型ARIMA
>data(oil.price)
>acf(as.vector(oil.price))
>pacf(as.vector(oil.price))
一阶差分后的相关系数
>acf(diff(as.vector(log(oil.price))))
2EACF方法
ACF和PACF为识别纯MA和AR提供了有效的工具,但是对于混合模型则力不从心,扩展的自相关函数eacf可以帮助我们识别混合模型
>eacf(arma11.s)
AR/MA
012345678910111213
0xxxxoooooooooo
1xooooooooooooo
2xooooooooooooo
3xxoooooooooooo
4xoxooooooooooo
5xooooooooooooo
6xoooxooooooooo
7xoooxooooooooo
如对于arma11数据集来说,演示结果表明arma(1,1)或者arma(2,1)是可取的
>eacf(ar1.s)
AR/MA
012345678910111213
0xxxxxxoooooooo
1oooooooooooooo
2oooooooooooooo
3xooooooooooooo
4xooooooooooooo
5xxoooooooooooo
6xoxooooooooooo
7xoxooooooooooo
>eacf(ma1.1.s)
AR/MA
012345678910111213
0xoooxoooooooox
1xooooooooooooo
2xooooooooooooo
3xxxxoooooooooo
4xxoxxooooooooo
5xxooxxoooooooo
6ooxxxxoooooooo
7ooxooxoooooooo
如何看eacf图:
找出图中全为零的三角区域,从x部分开始构建,构建成的三角尖即为可行模型(找到点后对着行列的标值可分别找到AR和MA的建议阶数)
3Armasubset基于BIC对最优子集ARMA的选择
>res=armasubsets(arma11.s,nar=3,nma=3)
>plot(res)
在用armasubsets时如果设置的nar和nma不合理,则会出错提示,Inleaps.setup(x,y,wt=wt,nbest=nbest,nvmax=nvmax,force.in=force.in,:
1lineardependenciesfound
因为过分的差分后可能出现0值。
此时要将其设置得更小
从图可以看出:
根据最小BIC准则,较好的模型有较小的BIC,因为图中的BIC为负数所以先取第一行,第一行中阴影包括了前部分的1阶滞后项,而后部分无阴影即无误差项(前部分是对应AR,而后一部分对应MA)。
随后看第二行,由于BIC的值相差不大,二行中显示2阶滞后自回归和1阶滞后误差是比较显著的同理可得第三行。
最后综合分析图表可以得出ARMA(1,1)模型有其一定的合理性。