| surrogate.SA {tseriesEntropy} | R Documentation |
Surrogate Time Series Through Simulated Annealing
Description
Starting from a time series x given as input, the function generates surrogate series through Simulated Annealing.
Each surrogate series is a constrained random permutation having the same autocorrelation function (up to nlag lags) of the original series x.
The surrogates can be used for testing for non linearity in time series.
Usage
surrogate.SA(x, nlag, nsurr, Te = 0.0015, RT = 0.9, eps.SA = 0.05, nsuccmax = 30,
nmax = 300, che = 1e+05)
Arguments
x |
a univariate numeric time series object or a numeric vector. |
nlag |
minimization is performed w.r.t. to the first |
nsurr |
number of surrogates. |
Te |
starting value for the temperature. |
RT |
reduction factor for the temperature |
eps.SA |
target tolerance. |
nsuccmax |
Te is decreased after |
nmax |
Te is decreased after |
che |
after |
Details
Let N be the length of the series x. Sensible (N-dependent) defaults are derived for the parameters of the
algorithm, there should not be the need to change them. In case, the user could try increasing eps.SA.
Value
A list with the following elements:
surr |
a matrix with |
call |
contains the call to the routine. |
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 doi:10.1093/biomet/asv007.
Schreiber T., Schmitz A.,(2000) Surrogate time series. Physica D, 142(3-4), 346–382.
See Also
See Also Trho.test.SA, surrogate.AR, Trho.test.AR.
Examples
set.seed(1345)
# Generates a AR(1) series
x <- arima.sim(n=120, model = list(ar=0.8));
x.surr <- surrogate.SA(x, nlag=10, nsurr=3);
plot.ts(x.surr$surr,col=4);
## Check that the surrogates have the same ACF of x
corig <- acf(x,10,plot=FALSE)$acf[,,1];
csurr <- acf(x.surr$surr[,1],10,plot=FALSE)$acf[,,1];
round(cbind(corig,csurr,"abs(difference)"=abs(corig-csurr)),3)