gpt4 book ai didi

r - 如何从 R 中的互相关函数计算 p 值

转载 作者:行者123 更新时间:2023-12-03 09:15:41 24 4
gpt4 key购买 nike

我使用 R 中的 ccf() 计算了两个时间序列的互相关。我知道如何得出置信限:

ccf1 <- ccf(x=x,y=y,lag.max=5,na.action=na.pass, plot=F)
upperCI <- qnorm((1+0.95)/2)/sqrt(ccf1$n.used)
lowerCI <- -qnorm((1+0.95)/2)/sqrt(ccf1$n.used)

但我真正需要的是最大相关性的 p 值。

ind.max <- which(abs(ccf1$acf[1:11])==max(abs(ccf1$acf[1:11])))
max.cor <- ccf1$acf[ind.max]
lag.opt <- ccf1$lag[ind.max]

如何计算这个 p 值?我到处搜索,但都找不到好的答案。

最佳答案

获取 p 值非常简单。

在相关性为0的零假设下,呈正态分布:

Z ~ N(0, 1/sqrt(ccf1$n.used))

因此,对于观察到的最大相关性 max.cor,其 p 值就是概率 Pr(Z > |max.cor|),可以计算作者:

2 * (1 - pnorm(abs(max.cor), mean = 0, sd = 1/sqrt(ccf1$n.used)))

后续

Is it really that simple? The ccf is computing many correlations at once!

您是说 ccf 正在计算不同滞后的相关性吗?好吧,如果您有大量观测值 N,则每个滞后处的 ACF 标准差是相同的:1/sqrt(N)。这就是为什么置信区间是两条水平线。

关于r - 如何从 R 中的互相关函数计算 p 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38173544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com