在建立ARMA和GARCH模型的时候,我们常常需要涉及到模型阶数(如GARCH(p,q)中p和q)的选择问题,在这里我们使用AIC和BIC两个计算参数进行判断:
什么是AIC和BIC?
两者定义来源于信息准则:研究者通过加入模型复杂度的惩罚项来避免过拟合问题,随后推出了两个优选模型的准则:赤池信息准则(Akaike Information Criterion,AIC)和贝叶斯信息准则(Bayesian Information Criterion,BIC)。
AIC(赤池弘次,1974)的定义为:
AIC = 2*N - Ln(L) * 这里N表示 模型参数个数的个数,L表示模型得出的 似然函数最优值
所以根据AIC的定义可知,当模型越复杂或者似然函数越小,AIC值越大。而我们的目标一般是选择AIC较小的模型(即希望模型简单,并且模型的拟合度高,其中对参数N的要求表示了我们不希望模型出现过拟合的情况)。
BIC(Schwarz,1978)的定义为:
BIC = N*Ln(n) - Ln(L) * 这里N表示 模型参数个数的个数,L表示模型得出的 似然函数 最优值, n是模型中的 观测值数量 。
从AIC模型中我们可以看到没有考虑观测值数量,从统计学知识中我们可以知道随着观测值数量的增加,误差也可能随之上升,所以BIC中引入了观测值数量对模型进行判断。同AIC,BIC也是越小越好。
如何通过matlab实现AIC和BIC的判断?
1 P = 3; Q = 3; LOGL = zeros(P,Q); PQ = zeros(P,Q); n &#