R strucchange与SAS proc autoreg用于Bai-Perron测试的比较

4

R strucchange包的结果与我使用Bai和Perron(1998年,2003年)最小BIC估计结构性突变时从SAS proc autoreg获得的结果不匹配。发现的断点数量完全不同。我的数据有大约20,000个观测值,因此很难在这里重新创建问题。但是,有人能否解释为什么发现的断点数量会有所不同?以下是我用于估计断点的R和SAS代码示例。

R代码如下:

library(lmtest)
library(sandwich)
library(strucchange)

data.bp <- breakpoints(formula, data)
coeftest(data.bp)
coeftest(data.bp, vcov = NeweyWest)

SAS代码如下:

proc autoreg data=data;
model formula / BP=(EPS=0.15, PRINTEST=BIC);

2
正如@DanielWisehart所说:请提供一个尽可能小而简单的数据集,以重现问题。SAS和R的相应输出也会有所帮助(例如,我无法访问SAS过程)。最后请注意,计算可能具有数值挑战性(例如,请参见http://dx.doi.org/10.1002/jae.856)。 - Achim Zeileis
我可以把SAS和R的数据和输出通过电子邮件发送给您,Zeileis教授吗? - user1491868
2
如果你把它发送给我,我一定会看一下。但是如果你把它放在某个网页上并在这里链接,其他人也可以加入讨论。 - Achim Zeileis
Zeileis教授通过电子邮件回答了我的问题。如果他愿意在这里发布他的答案,我会给他颁发赏金。 - user1491868
1
好的,我并没有完全回答你的问题。我只是推测了R和SAS之间差异的来源(但我会尝试更仔细地看一下),并指出你的数据中存在GARCH效应(波动性聚集,重尾)。后者并不能解释R与SAS之间的差异,但意味着无论如何都应该采用不同的模型... - Achim Zeileis
1个回答

3
我不想说,但也许你需要提供一个更简单的例子来帮助我们调试。可能strucchange包有问题,或者它使用了不同的假设。我从这里拉取了源代码包:https://cran.r-project.org/web/packages/strucchange/index.html,源代码只有6500多行,其中至少三分之一是测试值。如果你能提供一个简单的例子,我们可以进一步研究。你还可以查看源代码,因为如我所说,该包中内置了测试值,这可能会给你对正在进行的操作有所启示——或者对你的需求有所误导。 https://stackoverflow.com/help/mcve

为了自己的健康检查,我创建了一些明显有问题的数据,SAS 和 R 的输出完全匹配。我猜测我的实际数据中的问题更加微妙。在我的实际数据中,R 脚本比 SAS 脚本找到了更多的问题。 - user1491868
2
可能是信息准则计算方式上的差异。BIC值是否匹配? - Achim Zeileis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接