在R中,我们可以运行时间序列的ACF相关图,并且置信区间带将以浅蓝色绘制.但是当我拉动ACF对象的结构时,我找不到这些值.有谁知道如何提取置信区间带的值?
例如
List of 6
$ acf : num [1:27, 1, 1] 1 0.06453 -0.06354 0.00213 -0.01324 ...
$ type : chr "correlation"
$ n.used: int 501
$ lag : num [1:27, 1, 1] 0 1 2 3 4 5 6 7 8 9 ...
$ series: chr "tser[i:(i + 500)]"
$ snames: NULL
- attr(*, "class")= chr "acf"
Run Code Online (Sandbox Code Playgroud)

我已经看过这个函数了,我看不出提取置信区间的简单方法.该区域在plot.acf函数中计算.要查看此功能,请使用
getS3method("plot", "acf")
Run Code Online (Sandbox Code Playgroud)
在这个函数中,有一个变量clim,这是你所追求的变量.最简单的方法是复制plot.acf到myplot.acf,但返回clim值.
我知道这个问题非常古老,但是如果有人确实想要置信区间值,那么它只是置信水平的 z 值除以所用观察次数的 sqrt。在plot.acf函数中,这是在这里计算的:
clim0 <- if (with.ci)
qnorm((1 + ci)/2)/sqrt(x$n.used)
Run Code Online (Sandbox Code Playgroud)
其中with.ci是一个逻辑值,指示用户是否想要绘制置信区间,并且ci是所需的置信水平(例如 .95、.9 等...)
编辑:如果您假设滞后值是白噪声,则这是置信区间,如果不是这种情况,则可以应用更正
clim <- clim0 * sqrt(cumsum(c(1, 2 * x$acf[-1, i, j]^2)))
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读更多相关信息