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