From: Brian on
I'm having some issues with the armax function. I have an single input-output time series dataset, and all I want to do is extimate the parameters of an arma(2,3) model, without the exogenous term. How do I go about this?

Thanks,
Brian
From: Wayne King on
"Brian " <b.deegan1(a)nuigalway.ie> wrote in message <ho83ah$svt$1(a)fred.mathworks.com>...
> I'm having some issues with the armax function. I have an single input-output time series dataset, and all I want to do is extimate the parameters of an arma(2,3) model, without the exogenous term. How do I go about this?
>
> Thanks,
> Brian

Hi Brian,

You can do

% creating some model data ARMA(1,2)
A=[1 -0.9];
B = [ 1 0.2000 0.4000];
reset(RandStream.getDefaultStream);
y = filter(B,A,randn(1000,1));
Data = iddata(y,[],1); % no exogenous term
Model =armax(Data,[1 2]);
% displaying Model

Model
Discrete-time IDPOLY model: A(q)y(t) = C(q)e(t)
A(q) = 1 - 0.9012 q^-1

C(q) = 1 + 0.2259 q^-1 + 0.4615 q^-2

Estimated using ARMAX on data set Data
Loss function 0.993907 and FPE 0.999895
Sampling interval: 1

Compare A(q) to A and C(q) to B

Hope that helps,
Wayne