selectSETAR(x, m, d=1, steps=d, series, mL, mH,mM, thDelay=0, mTh, thVar, th=MakeThSpec(), trace=TRUE, include = c("const", "trend","none", "both"), common=c("none", "include","lags", "both"), model=c("TAR", "MTAR"), ML=seq_len(mL),MH=seq_len(mH), MM=seq_len(mM),nthresh=1,trim=0.15,criterion = c("pooled-AIC", "AIC","BIC", "SSR"),thSteps = 7, plot=TRUE,max.iter=2, type=c("level", "diff", "ADF"), same.lags=FALSE, restriction=c("none","OuterSymAll","OuterSymTh"), hpc=c("none", "foreach") )
nlar
ML=m.>
MakeThSpec
include
variables, the lags or bothOuterSymAll
will take a symmetric threshold and symmetric coefficients for outer regimes. OuterSymTh currently unavailableselectSETAR
(print and plot methods) with:d,steps
are kept fixed.Possible criteria are the usual SSR, AIC and a pooled AIC formula: $AIC(low regime model) + AIC(high regime model)$. The default criterion is the pooled AIC formula. SSR criterion can't be used to compare models with different lags.
When two thresholds(nthresh
=2) have to be computed, the search for the second is made conditional on results for first threshold as suggested in Gonzalo and Pittarakis (2002). Refinements can be obtained by using max.iter
(first threshold being re-estimated based on the second one). If SSR is used, the number of lags in the inner regime is either the same if only arg m was given, otherwise it has to be pre-specified. Criterion AIC can be used to determine the number of lags in the nner regime, whereas pooled-aic is currently not implemented for nthresh=2.
By default, all threshold values excluding the upper and lower trim
of the threshold values are taken as potential threshold. restriction can be made with arg th
. See function MakeThSpec
.
With the argument hpc
, the heavy grid search can be run on parallel cores, thus alleviating the time of computation. Preliminary results
indicate however that the length of the series must be very considerable in order that the parallel code becomes advantageous. To use it, the user needs simply to choose a package (among doMC, doMPI, doSNOW or doRedis) and register the backend. See the vignette for more details.
selectLSTAR
, selectNNET
, MakeThSpecllynx <- log10(lynx)
selectSETAR(llynx, m=2)
#Suggested model is the following:
setar(llynx, m=2, thDelay=1, th=3.4)
Run the code above in your browser using DataLab