Обмен суррогатами - PullRequest
       4

Обмен суррогатами

0 голосов
/ 08 марта 2020

У меня есть задача создать суррогатные временные ряды по модели свопинга: выберите случайную точку в вашем временном ряду и поменяйте местами порядок двух сегментов. Сделайте это 100 раз, и это один суррогатный временной ряд.

Моя проблема в том, что не имеет значения, сколько раз я меняю временные ряды. Даже если я сделаю это 1000 раз, я получу очень похожую серию с оригинальной. Я ожидал полностью рандомизировать его после этого много раз.

Я думаю, у меня проблема с моим алгоритмом, но я не могу понять, где. Кто-нибудь может помочь? Вот мой короткий код:

'' '

swap_model <- function(ts,times,nr_surr){
#choose a random pozition in time series (ts) and swap the two segments 'times' times

n<-length(ts)

l <- seq(1,n,1)
sws <-data.frame(l)

for (j in 1:nr_surr){
tts <- ts
for (i in 1:times){
  poz <- sample(1:n,1,replace = F) 
  tts <- c(tail(tts,n-poz),head(tts,poz))
}
sws <- cbind(sws,tts[1:n])
}
sws$l <- NULL
return(sws)
}

' ''

...