【问题标题】:Cross-correlation of 5 time series (distance) and interpretation5个时间序列(距离)的互相关和解释
【发布时间】:2016-02-25 03:43:43
【问题描述】:

非常感谢您对此的一些意见!

我有 5 个时间序列的数据(该系列中 1 步骤的示例如下图所示),其中系列中的每个步骤都是海洋中物种目击的垂直剖面图相隔 6 小时进行调查。所有 5 个步骤都垂直间隔 0.1m(以及 6h 的时间)。

我想要做的是计算所有系列之间的多元互相关,以便找出配置文件在哪个滞后处随着时间的推移最相关和稳定。

个人资料示例:

我发现 R 中的文档不太好,所以到目前为止我所做的是使用 MTS 包和 ccm 函数来创建互相关矩阵。然而,由于文档稀少,对数字的解释相当困难。我将非常感谢您的帮助。

数据示例: http://pastebin.com/embed_iframe.php?i=8gdAeGP4 保存在文件 cross_correlation_stack.csv 中或根据需要进行更改。

library(dplyr)
library(MTS)
library(data.table)

d1 <- file.path('cross_correlation_stack.csv')
d2 = read.csv(d1)

# USING package MTS
mod1<-ccm(d2,lag=1000,level=T)

#USING base R
acf(d2,lag.max=1000)

# MQ plot also from MTS package
mq(d2,lag=1000)

产生这个(ccm 命令):

这个:

还有这个:

同时,上面的 acf 命令会产生以下结果:

我现在的问题是,是否有人可以就我的方向是否正确或是否有更适合的软件包和命令提供一些意见?

由于默认数字没有任何标题等。我在看什么,特别是在 ccm 数字中?

ACF 命令是在某处提出的,但我可以在这里使用它吗?在它的文档中它说......计算自协方差或自相关......我认为这不是我想要的。但话又说回来,它是唯一似乎可以多变量工作的命令。我很困惑。

具有显着性值的图显示,在滞后 150(15 米)后,p 值增加。关于我的数据,你会如何解释? 0.1 的物种观测间隔和高达 100-150 的许多滞后是否显着?这是否意味着在 150 个滞后(即 15 米)的 5 个时间步长上,目击峰值是稳定的?

无论哪种方式,如果以前使用此功能的人可以解释我在看什么,那就太好了!任何意见都非常感谢!

【问题讨论】:

    标签: r time-series cross-correlation


    【解决方案1】:

    您可以使用R 基函数ccf(),它将估计任意两个变量xy 之间的互相关函数。但是,它仅适用于向量,因此您必须遍历 d1 中的列。比如:

    cc <- vector("list",choose(dim(d1)[2],2))
    par(mfrow=c(ceiling(choose(dim(d1)[2],2)/2),2))
    cnt <- 1
    for(i in 1:(dim(d1)[2]-1)) {
      for(j in (i+1):dim(d1)[2]) {
        cc[[cnt]] <- ccf(d1[,i],d1[,j],main=paste0("Cross-correlation of ",colnames(d1)[i]," with ",colnames(d1)[j]))
        cnt <- cnt + 1
      }
    }
    

    这将绘制每个估计的 CCF 并将估计值存储在列表 cc 中。请务必记住,ccf(x,y) 返回的 lag-k 值是对x[t+k]y[t] 之间相关性的估计。

    尽管如此,但 ccf 仅针对或多或少呈正态分布的数据定义,但您的数据显然过度分散,所有这些零都存在。因此,由于缺乏一些适当的转换,您应该真正研究“关联”的其他指标,例如从熵估计的互信息。我建议查看Rentropyinfotheo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 2018-06-30
      • 2018-07-07
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      相关资源
      最近更新 更多