Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

For a single-output signal *y(t)*, the AR model is given by the
following equation:

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

The AR model is a special case of the ARX model with no input.

The ARMA model for a single-output time series is given by the following equation:

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

The ARMA structure reduces to the AR structure for *C(q)*=1.
The ARMA model is a special case of the ARMAX model with no input.

For more information about polynomial models, see What Are Polynomial Models?.

For information on models containing noise integration see Estimate ARIMA Models

Before you begin, you must have accomplished the following:

Prepared the data, as described in Preparing Time-Series Data

Estimated model order, as described in Preliminary Step – Estimating Model Orders and Input Delays

(Multiple-output AR models only) Specified the model-order matrix in the MATLAB

^{®}workspace before estimation, as described in Polynomial Sizes and Orders of Multi-Output Polynomial Models

To estimate AR and ARMA models using the System Identification app:

In the System Identification app, select

**Estimate**>**Polynomial Models**to open the Polynomial Models dialog box.In the

**Structure**list, select the polynomial model structure you want to estimate from the following options:`AR:[na]`

`ARMA:[na nc]`

This action updates the options in the Polynomial Models dialog box to correspond with this model structure. For information about each model structure, see Definition of AR and ARMA Models.

### Note

OE and BJ structures are not available for time series models.

In the

**Orders**field, specify the model orders, as follows:For single-output models, enter the model orders according to the sequence displayed in the

**Structure**field.For multiple-output ARX models, enter the model orders directly, as described in Polynomial Sizes and Orders of Multi-Output Polynomial Models. Alternatively, enter the name of the matrix

`NA`

in the MATLAB Workspace browser that stores model orders, which is`Ny`

-by-`Ny`

.

### Tip

To enter model orders and delays using the Order Editor dialog box, click

**Order Editor**.(AR models only) Select the estimation

**Method**as**ARX**or**IV**(instrumental variable method). For more information about these methods, see Polynomial Model Estimation Algorithms.### Note

**IV**is not available for multiple-output data.Select the

**Add noise integration**check box if you want to include an integrator in noise source*e*(*t*). This selection changes an AR model into an ARI model ($$Ay=\frac{e}{1-{q}^{-1}}$$) and an ARMA model into an ARIMA model ($$Ay=\frac{C}{1-{q}^{-1}}e(t)$$).In the

**Name**field, edit the name of the model or keep the default. The name of the model should be unique in the Model Board.In the

**Initial state**list, specify how you want the algorithm to treat initial states. For more information about the available options, see Specifying Initial States for Iterative Estimation Algorithms.### Tip

If you get an inaccurate fit, try setting a specific method for handling initial states rather than choosing it automatically.

In the

**Covariance**list, select`Estimate`

if you want the algorithm to compute parameter uncertainties. Effects of such uncertainties are displayed on plots as model confidence regions.To omit estimating uncertainty, select

`None`

. Skipping uncertainty computation might reduce computation time for complex models and large data sets.Click

**Regularization**to obtain regularized estimates of model parameters. Specify regularization constants in the Regularization Options dialog box. For more information, see Regularized Estimates of Model Parameters.To view the estimation progress at the command line, select the

**Display progress**check box. During estimation, the following information is displayed for each iteration:Loss function — Equals the determinant of the estimated covariance matrix of the input noise.

Parameter values — Values of the model structure coefficients you specified.

Search direction — Changes in parameter values from the previous iteration.

Fit improvements — Shows the actual versus expected improvements in the fit.

Click

**Estimate**to add this model to the Model Board in the System Identification app.(Prediction-error method only) To stop the search and save the results after the current iteration has been completed, click

**Stop Iterations**. To continue iterations from the current model, click the**Continue iter**button to assign current parameter values as initial guesses for the next search and start a new search. For the multi-output case, you can stop iterations for each output separately. Note that the software runs independent searches for each output.To plot the model, select the appropriate check box in the

**Model Views**area of the System Identification app.

You can export the model to the MATLAB workspace for further analysis by dragging it to the **To
Workspace** rectangle in the System Identification app.

You can estimate AR and ARMA models at the command line. The estimated models are
represented by `idpoly`

model objects. For more
information about models objects, see What Are Model Objects?.

The following table summarizes the commands and specifies whether single-output or multiple-output models are supported.

**Commands for Estimating Polynomial Time-Series Models**

Method Name | Description |
---|---|

`ar` |
Noniterative, least-squares method to estimate linear, discrete-time single-output AR models. |

`armax` |
Iterative prediction-error method to estimate linear ARMAX models. |

`arx` |
Noniterative, least-squares method for estimating linear AR models. |

`ivar` |
Noniterative, instrumental variable method for estimating single-output AR models. |

The following code shows usage examples for estimating AR models:

% For scalar signals m = ar(y,na) % For multiple-output vector signals m = arx(y,na) % Instrumental variable method m = ivar(y,na) % For ARMA, do not need to specify nb and nk th = armax(y,[na nc])

The `ar`

command provides additional options to let you choose
the algorithm for computing the least-squares from a group of several popular
techniques from the following methods:

Burg (geometric lattice)

Yule-Walker

Covariance