Why I am getting error for performing AIC test for model orders varying in 0:3 range?

3 次查看(过去 30 天)
For ARIMA(p,d,q) if AIC test is applied for p,q = 0:3 keeping d = 0 and 1, it shows error. I want to confirm for possibilities when p and/or q = 0 also. What can be done to achieve so? This is my code.
LOGL = zeros(4,4);
PQ = zeros(4,4);
for p = 0:3
for q = 0:3
mod = arima(p,1,q);
[fit,~,logL] = estimate(mod,z,'print',false);
LOGL(p,q) = logL;
PQ(p,q) = p+q;
end
end
LOGL = reshape(LOGL,16,1);
PQ = reshape(PQ,16,1);
[aic,bic] = aicbic(LOGL,PQ+1,100);
mAIC=reshape(aic,4,4)
mBIC=reshape(bic,4,4)
the error is due to log function. Is there any way to achieve what I want?

采纳的回答

Brendan Hamm
Brendan Hamm 2016-10-7
MATLAB indexing starts at 1, so when wither p or q is equal to 0 your indexing,
LOGL(p,q) = logL;
PQ(p,q) = p+q;
will fail. Change this to:
LOGL(p+1,q+1) = logL;
PQ(p+1,q+1) = p+q;
  2 个评论
Hamed Majidiyan
Hamed Majidiyan 2022-3-7
Hi Brendan,
I ran the code and I got the following results, even though I don't know how to intrepret the outcomes, so any help would be highly appreciated
mAIC =
1.0e+04 *
-1.4059 -1.6748 -1.9129 -2.0337
-3.2659 -3.0362 -3.0430 -3.0458
-1.4044 -3.0381 -3.0379 -3.0377
-1.4042 -3.0379 -2.7176 -2.7174
mBIC =
1.0e+04 *
-1.4057 -1.6743 -1.9121 -2.0326
-3.2654 -3.0354 -3.0419 -3.0445
-1.4036 -3.0370 -3.0366 -3.0361
-1.4032 -3.0366 -2.7160 -2.7155

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by