armax
Estimate parameters of ARMAX, ARIMAX, ARMA, or ARIMA model using time-domain data
Syntax
Description
Estimate ARMAX or ARMA Model
estimates the parameters of an ARMAX or an ARMA
sys
= armax(tt
,[na
nb nc nk]
)idpoly
model sys
using the data contained in the
variables of timetable tt
. The software uses the first
Nu variables as inputs and the next Ny variables
as outputs, where Nu and Ny are determined from the
dimensions of nb
and na
, respectively.
For ARMA models, which have no input signals, use sys =
armax(tt,na)
. In this case, the software fits the model using the first
Ny variables.
armax
performs the estimation using the prediction-error method
and the polynomial orders specified in [na nb nc nk]
. The model
properties include estimation covariances (parameter uncertainties) and goodness of fit
between the estimated and the measured data.
To select specific input and output channels from tt
, use
name-value syntax to set 'InputName'
and
'OutputName'
to the corresponding timetable variable names.
uses the time-domain input and output signals in the comma-separated matrices
sys
= armax(u
,y
,[na nb nc nk]
)u
,y
. The software assumes that the data sample
time is 1 second. To change the sample time, set Ts
using name-value
syntax.
uses the time-domain data in the sys
= armax(data
,[na
nb nc nk]
)iddata
object data
. Use this syntax especially when you
want to take advantage of the additional information, such as data sample time or
experiment labeling, that data objects provide.
specifies additional options using one or more name-value arguments. For instance, using
the name-value argument sys
= armax(___,Name,Value
)'IntegrateNoise',1
estimates an ARIMAX or ARIMA model, which
is useful for systems with nonstationary disturbances. Specify
Name,Value
after any of the previous input-argument
combinations.
Configure Initial Parameters
Specify Additional Estimation Options
Return Estimated Initial Conditions
[
returns the estimated initial conditions as an sys
,ic
] = armax(___)initialCondition
object. Use this syntax if you plan to simulate or predict the model response using the
same estimation input data and then compare the response with the same estimation output
data. Incorporating the initial conditions yields a better match during the first part of
the simulation.
Examples
Input Arguments
Output Arguments
More About
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
MaxIterations
and Tolerance
, using the
'SearchOptions'
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. The cutoff value 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 and (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'
. When 'Display'
is 'Full'
,
both the current and the previous parameter estimates are displayed in column-vector form, and
the parameters are listed in alphabetical order. Also, the values of the criterion function
(cost) are given and the Gauss-Newton vector and its norm are displayed. When
'Display'
is 'On'
, only the criterion values are
displayed.
Alternatives
armax
does not support continuous-time model estimation. Use
tfest
to estimate a continuous-time transfer function model, or ssest
to estimate a continuous-time state-space model.
armax
supports only time-domain data. For frequency-domain data, use
oe
to estimate an Output-Error (OE) model.
References
[1] Ljung, L. System Identification: Theory for the User, Second Edition. Upper Saddle River, NJ: Prentice-Hall PTR, 1999. See chapter about computing the estimate.