armax {hydromad} | R Documentation |
ARMAX linear transfer functions with a single input and single output series. Can be used as a general Unit Hydrograph transfer function, defined by Auto-Regressive and Moving Average coefficients.
armax.sim(U, a_1 = 0, a_2 = 0, a_3 = 0, b_0 = 1, b_1 = 0, b_2 = 0, b_3 = 0, pars = NULL, delay = 0, init = 0, na.action = na.pass, epsilon = hydromad.getOption("sim.epsilon"), return_components = FALSE) ssg.armax(theta) normalise.armax(theta)
U |
input time series. |
a_1, a_2, a_3, b_0, b_1, b_2, b_3 |
ARMAX coefficients. Auto-regressive terms begin with |
pars |
the ARMAX coefficients as a named vector. If this is given, it will over-ride the named parmameter arguments. Any number of terms can be given here, it is not limited to the named arguments. |
delay |
lag (dead time) between input and response, in time steps. |
init |
initial values for the autoregressive filter. |
na.action |
function to remove missing values,
e.g. |
epsilon |
values smaller than this will be set to zero. |
return_components |
whether to return exponential component time series.
If |
theta |
the parameters as a named vector. |
The transfer function used here, with input u and output x is:
x[t] = a[1] x[t-1] + ... + a[n] x[t-n] + b[0] u[t-d] + ... + b[m] u[t-m-d]
and the order is denoted (n, m), with delay d.
the model output as a ts
object,
with the same dimensions and time window as the input U
.
If return_components = TRUE
, it will have multiple
columns named
Xs
, Xq
and, if relevant, X3
.
Felix Andrews felix@nfrac.org
Jakeman, A.J., I.G. Littlewood, and P.G. Whitehead (1990), Computation of the instantaneous unit hydrograph and identifiable component flows with application to two small upland catchments, Journal of Hydrology, 117: 275-300.
armax.sriv.fit
, arima
data(HydroTestData) fit <- hydromad(HydroTestData, routing = "armax", rfit = list("ls", order = c(n = 2, m = 1))) pars <- coef(fit) pars xyplot(armax.sim(HydroTestData[,"P"], pars = pars))