r - R 的 ccf 和 Julia 的 crosscor 中使用的方程是什么?

标签 r julia cross-correlation

我对此一直很摸不着头脑。现在,除了 Julia 在滞后方面给出了看似倒退的结果

julia> crosscor([1,2,3,4], [1,2,3,1])'
1x7 Array{Float64,2}:
 -0.30339  0.0  0.64049  0.13484  -0.37081  -0.40452  0.30339

> print(ccf(c(1,2,3,4), c(1,2,3,1), type="correlation", plot=F))

Autocorrelations of series ‘X’, by lag

    -3     -2     -1      0      1      2      3 
 0.303 -0.405 -0.371  0.135  0.640  0.000 -0.303

通过反转 x 和 y 可以很容易地解决这个问题(“容易”是相对的,当你需要花费一个小时才能弄清楚时),这些数字与我熟悉的任何方程都不相似(它们不是无论如何,不​​多)。

所以,我打开了我的统计教科书,发现了许多其他公式,我不会用笔和纸来测试它们。我一度怀疑从向量中删除均值发挥了作用,所以我尝试不这样做(遗憾的是,这只能在 Julia 中完成)

julia> crosscor([1,2,3,4], [1,2,3,1], demean=false)'
1x7 Array{Float64,2}:
 0.188562  0.518545  0.942809  0.848528  0.518545  0.235702  0.0471405

但这仍然不像我用笔和纸计算的归一化互相关(我可能犯了未决的错误)。

简而言之:我需要引用公式,那么它是什么?

最佳答案

我认为根据 StackOverflow 的使用条款可以在这里引用这段摘录吗?从 Venables 和 Ripley (2002) 的第 390 页(第 14.1 节)中,您可以找到他们在此处使用的 acf() 函数的定义:

enter image description here

如果您查看 R 中 ccf() 函数的源代码(在提示符处输入“ccf”),您可以看到 acf() 是如何被执行的使用并可以询问上述 acf() 实现如何与计算相关。

关于r - R 的 ccf 和 Julia 的 crosscor 中使用的方程是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30917082/

相关文章:

sorting - Julia 中的高效部分排列排序

multidimensional-array - Julia:在不固定 n 的情况下索引到 n 维数组的语法

android - 互相关以查找声纳回波

java - 使用互相关的声音文件的时间延迟

java - 将彩色图像转换为 Array[i][j]

r - 如何按多列对data.table进行分组?

python - 在 csv 中存储列表以在 r 中访问

r - 使用谷歌地图按公司名称查找坐标

html - 使用 "rvest"抓取 html 表格

julia - 在 Julia 中使用 include 和全局变量