Ben*_*ill 4 r time-series stata
Stata包含一个命令(wntestq),它称之为"针对白噪声的portmanteau Q测试".在R中的不同包中似乎有各种相关的测试.也就是说,其中大部分看起来都是专门针对不同时间序列格式的数据而设计的,而且我找不到单个变量上运行的数据.
"Portmanteau"指的是一系列统计测试.在时间序列分析中,portmanteau测试用于测试模型中残差的自相关性.最常用的测试是Ljung-Box测试.虽然它隐藏在手册的引文中,但似乎是Stata命令wntestq已经实施的测试.
R在一个函数中实现相同的测试,该函数Box.test()在R包含的stats包中.正如您在该函数的文档中看到的,Box.test()实际上实现了两个测试:Stata使用的Ljung-Box文本和Box-Pierce测试.根据一些消息来源,Box-Pierce被发现包括一个看似微不足道的简化,可能导致令人讨厌的影响.[1] [2]由于这个原因,并且由于R和Stata的默认值不同,值得注意的是Box-Pierce版本在R中是默认的.
测试将考虑一定数量的自相关系数(即,高达滞后h)并且没有明显的默认选择(有关更详细的讨论,请参阅统计StackExchange上的此问题).导致不同结果的另一个重要区别是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))
}
Run Code Online (Sandbox Code Playgroud)