Fit an ARMAX model of the specified order given the input-output data
armax(x, order = c(0, 1, 1, 0), init_sys = NULL, intNoise = FALSE,
options = optimOptions())An object of class estpoly containing the following elements:
an idpoly object containing the
fitted ARMAX coefficients
the predicted response
the residuals
the input data used
the matched call
A list containing the following fields:
vcov - the covariance matrix of the fitted coefficients
sigma - the standard deviation of the innovations
Option set used for estimation. If no custom options were configured, this is a set of default options
Termination conditions for the iterative
search used for prediction error minimization:
WhyStop - Reason for termination
iter - Number of Iterations
iter - Number of Function Evaluations
an object of class idframe
Specification of the orders: the four integer components (na,nb,nc,nk) are the order of polynolnomial A, order of polynomial B + 1, order of the polynomial C,and the input-output delay respectively
Linear polynomial model that configures the initial parameterization.
Must be an ARMAX model. Overrules the order argument
Logical variable indicating whether to add integrators in
the noise channel (Default=FALSE)
Estimation Options, setup using optimOptions
SISO ARMAX models are of the form
$$
y[k] + a_1 y[k-1] + \ldots + a_{na} y[k-na] = b_{nk} u[k-nk] +
\ldots + b_{nk+nb} u[k-nk-nb] + c_{1} e[k-1] + \ldots c_{nc} e[k-nc]
+ e[k]
$$
The function estimates the coefficients using non-linear least squares
(Levenberg-Marquardt Algorithm)
The data is expected to have no offsets or trends. They can be removed
using the detrend function.
Arun K. Tangirala (2015), Principles of System Identification: Theory and Practice, CRC Press, Boca Raton. Sections 14.4.1, 21.6.2
data(armaxsim)
z <- dataSlice(armaxsim,end=1533) # training set
mod_armax <- armax(z,c(1,2,1,2))
mod_armax
Run the code above in your browser using DataLab