How do you implement an ADL model in Matlab using ARMAX?

I am trying to implement an ADL(autoregressive distributed lag) model and I believe the ARMAX funciton is appropriate for this but the help documention is very unclear. Has anyone used the ARMAX function to impement an ADL model? I'm tyring to estimate a time series of the following form:
Y(t) = Betahat1Y(t-1) + Betahat2X(t-1) + Betahat3Z(t-1) + Et
Where Y(t-1) is the first lag of Y, X(t-1) and Z(t-1) are the first lags of exogenous explanatory variables and Et is the error term. Thanks.

Answers (1)

You have 2 inputs with minimum lag of 1 sample each. Also you have only one term of each variable. So set up ARMAX orders as:
na = 1;
nb = [1 1];
nk = [1 1];
data = iddata(y,[u1 u2],Ts); % Ts is sample time; can use Ts=1 if it is irrelevant
model = armax(data,[na nb nk]);

Categories

Asked:

on 21 Nov 2011

Community Treasure Hunt

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

Start Hunting!