r - 什么相当于 Stata 对 R 中白噪声的 portmanteau (Q) 测试?

标签 r time-series stata

Stata 包含一个命令( wntestq ),它称之为“白噪声的 portmanteau Q 测试”。在 R 中的不同包中似乎有各种相关的测试。也就是说,其中大多数似乎是专门为各种时间序列格式的数据设计的,我找不到可以对单个变量进行操作的。

最佳答案

“Portmanteau”指的是family of statistical tests .在时间序列分析中,portmanteau 检验用于检验模型中残差的自相关。最常用的测试是Ljung-Box test .虽然埋藏在手册的引文中,但似乎是Stata命令wntestq的测试。已实现。

R 在名为 Box.test() 的函数中实现了相同的测试它包含在 R 附带的 stats 包中。正如您在 documentation for that function 中看到的那样, Box.test()实际上实现了两个测试:Ljung-Box Stata 使用的文本和 Box-Pierce测试。根据一些消息来源,Box-Pierce 被发现包含一个看似微不足道的简化,可能会导致令人讨厌的效果。 [1] [2]出于这个原因,并且因为 R 和 Stata 的默认值不同,值得注意的是 Box-Pierce 版本在 R 中是默认值。

该测试将考虑一定数量的自相关系数(即,最多滞后 h)并且没有明显的默认值可供选择(参见 this question on the statistics StackExchange for a much more detailed discussion)。另一个会导致不同结果的重要区别是,Stata 和 R 中默认的 h 或滞后数会有所不同。默认情况下,R 会将 h 设置为 1*,而 Stata 会将 h 设置为 [n/2]-2 或40,以较小者为准。

尽管您可能不想要默认值的原因有很多,但以下 R 函数将重现 Stata 命令的默认行为:

q.test <- function (x) {
    Box.test(x, type="Ljung-Box", lag=min(length(x)/2-2, 40))
}

关于r - 什么相当于 Stata 对 R 中白噪声的 portmanteau (Q) 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24769815/

相关文章:

r - 我们可以从日期中提取周数吗

r - 使用时间序列数据在 ggplot 中创建垂直线

r - 如何使用 seqtime 在 R 中的组内插入数据?

r - 在 R 中寻找一种直接的方法来完成 Stata 的排序任务

c++ - 如何从宏中为 Stata 中的变量添加标签

list - 在 Stata 中,如何在循环期间附加到本地变量列表?

R - 间隔时间

RStudio在Web浏览器中打开文档

r - 创建平均值矩阵的最有效方法

r - 使用 R 进行 ARIMA 建模的奇怪案例