How to determine the order of ARMA and AR coefficient ?

23 views (last 30 days)
Husni
Husni on 19 Nov 2012
Commented: Magdy Ismail on 14 Feb 2021
Perhaps this is very simple question. I have been trying to find it. How can we determine the order of ARMA and AR coefficient in Matlab? What I mean here is not merely trial and error.
Any suggestion is appreciated
Sincerely yours
Ali
  1 Comment
Magdy Ismail
Magdy Ismail on 14 Feb 2021
Did you find an answer for your problem because i am searching for the same thing how to determine the order of AR model?

Sign in to comment.

Accepted Answer

Rajiv Singh
Rajiv Singh on 20 Nov 2012
One way would be to state-space estimation which lets you inspect the Hankel singular values for model order:
% pick optimal order in the 1:10 range: model = n4sid(data, 1:10);
  3 Comments
HF
HF on 21 Oct 2020
Hello, I was trying to apply your code into my Matlab file. Unfortunately, it is not working. Any suggestions in how to fix. I would really appreciate that.
This is my code:
Fs = 1000;
max_freq = 20;
value = 500;
signal = e(1:value);
m = n4sid(signal, 1:10);
order = idpoly(m)
[X, Y] = pyulear(e_test,order,length(e_test),Fs);

Sign in to comment.

More Answers (1)

Gurudatha Pai
Gurudatha Pai on 12 Dec 2012
Model order selection is often a tricky business. Inspecting the Hankel singular values is one many methods. There are many such methods, arguably one as good or worse as the other.
Specifically in the case AR/ARMA models, you may look into the model residues. Specifically, if you have used a "sufficient" model orders, the residuals should look white. Note that the residuals may look white for many model order selections. There are statistical hypothesis testing procedures (e.g. Chi-2 test, etc.) for both sample auto-correlation of residuals and cross-correlation of residuals and input; Ljung's book has a lot of details on all of this.
Hope that helps.

Community Treasure Hunt

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

Start Hunting!