System for configuring initial parametrization of sys,
specified as a discrete-time linear model. You obtain init_sys by
either performing an estimation using measured data or by direct construction
using commands such as idpoly and idss.

If init_sys is an ARMAX model, armax uses
the parameter values of init_sys as the initial
guess for estimation. To configure initial guesses and constraints
for A(q), B(q),
and C(q), use the Structure property
of init_sys. For example:

To specify an initial guess for the A(q)
term of init_sys, set init_sys.Structure.A.Value as
the initial guess.

To specify constraints for the B(q)
term of init_sys:

set init_sys.Structure.B.Minimum to
the minimum B(q) coefficient
values.

set init_sys.Structure.B.Maximum to
the maximum B(q) coefficient
values.

set init_sys.Structure.B.Free to
indicate which B(q) coefficients
are free for estimation.

If init_sys is not a polynomial model of
ARMAX structure, the software first converts init_sys to
an ARMAX model. armax uses the parameters of
the resulting model as the initial guess for estimating sys.

If opt is not specified, and init_sys was
obtained by estimation, then the estimation options from init_sys.Report.OptionsUsed are
used.

opt — Estimation optionsarmaxOptions option set

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments.
Name is the argument
name and Value is the corresponding
value. Name must appear
inside single quotes (' ').
You can specify several name and value pair
arguments in any order as Name1,Value1,...,NameN,ValueN.

Input delays, specified as the comma-separated pair consisting
of 'InputDelay' and one of the following:

Nu-by-1 vector, where Nu is
the number of inputs — Each entry is a numerical value representing
the input delay for the corresponding input channel. Specify input
delays as integer multiples of the sample time Ts.
For example, InputDelay = 3 means a delay of three
sampling periods.

Scalar value — The same delay is applied to
all input channels.

'IODelay' — Transport delays0 (default) | scalar | matrix

Transport delays for each input/output pair, specified as the
comma-separated pair consisting of 'IODelay' and
one of the following:

Ny-by-Nu matrix,
where Ny is the number of outputs and Nu is
the number of inputs — Each entry is an integer value representing
the transport delay for the corresponding input/output pair. Specify
transport delays as integers denoting delay of a multiple of the sample
time Ts.

Scalar value — The same delay is applied to
all input/output pairs.

'IODelay' is useful as a replacement for
the nk order. You can factor out max(nk-1,0) lags
as the IODelay value. For nk>1, armax(na,nb,nk) is
equivalent to armax(na,nb,1,'IODelay',nk-1).

'IntegrateNoise' — Addition of integrators in noise channelfalse(Ny,1), where Ny is the number of outputs (default) | logical vector

Addition of integrators in noise channel, specified as the comma-separated
pair consisting of ‘IntegrateNoise' and
a logical vector of length Ny, where Ny is
the number of outputs.

Setting IntegrateNoise to true for
a particular output results in the model:

nk — Number
of input samples that occur before the input affects the output, also
called the dead time in the system.

y(t−1)…y(t−na) — Previous
outputs on which the current output depends.

u(t−nk)…u(t−nk−nb+1) — Previous
and delayed inputs on which the current output depends.

e(t−1)…e(t−nc) — White-noise
disturbance value.

The parameters na, nb,
and nc are the orders of the ARMAX model, and nk is
the delay. q is the delay operator. Specifically,

A(q)=1+a1q−1+…+anaq−na

B(q)=b1+b2q−1+…+bnbq−nb+1

C(q)=1+c1q−1+…+cncq−nc

If data is a time series that has no input
channels and one output channel, then armax calculates
an ARMA model for the time series

A(q)y(t)=C(q)e(t)

In this case,

orders = [na nc]

ARIMAX Model

An ARIMAX model structure is similar to ARMAX, except that it
contains an integrator in the noise source e(t):

A(q)y(t)=B(q)u(t−nk)+C(q)(1−q−1)e(t)

If there are no inputs, the structure reduces to an ARIMA model:

A(q)y(t)=C(q)(1−q−1)e(t)

Tips

Use the IntegrateNoise property
to add integrators to the noise source.

Algorithms

An iterative search algorithm minimizes a robustified quadratic
prediction error criterion. The iterations are terminated when any
of the following is true:

Maximum number of iterations is reached.

Expected improvement is less than the specified tolerance.

Lower value of the criterion cannot be found.

You can get information about the stopping criteria using sys.Report.Termination.

Use the armaxOptions option set to create
and configure options affecting the estimation results. In particular,
set the search algorithm attributes, such as MaxIter and Tolerance,
using the 'SearchOption' property.

When you do not specify initial parameter values for the iterative
search as an initial model, they are constructed in a special four-stage
LS-IV algorithm.

The cutoff value for the robustification is based on the Advanced.ErrorThreshold
estimation option and on the estimated standard deviation of the residuals
from the initial parameter estimate. It is not recalculated during
the minimization. By default, no robustification is performed; the
default value of ErrorThreshold option is 0.

To ensure that only models corresponding to stable predictors
are tested, the algorithm performs a stability test of the predictor.
Generally, both C(q) and F(q) (if applicable) must have all
zeros inside the unit circle.

Minimization information is
displayed on the screen when the estimation option 'Display' is 'On' or 'Full'.
With 'Display'='Full', both
the current and the previous parameter estimates are displayed in
column-vector form, listing parameters in alphabetical order. Also,
the values of the criterion function (cost) are given and the Gauss-Newton
vector and its norm are also displayed. With 'Display' =
'On', only the criterion values are displayed.