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

pat*_*pat 6 r correlation

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

在此输入图像描述

csg*_*pie 7

我已经看过这个函数了,我看不出提取置信区间的简单方法.该区域在plot.acf函数中计算.要查看此功能,请使用

getS3method("plot", "acf")
Run Code Online (Sandbox Code Playgroud)

在这个函数中,有一个变量clim,这是你所追求的变量.最简单的方法是复制plot.acfmyplot.acf,但返回clim值.

  • 这应该被接受为答案。以下是拉取函数的代码:`dump("plot.acf",file = "function_dump_plot_acf.txt", envir=asNamespace("stats"))`。还需要将“invisible()”替换为“return(clim)” (2认同)

Mat*_*lls 5

我知道这个问题非常古老,但是如果有人确实想要置信区间值,那么它只是置信水平的 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)

你可以在这里阅读更多相关信息