[R] RTisean generating multivariate surrogates;

Burton Shank burtonshank at gmail.com
Tue Jan 17 18:58:06 CET 2012


I have a question on generating multivariate time series surrogates
using the "surrogates" function in the RTisean library.
The surrogate data matrices are always much shorter than the input matrices.

FYI, I'm using R version 2.12.2 on Windows XP
    RTisean library v 3.0.14
    Tisean algorithms v 3.0.13

Creating a surrogate univariate time series returns a time series with
the length of the original vector.

> V1=as.numeric(na.omit(filter(rnorm(103), filter=c(0.25, 0.5, 0.5, 0.25), sides=2)))
> S=surrogates(series=V1); nrow(S)
[1] 100

However, multivariate surrogates are always shorter than the input matrices.

> V1=as.numeric(na.omit(filter(rnorm(103), filter=c(0.5, 0.5), sides=2)))
> V2=as.numeric(na.omit(filter(rnorm(103), filter=c(0.5, 0.5), sides=2)))
> V=cbind(V1, V2)
> S=surrogates(series=V,  m=2, c=1:2); dim(S)
[1] 16  2

One can cheat a little and repeat the datasets, returning a longer output:
> V1=as.numeric(na.omit(filter(rnorm(103), filter=c(0.5, 0.5), sides=2)))
> V2=as.numeric(na.omit(filter(rnorm(103), filter=c(0.5, 0.5), sides=2)))
> V=cbind(V1, V2, V1, V2)
> S=surrogates(series=V,  m=4, c=1:4); dim(S)
[1] 25  4

but the limit appears to be ~50% of the length of the input matrix.

There probably is a legitimate reason behind this but I can't find
mention of this either in the RTisean documentation or the TISEAN
website.
Similarly, examples in the literature from the authors (Schreiber and
Schmitz. 2000. Surrotate time series. Physica D 142.346-382) do not
appear to suffer from this truncation.

Varying the arguments for the "surrogates" function do not fix the
truncation and some of the arguments don't seem to be functional:
----
surrogates {RTisean}	R Documentation

surrogates(series, n = 1, i, S = FALSE, I, l, x = 0, m, c)

Arguments:
series 	a vector or a matrix.
n 	number of surrogates.
i 	number of iterations.
S 	make spectrum exact rather than distribution.
I 	seed for random numbers. (capital i)
l 	number of points. (lowercase L)
x 	number of values to be skipped.
m 	number of columns to be read.
c 	columns to be read.
---

In particular,  varying n changes the processing time but does not
change the function output, making me think that this is an issue with
the way the R function links to the TISEAN executables.

Suggestions from anyone familiar with this are greatly appreciated.

Thanks,

Burton Shank



More information about the R-help mailing list