У меня есть задача создать суррогатные временные ряды по модели свопинга: выберите случайную точку в вашем временном ряду и поменяйте местами порядок двух сегментов. Сделайте это 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)
}
' ''