请问怎么用matlab确定ARMA模型的阶数,

学习 时间:2026-04-06 21:43:54 阅读:9359
请问怎么用matlab确定ARMA模型的阶数,时间序列应经给定,如何用matlab来确定该序列的ARMA模型的阶数p,q呢,还有它的系数,

最佳回答

任性的皮带

淡定的滑板

2026-04-06 21:43:54

描述问题呢,就要准确,不然会让回答的人无所是从,很多时候心情不好就不会看了,比如,你是用SPSS还是matlab或是SAS或是minitab或是R,时间序列是有季节性?趋势性?等等,你不说清这些,人家也很郁闷啊,如果是matlab,我给你下面的ARMA程序参考,你把那个随机数换成你的,相应的地方改一下,就可以了,SAS也有,没贴了,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

最新回答共有2条回答

  • 温柔的小土豆
    回复
    2026-04-06 21:43:54

    描述问题呢,就要准确,不然会让回答的人无所是从,很多时候心情不好就不会看了,比如,你是用SPSS还是matlab或是SAS或是minitab或是R,时间序列是有季节性?趋势性?等等,你不说清这些,人家也很郁闷啊,如果是matlab,我给你下面的ARMA程序参考,你把那个随机数换成你的,相应的地方改一下,就可以了,SAS也有,没贴了,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

上一篇 照样子写词语:各式各样

下一篇 人类的历史有多少年了?最早的人类是哪里来的啊