Fit an output-error model of the specified order given the input-output data
oe(x, order = c(1, 1, 0), init_sys = NULL, options = optimOptions())An object of class estpoly containing the following elements:
an idpoly object containing the
fitted OE 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 (nb,nf,nk) are order of polynomial B + 1, order of the polynomial F, and the input-output delay respectively
Linear polynomial model that configures the initial parameterization.
Must be an OE model. Overrules the order argument
Estimation Options, setup using
optimOptions
SISO OE models are of the form
$$
y[k] + f_1 y[k-1] + \ldots + f_{nf} y[k-nf] = b_{nk} u[k-nk] +
\ldots + b_{nk+nb} u[k-nk-nb] + f_{1} e[k-1] + \ldots f_{nf} e[k-nf]
+ 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, 17.5.2, 21.6.3
data(oesim)
z <- dataSlice(oesim,end=1533) # training set
mod_oe <- oe(z,c(2,1,2))
mod_oe
plot(mod_oe) # plot the predicted and actual responses
Run the code above in your browser using DataLab