5个时间序列(距离)和解释

时间:2015-11-23 05:22:13

标签: r time-series cross-correlation

我很欣赏这方面的一些意见!

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

我想要做的是计算所有系列之间的多元互相关,以便找出概况最相关且在一段时间内最稳定的滞后。

个人资料示例: example plot of one time step

我发现R中的文档并不那么好,所以我到目前为止所做的是使用带有ccm函数的MTS包来创建互相关矩阵。但是,使用稀疏文档对数字的解释相当困难。我非常感谢你们的帮助。

数据示例: 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命令): enter image description here

此:

enter image description here

和此:

enter image description here

同时,上面的acf命令产生: enter image description here

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

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

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

具有显着性值的图表显示,在150(15米)的滞后之后,p值增加。您如何理解我的数据呢?物种目击的0.1个间隔和高达100-150的许多滞后是重要的?这是否意味着目击中的高峰在5个时间段内保持稳定,在150英里(又称15米)的范围内?

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

1 个答案:

答案 0 :(得分:1)

您可以使用基础R函数ccf(),它将估算任何两个变量 x y 之间的互相关函数。但是,它仅适用于向量,因此您必须遍历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仅针对正常分布的数据进行定义,但是您的数据明显过多地分散了所有这些零。因此,缺乏一些适当的转换,你应该真正研究“关联”的其他指标,例如从熵估计的互信息。我建议您查看R个软件包entropyinfotheo