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) [thm,yhat,P,phi,psi] = rarmax(z,nn,adm,adg,th0,P0,phi0,psi0)
Description
The parameters of the ARMAX model structure
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.
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
kth 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)
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.
Version History
Introduced before R2006a
See Also
nkshift | recursiveARMA | recursiveARMAX | rpem | rplr