%对差分后的序列做拟合和预测,求出最好的阶数
DX=reshape(y,72,1);
z=[DX;zeros(12,1)];
z=iddata(DX);%将DX转化为matlab接受的格式
test = [];
% p = [0 1 2 3]; %自回归对应PACF,给定滞后长度上限p和q,一般取为T/10、ln(T)或T^(1/2),这里取
% T/10=12;
% q = [0 1 2 3]; %移动平均对应ACF
for p = 1:3 %自回归对应PACF,给定滞后长度上限p和q,一般取为T/10、ln(T)或T^(1/2),这里取T/10=12
for q = 1:3 %移动平均对应ACF
m = armax(z(1:60),[p,q]);
AIC = aic(m); %armax(p,q),选择对应FPE最小,AIC值最小的模型
test = [test;p q AIC];
end
end
for k = 1:size(test,1)
if test(k,3) == min(test(:,3)) %选择AIC值最小的模型
p_test = test(k,1);
q_test = test(k,2);
break;
end
end