armax - Estimate parameters of ARMAX or ARMA model returning idpoly object

Syntax

m = armax(data,orders)
m = armax(data,orders,'P1',V1,...,'PN',VN)
m = armax(data,'na',na,'nb',nb,'nc',nc,'nk',nk)

Arguments

data

iddata object that contains the input-output data.

orders

Vector of integers, specified using the format

orders = [na nb nc nk]

For multiple-input systems, nb and nk are row vectors where the ith element corresponds to the order and delay associated with the ith input.

When data is a time series, which has no input and one output, then

orders = [na nc]

'na',na,'nb',nb,'nc',nc,'nk',nk

'na', 'nb', and 'nc' are orders of the ARMAX model. nk is the delay. na, nb, nc, and nk are the corresponding integer values.

'P1',V1,...,'PN',VN

Pairs of property names and property values can include any of the following idmodel properties:

'Focus', 'InitialState', 'Trace', 'MaxIter', 'Tolerance', 'LimitError', and 'FixedParameter'.

See Algorithm Properties, idpoly, and idmodel for more information.

Description

m = armax(data,orders) returns an idpoly model m with estimated parameters and covariances (parameter uncertainties). Estimates the parameters using the prediction-error method and specified orders.

m = armax(data,orders,'P1',V1,...,'PN',VN) returns an idpoly model m. Use additional property-value pairs to specify the estimation algorithm properties.

m = armax(data,'na',na,'nb',nb,'nc',nc,'nk',nk) returns an idpoly model m with orders and delays specified as parameter-value pairs.

Remarks

The ARMAX model structure is

A more compact way to write the difference equation is

where

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

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

In this case

orders = [na nc]

Algorithm

An iterative search algorithm with the properties 'SearchMethod', 'MaxIter', 'Tolerance', and 'Advanced' minimizes a robustified quadratic prediction error criterion is minimized. The iterations are terminated either when MaxIter is reached, or when the expected improvement is less than Tolerance, or when a lower value of the criterion cannot be found. You can get information about the search criteria using m.EstimationInfo.

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

The cutoff value for the robustification is based on the property LimitError and on the estimated standard deviation of the residuals from the initial parameter estimate. It is not recalculated during the minimization.

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 property 'Trace' is 'On' or 'Full'. With 'Trace' ='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 are given and the Gauss-Newton vector and its norm are also displayed. With 'Trace' = 'On' only the criterion values are displayed.

References

Ljung, L. System Identification: Theory for the User, Upper Saddle River, NJ, Prentice-Hal PTR, 1999. See chapter about computing the estimate.

See Also

Algorithm Properties 
EstimationInfo 
idpoly 
pem 

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS