Srho.test.AR.p: Entropy Tests For Nonlinearity In Time Series - Parallel...

View source: R/Srho.ts.par_files.R

Srho.test.AR.pR Documentation

Entropy Tests For Nonlinearity In Time Series - Parallel Version

Description

Entropy test of nonlinearity for time series based on Srho.ts and surrogate data obtained through the sieve bootstrap. The parallel version requires parallel.

Usage

Srho.test.AR(x, y, lag.max = 10, B = 100, plot = TRUE, quant = c(0.95, 0.99),
 bw = c("reference", "mlcv", "lscv", "scv", "pi"), bdiag=TRUE,
 method = c("integral", "summation"), tol = 0.001, order.max = NULL,
 fit.method=c("yule-walker", "burg", "ols", "mle", "yw"),  smoothed = TRUE ,...)

## Parallel version

Srho.test.AR.p(x, y, lag.max = 10, B = 100, plot = TRUE, quant = c(0.95, 0.99),
 bw = c("reference", "mlcv", "lscv", "scv", "pi"), bdiag=TRUE,
 method = c("integral", "summation"), tol = 0.001, order.max = NULL,
 fit.method=c("yule-walker", "burg", "ols", "mle", "yw"),  smoothed = TRUE,
 nwork=detectCores(),...)

Arguments

x, y

univariate numeric time series object or numeric vectors (y is missing in the univariate case).

lag.max

maximum lag at which to calculate Srho; the default is 10.

B

number of surrogate time series.

plot

logical. If TRUE (the default) produces a plot of Srho together with confidence bands under the null hypothesis of linearity at 95% and 99%.

quant

quantiles to be specified for the computation of the significant lags and the plot of confidence bands. Up to 2 quantiles can be specified. Defaults are 95% and 99%.

bw

see Srho.ts.

bdiag

see Srho.ts.

method

see Srho.ts.

tol

see Srho.ts.

order.max

see surrogate.ARs.

fit.method

see surrogate.ARs.

smoothed

logical. If TRUE (the default) uses the smoothed sieve bootstrap in surrogate.ARs to generate surrogates. Otherwise uses the classic sieve by calling surrogate.AR.

nwork

number of workers/processes to be used in parallel environments.

...

further arguments, typically passed to hcubature.

Details

For each lag from 1 to lag.max Srho.test.AR computes a test for nonlinearity for time series based on Srho.ts. The distribution under the null hypothesis of linearity is obtained through the sieve bootstrap. The routine requires the package parallel to spawn multiple workers.

Value

An object of class "Srho.test", which is a list with the following elements:

.Data

vector of lag.max elements containing Srho computed at each lag.

call:

Object of class "call": contains the call to the routine.

call.h:

Object of class "call": contains the call to the routine used for obtaining the surrogates or the bootstrap replicates under the null hypothesis

quantiles

Object of class "matrix": contains the quantiles of the surrogate distribution under the null hypothesis.

test.type

Object of class "character": contains a description of the type of test performed.

significant.lags

Object of class "list": contains the lags at which Srho exceeds the confidence bands at quant% under the null hypothesis.

p.value

Object of class "numeric": contains the bootstrap p-value for each lag.

lags

integer vector that contains the lags at which Srho is computed.

stationary

Object of class "logical": TRUE if the stationary version is computed. Set to FALSE by default as only the non-stationary version is implemented.

data.type

Object of class "character": contains the data type.

notes

Object of class "character": additional notes.

Author(s)

Simone Giannerini<simone.giannerini@unibo.it>

References

Giannerini S., Maasoumi E., Bee Dagum E., (2015), Entropy testing for nonlinear serial dependence in time series, Biometrika, 102(3), 661–675 \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1093/biomet/asv007")}.

See Also

See Also Srho.ts, surrogate.AR, surrogate.ARs, Srho.test.AR.

Examples

## Not run: 
## ************************************************************
## WARNING: computationally intensive, increase B with caution
## ************************************************************

# modify nwork to match the number of available cores
set.seed(13)
x      <- arima.sim(n=120, model = list(ar=0.8));
result <- Srho.test.AR.p(x, lag.max = 5,  B = 100, bw='reference', method='integral', nwork=2)

## ** Compare timings **
system.time(Srho.test.AR.p(x, lag.max = 5,  B = 100, bw='reference', method='integral', nwork=4))
system.time(Srho.test.AR(x, lag.max = 5,  B = 100, bw='reference', method='integral'))

## End(Not run)

tseriesEntropy documentation built on Aug. 10, 2023, 1:06 a.m.