Note: This page has been translated by MathWorks. Please click here

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

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

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

`rarmax`

will be removed in a future release.
Use `recursiveARMA`

or `recursiveARMAX`

instead.

thm = rarmax(z,nn,adm,adg) [thm,yhat,P,phi,psi] = rarmax(z,nn,adm,adg,th0,P0,phi0,psi0)

The parameters of the ARMAX model structure

$$A(q)y(t)=B(q)u(t-nk)+C(q)e(t)$$

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,

$$\begin{array}{c}na\text{:}A(q)=1+{a}_{1}{q}^{-1}+\mathrm{...}+{a}_{na}{q}^{-na}\\ nb\text{:}B(q)={b}_{1}+{b}_{2}{q}^{-1}+\mathrm{...}+{b}_{nb}{q}^{-nb+1}\\ nc\text{:C}(q)=1+{c}_{1}{q}^{-1}+\mathrm{...}+{c}_{nc}{q}^{-nc}\end{array}$$

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(q)y(t)=C(q)e(t)$$

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 10^{4} 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`

.

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)

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.

`nkshift`

| `recursiveARMA`

| `recursiveARMAX`

| `rpem`

| `rplr`

Was this topic helpful?