【发布时间】:2014-07-15 23:29:08
【问题描述】:
Stata 包含一个命令 (wntestq),它称为“白噪声的 portmanteau Q 测试”。在 R 的不同包中似乎有各种相关的测试。也就是说,其中大多数似乎是专门为各种时间序列格式的数据设计的,而我找不到对单个变量进行操作的测试。
【问题讨论】:
标签: r time-series stata
Stata 包含一个命令 (wntestq),它称为“白噪声的 portmanteau Q 测试”。在 R 的不同包中似乎有各种相关的测试。也就是说,其中大多数似乎是专门为各种时间序列格式的数据设计的,而我找不到对单个变量进行操作的测试。
【问题讨论】:
标签: r time-series stata
“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))
}
【讨论】:
wntestq 文档可供所有人访问stata.com/manuals13/ts.pdf pp.785-7。这包括引用和定义。