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