首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于滚动窗口的熵分析

基于滚动窗口的熵分析
EN

Stack Overflow用户
提问于 2018-11-02 09:56:42
回答 1查看 596关注 0票数 2

我要计算滚动窗口大小为500的多个时间序列的熵值。我在代码中使用了滚动应用函数,但它不起作用。

请帮助我计算熵(即下面的代码)在滚动窗口大小为500。

为了您的方便,这里我提供了我的熵代码,这样您就可以更容易地在熵法中提出500滚动窗口大小的应用。

代码语言:javascript
复制
N<-nrow(ts)
r<-matrix(0, nrow = N, ncol = 1)
for (i in 1:N){
    r[i]<-approx_entropy(ts[,i], edim = 2, r = 0.2*sd(ts[,i]), elag = 1)
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-05 15:20:07

修改版本:代码:

代码语言:javascript
复制
library('zoo')
ts <- matrix(rnorm(100000),1000,100)
library('zoo')
ts <- matrix(rnorm(100000),1000,100)
roll <- function(x){
  entropy <- function(x){
    output <- any function or code you like to put hear
    return(output)
  }
  r <- rollapply(x,width=500,by=1,FUN=entropy)
  return(r)
}
res <- apply(ts ,2,roll)

旧版本:规避代码应该有效,这是一个如何做到这一点的例子:

代码语言:javascript
复制
library('zoo')
ts <- rnorm(10000)
entropy <- function(x){
   return(approx_entropy(x,edim = 2, r = 0.2*sd(x), elag = 1))
}
r <- rollapply(ts,width=500,by=1,FUN=entropy)

当您计算滚动窗口函数时,输出的大小将等于长度(Ts)-window_length+1。如果不工作,您的数据,请张贴一个数据的例子,以了解哪个是问题。还有您的函数approx_entropy,因为问题/错误可能存在。如果你用一个简单的函数来探测代码,它就能工作。希望能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53116307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档