hystar_sim {hystar} | R Documentation |
With this function, you can simulate observations from the HysTAR model, given its parameter values.
hystar_sim(z, r, d, phi_R0, phi_R1, resvar = c(1, 1), start_regime = NULL)
z |
A numeric vector representing the observed threshold variable.
You can simulate |
r |
A numeric vector of length 2, representing the threshold values
|
d |
A positive whole number representing the value of the
delay parameter. It must be smaller than |
phi_R0 |
A vector containing the constant and autoregressive parameters
|
phi_R1 |
The same as |
resvar |
A numeric vector of length 2 representing the variances of the
residuals |
start_regime |
Optionally, a 0 or 1 that indicates which regime should be the
first, in case the |
Some details:
To simulate y
, 50 burn-in samples according the starting regime are used.
The coefficients imply a stationary process of y_t
if
\sum_{i=1}^{p_0} \phi_i^{(0)} < 1
and
\sum_{i=1}^{p_1} \phi_i^{(1)} < 1
. See Zhu, Yu and Li (2013), p5.
A list of class hystar_sim
with elements
$data
, a data.frame
with length(z)
rows and 4 columns:
y
, the outcome variable
z
, the threshold variable
H
, a logical vector that indicates at which time
points the hysteresis effect is happening. Note that this vector starts
with NA
(s), since the first d
time points have no values observed
for z_{t-d}
.
R
, the regime indicator vector.
$r
, a numeric vector with the two threshold values,
$d
, the delay parameter,
$phi
, a numeric vector containing the coefficients. The names are such
that phi_R1_2
represents \phi_{2}^{(1)}
, the second lag
autoregressive coefficient in Regime 1,
$orders
, a numeric vector containing the two orders, and
$resvar
, a numeric vector with the residual variances of both regimes.
Implemented generics for the hystar_sim
class:
plot()
plots the z
variable and the y
variable above one another.
Shading of the background visualizes the regimes. Thresholds are drawn as
horizontal lines in the z
plot. You can provide regime_names (char vector of 2),
main (char vector of 1), xlab (char vector of 1) and ylab (char vector of 2).
summary()
gives an overview of the true parameter values that were used.
print()
prints the parameter values within the mathematical representation
of the model. Note that the scalar multiplied with e[t]
is the standard deviation
of the residuals, not the variance. See also the model definition above.
The HysTAR model is defined as:
y_t = \begin{cases} \phi_{00} + \phi_{01} y_{t-1} + \cdots +
\phi_{0 p_0} y_{t-p_0} + \sigma_{0} \epsilon_{t} \quad \mathrm{if}~R_{t} = 0 \\
\phi_{10} + \phi_{11} y_{t-1} + \cdots + \phi_{1 p_1} y_{t-p_1} + \sigma_{1} \epsilon_{t}
\quad \mathrm{if}~R_{t} = 1, \\ \end{cases}
with R_t = \begin{cases} 0 \quad \quad \mathrm{if} \, z_{t-d} \in (-\infty, r_{0}] \\
R_{t-1} \quad \mathrm{if} \, z_{t-d} \in (r_0, r_1] \\ 1 \quad \quad \mathrm{if} \, z_{t-d}
\in (r_1, \infty), \\ \end{cases}
where p_j
denotes the order of regime j \in \{0,1\}
with
coefficients \phi_{j0}, \dots, \phi_{j p_j \in (-1, 1)}
,
\sigma_{j}
is the standard deviation of the residuals, and d \in
\{0, 1, 2, \dots\}
is a delay parameter. The parameters of primary interest are
the thresholds r_0 \le r_1
. We let t = 0, 1, 2, ..., T
, where T
is the number of observations.
Daan de Jong.
Li, Guodong, Bo Guan, Wai Keung Li, en Philip L. H. Yu. ‘Hysteretic Autoregressive Time Series Models’. Biometrika 102, nr. 3 (september 2015): 717–23.
Zhu, Ke, Philip L H Yu, en Wai Keung Li. ‘Testing for the Buffered Autoregressive Process’. Munich Personal RePEc Archive, (november 2013).
z <- z_sim(n_t = 200, n_switches = 5, start_regime = 1)
sim <- hystar_sim(z = z, r = c(-.5, .5), d = 2, phi_R0 = c(0, .6), phi_R1 = 1)
plot(sim)
fit <- hystar_fit(sim$data)
summary(fit)