matlab,下面是ARMA程序参考,你把那个随机数换成你的,相应的地方改一下,就可以了,matlab 10版以上是有时间序列工具箱的,
clc,clear
randn('state',sum(clock)); %初始化随机数发生器
elps=randn(1,10000); %产生 10000个服从标准正态分布的随机数
x(1)=0; %赋初始值
for j=2:10000
x(j)=0.8*x(j-1)+elps(j)-0.4*elps(j-1); %产生样本点
end
for i=0:3
for j=0:3
spec= garchset('R',i,'M',j,'Display','off'); %指定模型的结构
[coeffX,errorsX,LLFX] = garchfit(spec,x); %拟合参数
num=garchcount(coeffX); %计算拟合参数的个数
%compute Akaike and Bayesian Information Criteria
[aic,bic]=aicbic(LLFX,num,10000);
fprintf('R=%d,M=%d,AIC=%f,BIC=%f\n',i,j,aic,bic); %显示计算结果
end
end
|