Documentation

This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

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

rarmax

(To be removed) Estimate recursively parameters of ARMAX or ARMA models

 Note:   `rarmax` will be removed in a future release. Use `recursiveARMA` or `recursiveARMAX` instead.

Syntax

```thm = rarmax(z,nn,adm,adg)
```

Description

The parameters of the ARMAX model structure

`$A\left(q\right)y\left(t\right)=B\left(q\right)u\left(t-nk\right)+C\left(q\right)e\left(t\right)$`

are estimated using a recursive prediction error method.

The input-output data is 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

```nn = [na nb nc nk] ```

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

See What Are Polynomial Models? for more information.

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

`$A\left(q\right)y\left(t\right)=C\left(q\right)e\left(t\right)$`

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

The estimated parameters are returned in the matrix `thm`. The `k`th row of `thm` contains the parameters associated with time `k`; that is, 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:

```thm(k,:) = [a1,a2,...,ana,b1,...,bnb,c1,...,cnc] ```

`yhat` is the predicted value of the output, according to the current model; that is, 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 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 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`.

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.

```thm = rarmax(y,[2 2],'ff',0.98); plot(thm)```

collapse all

Algorithms

The general recursive prediction error algorithm (11.44), (11.47) through (11.49) of Ljung (1999) is implemented. See Recursive Algorithms for Online Parameter Estimation for more information.