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

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to