MATLAB: How to automate ARIMA model ‘order’ selection based on ACF and PACF plots

automated input arguments to arima(p d q) functionpredict arima model by automatic assignment of p d q values

While modeling in MATLAB, we have to provide values of p, d and q in arima(p,d,q) implementation, by observing ACF – PACF plots and may be differencing the data afterwards. Is there a way so that these values can be assigned automatically from ACF – PACF plots and AIC test? I know, there are some other factors affecting these input argument values. But, for beginning I would be focusing on ACF – PACF plot, AIC test and need of differentiating the data only. The aim of this procedure is to get best fit possible.

Best Answer

I am not sure that it is your answer or not. But I have used this function to find the best values for p and q for a given time series y
function ar=checkArima(y,pp,qq)
% pp is the maximum for p
% qq is the maximum for q
LOGL = zeros(pp+1,qq+1); %Initialize
PQ = zeros(pp+1,qq+1);
for p = 1:pp+1
for q = 1:qq+1
mod = arima(p-1,0,q-1)
[fit,~,logL] = estimate(mod,y,'print',false);
LOGL(p,q) = logL;
PQ(p,q) = p+q;
end
end
LOGL = reshape(LOGL,(pp+1)*(qq+1),1);
PQ = reshape(PQ,(pp+1)*(qq+1),1);
[~,bic] = aicbic(LOGL,PQ+1,100);
ar=reshape(bic,pp+1,qq+1);
% the rows correspond to the AR degree (p) and the
% columns correspond to the MA degree (q). The smallest value is best