Main Content

Estimate parameters of ARMAX, ARIMAX, ARMA, or ARIMA model using time-domain data

estimates the parameters of an ARMAX or an ARMA
`sys`

= armax(`data`

,```
[na
nb nc nk]
```

)`idpoly`

model `sys`

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.

specifies additional options using one or more name-value pair arguments. For instance,
using the name-value pair argument `sys`

= armax(`data`

,```
[na
nb nc nk]
```

,`Name,Value`

)`'IntegrateNoise',1`

estimates an
ARIMAX or ARIMA model, which
is useful for systems with nonstationary disturbances.

`[`

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.

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 $$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'`

. 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.

`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.

[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.

`armaxOptions`

| `arx`

| `bj`

| `oe`

| `polyest`

| `ssest`

| `tfest`

| `idpoly `

| `iddata`

| `compare`

| `aic`

| `fpe`