在R中,我们可以运行时间序列的ACF相关图,并且置信区间带将以浅蓝色绘制。但是当我拉动ACF对象的结构时,我找不到这些值。有谁知道如何提取置信区间带的值?
e.g。
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"
答案 0 :(得分:7)
我已经看过这个功能了,我看不出提取置信区间的简单方法。该区域在plot.acf
函数中计算。要查看此功能,请使用
getS3method("plot", "acf")
在这个函数中,有一个变量clim
,这是你所追求的变量。最简单的方法是将plot.acf
复制到myplot.acf
,但返回clim
值。
答案 1 :(得分:1)
我知道这个问题已经过时了但是如果有人确实想要置信区间值,那么它只是置信水平的z值除以所用观察数的sqrt。在plot.acf
函数中,这是在这里计算的:
clim0 <- if (with.ci)
qnorm((1 + ci)/2)/sqrt(x$n.used)
其中with.ci
是一个逻辑值,表示用户是否想要绘制置信区间,ci
是所需的置信水平(例如.95,.9等......)< / p>
编辑:如果您认为滞后值是白噪声,则这是置信区间,如果不存在可以应用的更正
clim <- clim0 * sqrt(cumsum(c(1, 2 * x$acf[-1, i, j]^2)))
您可以阅读有关here
的更多信息