System Identification Toolbox | ![]() ![]() |
Estimate the parameters of an ARMAX or ARMA model.
Syntax
m = armax(data,orders) m = armax(data,'na',na,'nb',nb,'nc',nc,'nk',nk) m = armax(data,orders,'Property1',Value1,...,'PropertyN',ValueN)
Description
armax
returns m
as an idpoly
object with the resulting parameter estimates, together with estimated covariances.
armax
estimates the parameters of the ARMAX model structure
using a prediction error method.
data
is an iddata
object containing the output-input data. The model orders can be specified as (...,'na',na,'nb',nb,...)
or by setting the argument orders
to
The parameters na
, nb
, and nc
are the orders of the ARMAX model, and nk
is the delay. Specifically,
Alternatively, you can specify the vector as
where mi
is an initial guess at the ARMAX model given in idpoly format. See Polynomial Representation of Transfer Functions in the "Tutorial" for more information.
For multi-input systems, nb
and nk
are row vectors, such that the k
-th entry corresponds to the order and delay associated with the k
-th input.
If data
has no input channels and just one output channel (i.e., it is a time series), then
and armax
calculates an ARMA model for the time series
The structure and the estimation algorithm are affected by any property name/property value pairs that are set in the input argument list. Useful properties are 'Focus'
, 'InitialState'
, 'Trace'
, 'MaxIter'
, 'Tolerance'
, 'LimitError'
, and 'FixedParameter'
.
See Algorithm Properties, idpoly
and idmodel
for details of these properties and their possible values.
armax
does not support multi-output models. Use the state-space model for this case (see n4sid
and pem
).
Algorithm
A robustified quadratic prediction error criterion is minimized using an iterative search algorithm, whose details are governed by the properties 'SearchDirection'
, 'MaxIter'
,'Tolerance'
and 'Advanced'
. The iterations are terminated when MaxIter
is reached, when the expected improvement is less than Tolerance
, or when a lower value of the criterion cannot be found. Information about the search is contained in m.EstimationInfo
.
The initial parameter values for the iterative search, if not specified in orders
, are constructed in a special four-stage LS-IV algorithm.
The cut-off value for the robustification is based on the property LimitError
as well as on the estimated standard deviation of the residuals from the initial parameter estimate. It is not recalculated during the minimization.
A stability test of the predictor is performed, so as to assure that only models corresponding to stable predictors are tested. Generally, both and
(if applicable) must have all their zeros inside the unit circle.
Information about the minimization is furnished to the screen in case the property 'Trace'
is set to 'On'
or 'Full'
. With 'Trace
' =
'Full'
, current and previous parameter estimates (in column vector form, listing parameters in alphabetical order) as well as the values of the criterion function are given. The Gauss-Newton vector and its norm are also displayed. With 'Trace' = 'On'
just criterion values are displayed.
See Also
arx
, bj
, idmodel
, idpoly
, oe
, pem
, Algorithm Properties
, EstimationInfo
References
![]() | ar | arx | ![]() |