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)
input time series.
ARMAX coefficients. Auto-regressive terms
begin with a
and moving average terms begin with b
. See
Details section.
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.
lag (dead time) between input and response, in time steps.
initial values for the autoregressive filter.
function to remove missing values, e.g.
na.omit
.
values smaller than this will be set to zero.
whether to return exponential component time
series. If TRUE
, the parameters will be converted to an exponential
components formulation, and passed to expuh.sim
. This may fail
in some cases.
the parameters as a named vector.
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
.
The transfer function used here, with input u and output x is: $$x[t] = a_1 x[t-1] + \ldots + a_n x[t-n] + $$$$ b_0 u[t-\delta] + \ldots + b_m u[t-m-\delta]$$
and the order is denoted \((n, m)\), with delay \(\delta\).
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.