【问题标题】:What is the equivalent to Stata's portmanteau (Q) test for white noise in R?什么相当于 Stata 对 R 中白噪声的 portmanteau (Q) 测试?
【发布时间】:2014-07-15 23:29:08
【问题描述】:

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

【问题讨论】:

    标签: r time-series stata


    【解决方案1】:

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

    R 在一个名为 Box.test() 的函数中实现了相同的测试,该函数位于 R 附带的 stats 包中。正如您在 documentation for that function 中看到的那样,Box.test() 实际上实现了两个测试:Stata 使用的Ljung-Box 文本和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))
    }
    

    【讨论】:

    • Stata 的wntestq 文档可供所有人访问stata.com/manuals13/ts.pdf pp.785-7。这包括引用和定义。
    • 这是原始问题中给出的参考。从Stata的角度来看,没有什么是“埋没”的。这些手册(过去是单独印刷的,但现在在线并且可供所有人访问)是提供引文和技术细节的地方。
    • 埋没,我只是表示使用的方法在文档中并不突出,或者像在 R 中那样,在函数的 name 中并不突出。这并不是对 Stata 的批评。我花了半个小时在 R 中搜索“portmanteau q test”,然后才意识到它被称为 Box test。就是这样。
    • 我注意到您是在评论而不是批评。同样,我建议,在作者之后命名测试的统计习惯并不总是特别有用(也不是,完全不同的一点是,总是直截了当地确定要引用的正确作者)。因此,使用像 Stata 这样的标题也是有帮助的。还给出了对作者的引用。
    猜你喜欢
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 2016-10-09
    • 2018-09-13
    • 1970-01-01
    相关资源
    最近更新 更多