我一直在尝试手动计算ci.type ='ma'的置信区间。我读了一篇相关的帖子(cross-correlation using ccf in R),这篇文章很有帮助,但我对这个细节很感兴趣。
getAnywhere(plot.acf)
到目前为止,我有:
x <- ccf(x=x,y=y,ci.type='ma')
clim0 <- qnorm((1+0.95)/2)/sqrt(x$n.used) # upper CI when ci.type=NULL
clim <- clim0 + * sqrt(cumsum(c(1, 2 * x$acf[-1,
i, i]^2))) # from getAnywhere(plot.acf)
但我不明白我是如何在功能细节中定义的。有人曾经这样做过吗?
答案 0 :(得分:2)
调用getAnywhere(plot.acf)
,i从1开始迭代到系列的长度:
for (i in 1L:nser) {
clim <- clim0 * sqrt(cumsum(c(1, 2 * x$acf[-1,
i, i]^2)))
ylim <- range(c(-clim, clim, ylim))
}
但是,在acf函数中,您可以使用ci.type='ma'
为ci指定“ma”
见https://stat.ethz.ch/R-manual/R-devel/library/stats/html/acf.html