方差 - 协方差HAC矩阵 - Bootstrap

时间:2015-08-03 07:35:22

标签: r matrix

我在数据上实现了一个自举,但是当我想打印方差 - 协方差HAC矩阵时,结果有点混乱:

enter image description here

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测试。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您的代码当前为您创建的所有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 prewhite ning,从个人lm(如上所述)和多变量mlm获得的标准错误(你用的)实际上会重合。因此,如果您采用多变量方法,您甚至可以节省一些时间。但是,如果使用效率较低的循环/应用,则代码及其结果可能更易于理解。如果时间不是一个严重的问题,我会怎么做。