从ACF相关图中提取置信区间值

时间:2013-01-10 20:05:19

标签: r correlation

在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"

enter image description here

2 个答案:

答案 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

的更多信息