LSTAR {tsDyn} | R Documentation |
Logistic Smooth Transition AutoRegressive model.
lstar(x, m, d=1, steps=d, series, mL, mH, thDelay, th, gamma, trace=TRUE, control=list()) lstar(series, m, d, steps, mL, mH, mTh, th, gamma, trace=TRUE, control=list()) lstar(series, m, d, steps, mL=m, mH=m, thVar, th, gamma, trace=TRUE, control=list())
x |
time series |
m, d, steps |
embedding dimension, time delay, forecasting steps |
series |
time series name (optional) |
mL |
autoregressive order for 'low' regime (dafult: m). Must be <=m |
mH |
autoregressive order for 'high' regime (default: m). Must be <=m |
thDelay |
'time delay' for the threshold variable (as multiple of embedding time delay d) |
mTh |
coefficients for the lagged time series, to obtain the threshold variable |
thVar |
external threshold variable |
th, gamma |
starting values for coefficients in the LSTAR model. If missing, a grid search is performed |
trace |
should additional infos be printed? (logical) |
control |
further arguments to be passed as control list to
optim |
x[t+steps] = ( phi1[0] + phi1[1] x[t] + phi1[2] x[t-d] + ... + phi1[mL] x[t - (mL-1)d] ) G( z[t], th, gamma ) + ( phi2[0] + phi2[1] x[t] + phi2[2] x[t-d] + ... + phi2[mH] x[t - (mH-1)d] ) (1 - G( z[t], th, gamma ) ) + eps[t+steps]
with z the treshold variable, and G the logistic function,
computed as plogis(q, location = th, scale = 1/gamma)
, so see
plogis
documentation for details on the logistic function
formulation and parameters meanings.
The threshold variable can alternatively be specified by:
Note that if starting values for phi1 and phi2 are provided, isn't necessary to specify mL and mH. Further, the user has to specify only one parameter between mTh, thDelay and thVar for indicating the threshold variable.
Estimation is done by analytically determining phi1 and phi2
(through linear regression) and then minimizing residuals sum of squares
with respect to th and gamma. These two steps are repeated
until convergence is achieved. For the nonlinear estimation of the
parameters th and gamma, the program uses the
optim
function, with its default optimization method. You
can pass further arguments directly to the 'control' list argument of
this function. For istance, the option maxit
maybe useful when
there are convergence issues (see examples).
An object of class nlar
, subclass lstar
, i.e. a list
with fitted model informations.
Antonio, Fabio Di Narzo
Non-linear time series models in empirical finance, Philip Hans Franses and Dick van Dijk, Cambridge: Cambridge University Press (2000).
Non-Linear Time Series: A Dynamical Systems Approach, Tong, H., Oxford: Oxford University Press (1990).
plot.lstar
for details on plots produced for this model
from the plot
generic.
#fit a LSTAR model. Note 'maxit': slow convergence mod.lstar <- lstar(log10(lynx), m=2, mTh=c(0,1), control=list(maxit=3000)) mod.lstar