我实现了数据的引导,但是当我想打印方差协方差HAC矩阵时,结果有点混乱:

tbs <- tsbootstrap(u, nb= 199, b=8, type=c("block")) #bootstrap on residuals
ytbs = tbs
fmtbs <- lm(ytbs ~ x1 + x2 + x3)
covHACtbs <- NeweyWest(fmtbs, lag = 10, prewhite= FALSE, sandwich = TRUE)数据是用rnorm(n)生成的,我们假设存在自相关。我希望对每个引导程序都有不同的var-covar HAC矩阵,因为我需要对它们执行Wald测试。我怎么才能解决这个问题?
发布于 2015-08-03 21:23:22
您的代码当前为您创建的所有199个引导响应同时估计一个多变量线性模型对象。如果您想对每个复制执行推论,可以使用一些for(i in 1:199)或lapply(1:199, function(i) ...)方法对此进行循环。然后每种模式都是
fmtbs <- lm(ytbs[,i] ~ x1 + x2 + x3)
coeftest(fmtbs, vcov = NeweyWest(fmtbs,
lag = 10, prewhite= FALSE, sandwich = TRUE))或者类似的东西。细节取决于您到底想要存储什么。
由于您已经修正了lag和使用noe prewhitening,从单个lm (正如我上面所建议的)和多元mlm (您使用的)获得的标准错误实际上将是一致的。因此,您甚至可以节省一些时间,如果您做的每一个多元方法。但是,如果使用效率较低的循环/应用,代码及其结果可能会更智能。如果时间不是一个严肃的问题,我就会这么做。
https://stackoverflow.com/questions/31781777
复制相似问题