使用 tidymodels 或相关 R 包自定义 ccf 函数

问题描述 投票:0回答:1

我正在使用 R 中的 ccf 函数来进行两个时间序列之间的互相关,但我的老板希望(1)输出仅考虑滞后的正值,并且(2)不使用皮尔逊方法而是使用斯皮尔曼方法。对于前一个要求,我没有找到太多帮助,对于第二个要求,请参阅12

我的问题是:

  1. 您是否知道任何套餐已提供这些选项?
  2. 否则,我一直在研究 tidymodels 的 corrr 或 easystats 的 correlation ,它们是改进的、更现代的函数来计算相关性。我可以在循环中使用这些函数之一,用我想要的方法计算相关性,在循环的每一轮中移动输入时间序列之一的值,计算相关性等等。这是正确的还是我错过了什么?
我尝试阅读 ccf 文档,但没有找到有关如何实现此目标的任何线索,因此这就是为什么我正在寻找替代方案或我应该考虑什么以便自己编写代码。

r correlation tidymodels cross-correlation
1个回答
0
投票
可能的选择:

library(ggplot2) library(funtimes) x <- rnorm(100) y <- rnorm(100) # All lags and positive lags only ccf_boot(x, y, plot = "Spearman") |> ggplot(aes(Lag, r_S)) + geom_ribbon(aes(ymin = lower_S, ymax = upper_S), fill = "skyblue") + geom_point() + geom_col(width = 0.05) + coord_cartesian(xlim = c(0, NA)) + labs( y = "CCF", title = "Spearman correlation", subtitle = "with 95% bootstrap confidence region")

创建于 2024-03-11,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.