首页 > 解决方案 > 交换代理人

问题描述

我的任务是通过交换模型生成代理时间序列:在时间序列中选择一个随机点并交换两个段的顺序。这样做 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)
}

'''

标签: ralgorithmtime-series

解决方案


推荐阅读