System Identification Toolbox    
rarmax

Estimate recursively the parameters of an ARMAX or ARMA model.

Syntax

Description

The parameters of the ARMAX model structure

are estimated using a recursive prediction error method.

The input-output data are contained in z, which is either an iddata object or a matrix z = [y u] where y and u are column vectors. nn is given as

where na, nb, and nc are the orders of the ARMAX model, and nk is the delay. Specifically,





See Polynomial Representation of Transfer Functions in the "Tutorial" chapter for more information.

If z represents a time series y and nn = [na nc], rarmax estimates the parameters of an ARMA model for y.

Only single-input, single-output models are handled by rarmax. Use rpem for the multi-input case.

The estimated parameters are returned in the matrix thm. The k-th row of thm contains the parameters associated with time k, i.e., they are based on the data in the rows up to and including row k in z. Each row of thm contains the estimated parameters in the following order.

yhat is the predicted value of the output, according to the current model, i.e., row k of yhat contains the predicted value of y(k) based on all past data.

The actual algorithm is selected with the two arguments adm and adg. These are described under rarx.

The input argument th0 contains the initial value of the parameters, a row vector, consistent with the rows of thm. The default value of th0 is all zeros.

The arguments P0 and P are the initial and final values, respectively, of the scaled covariance matrix of the parameters. See rarx. The default value of P0 is 104 times the unit matrix. The arguments phi0, psi0, phi, and psi contain initial and final values of the data vector and the gradient vector, respectively. The sizes of these depend in a rather complicated way on the chosen model orders. The normal choice of phi0 and psi0 is to use the outputs from a previous call to rarmax with the same model orders. (This call could of course be a dummy call with default input arguments.) The default values of phi0 and psi0 are all zeros.

Note that the function requires that the delay nk be larger than 0. If you want nk=0, shift the input sequence appropriately and use nk=1.

Algorithm

The general recursive prediction error algorithm (11.44), (11.47)-(11.49) of Ljung (1999) is implemented. See Recursive Parameter Estimation in the "Tutorial" chapter for more information.

Examples

Compute and plot, as functions of time, the four parameters in a second order ARMA model of a time series given in the vector y. The forgetting factor algorithm with a forgetting factor of 0.98 is applied.


  pzmap rarx