簡體   English   中英

如何從R中的互相關函數計算p值

[英]How to calculate p-values from cross-correlation function in R

我使用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)))

跟進

真的那么簡單嗎? ccf一次計算許多相關性!

您是說ccf是以不同的延遲計算相關性嗎? 好吧,如果您有大量觀察值N ,則每個滯后的ACF的標准偏差都相同: 1/sqrt(N) 這就是為什么置信區間為兩條水平線的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM