以ARMA(p,q)模型为例说明:
1.确定最大可能阶数(一般不宜过大,如:p<=10,q<=10,其原因后面专门说明)
2.对于每一个可能的阶数组合(p=i,q=j),确定了一个ARMA模型,算AIC或SBC
3.按2步重复10*10=100个AIC或SBC值,选择其中最优者(值最小者,或者最大者,依赖于公式的不同表达,自己查书,本想输入找不到输入公式的方法),
其对应模型阶数为最佳阶数。
至于如何选择最大模型阶数,有几种认识角度:
1.最简单者莫过去刚才所做,就是按经验定,不宜过大(如10),因为模型并非阶数越大越好,虽然阶数越大拟合效果越好,甚至当
阶数足够大时,可以把非线性时间序列拟合成线性的(见范剑青《非参数。。。》第一章最后一阶),但是其预测效果以及参数估计精度
一般会大打折扣,这也是AIC或者BSC的基本思想---对模型的复杂度进行惩罚;
2.稍微复杂一点的可以做一个系数的t检验,如果发现某一阶后系数都显著为0,则认定最后一个非零系数位置即为最大阶数。该法从理论上说,有以下假设或者限制:a。系数检验的前提是要先按某一阶数拟合(呵呵,就是说还没确定最大阶数之前就已经有一个预期不可超越之阶数也!);b.某一系数之后为零,未必严格就说我们的结论成立也;c.有可能我们的这种做法限于无解的死循环中
一个字:烦
3.最后一个原因稍微理论一点,如果你认定你的模型是平稳过程(如:ARMA模型),那么其相依性递减速度是很快的(对于ARMA模型可以计算其衰减速度是指数阶的),因而可以认定阶数跑不出太远的(稍一远,就会跟"零"亲嘴啦)

[em07]
[此贴子已经被作者于2008-12-12 10:40:52编辑过]