Learn R Programming

tsDyn (version 0.9-44)

setar.sim: Simulation and bootstrap of Threshold Autoregressive model

Description

Simulate or bootstrap a Threshold VAR

Usage

setar.sim(data, B, setarObject, n = 200, lag = 1, trend = TRUE,
  nthresh = 0, thDelay = 0, Thresh, type = c("boot", "simul", "check"),
  starting = NULL, rand.gen = rnorm, innov = rand.gen(n, ...), ...)

Arguments

data

univariate time series

B

vector of coefficients to simulate

setarObject

Object of class linear or setar to be bootstrapped

n

Number of observations to create when type="simul"

lag

Number of lags to include in each regime

trend

If a trend should be included in the model

nthresh

number of threshold (see details)

thDelay

'time delay' for the threshold variable (as multiple of embedding time delay d).

Thresh

The threshold value(s). Vector of length nthresh

type

Whether a bootstrap or simulation is to employ. See details

starting

Starting values when a simulation with given parameter matrix is made

rand.gen

optional: a function to generate the innovations.

innov

an optional times series of innovations. If not provided, rand.gen is used.

additional arguments for rand.gen. Most usefully, the standard deviation of the innovations generated by rnorm can be specified by sd.

Value

a list with the simulated/bootstraped data and the parameter matrix used.

Details

This function offers the possibility to generate series following a TAR from two approaches: bootstrap or simulation. When the data is given, one can use a simple residual bootstrap or simulate a series from the parameter matrix and with normal distributed residuals (with variance pre-specified). The choice "check" is just there to check the function: one should obtain the same values as the given values. Please report if different. When the parameter matrix is given, there is only the possibility to simulate series. The starting values (of length equal to the number of lags) can be given. The user should take care for the choice of the starting values and parameters values, since it is not sure that the simulated values will cross the threshold even once.

See Also

SETAR to estimate a SETAR, arima.sim to simulate an ARMA.

Examples

Run this code
# NOT RUN {
##Simulation of a TAR with 1 threshold
TvarMat <- c(2.9,-0.4,-0.1,-1.5, 0.2,0.3)
sim<-setar.sim(B=TvarMat,lag=2, type="simul", nthresh=1, Thresh=2, starting=c(2.8,2.2))$serie
mean(ifelse(sim>2,1,0))	#approximation of values over the threshold

#check the result
selectSETAR(sim, m=2)

##Bootstrap a TAR with two threshold (three regimes)
sun<-(sqrt(sunspot.year+1)-1)*2
setar.sim(data=sun,nthresh=2,n=500, type="boot", Thresh=c(6,9))$serie

##Check the bootstrap
cbind(setar.sim(data=sun,nthresh=2,n=500, type="check", Thresh=c(6,9))$serie,sun)
# }

Run the code above in your browser using DataLab