% Generated by roxygen2 (4.1.1): do not edit by hand % Please edit documentation in R/estpoly.R \name{armax} \alias{armax} \title{Estimate ARMAX Models} \usage{ armax(x, order = c(0, 1, 1, 0), options = optimOptions()) } \arguments{ \item{x}{an object of class \code{idframe}} \item{options}{Estimation Options, setup using \code{\link{optimOptions}}} \item{order:}{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} } \value{ An object of class \code{estpoly} containing the following elements: \tabular{ll}{ \code{sys} \tab an \code{idpoly} object containing the fitted ARMAX coefficients \cr \code{fitted.values} \tab the predicted response \cr \code{residuals} \tab the residuals \cr \code{input} \tab the input data used \cr \code{call} \tab the matched call \cr \code{stats} \tab A list containing the following fields: \tabular{ll}{ \code{vcov} \tab the covariance matrix of the fitted coefficients\cr \code{sigma} \tab the standard deviation of the innovations } \cr \code{options} \tab Option set used for estimation. If no custom options were configured, this is a set of default options. \cr \code{termination} \tab Termination conditions for the iterative search used for prediction error minimization. \tabular{ll}{ \code{WhyStop} \tab Reason for termination \cr \code{iter} \tab Number of Iterations \cr \code{iter} \tab Number of Function Evaluations } } } \description{ Fit an ARMAX model of the specified order given the input-output data } \details{ SISO ARMAX models are of the form \deqn{ 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 \code{\link{detrend}} function. } \examples{ data(armaxsim) z <- dataSlice(data,end=1533) # training set mod_armax <- armax(z,c(1,2,1,2)) summary(mod_armax) # obtain estimates and their covariances plot(mod_armax) # plot the predicted and actual responses } \references{ Arun K. Tangirala (2015), \emph{Principles of System Identification: Theory and Practice}, CRC Press, Boca Raton. Sections 14.4.1, 21.6.2 }