因此,我使用quantreg
R 中的包进行分位数回归分析,以测试我的预测变量的影响如何随着我的结果分布而变化。
FML <- as.formula(outcome ~ VAR + c1 + c2 + c3)
quantiles <- c(0.25, 0.5, 0.75)
q.Result <- list()
for (i in quantiles){
i.no <- which(quantiles==i)
q.Result[[i.no]] <- rq(FML, tau=i, data, method="fn", na.action=na.omit)
}
然后我调用anova.rq
which 对所有模型运行 Wald 测试,并为每个协变量输出一个 pvalue,告诉我每个协变量的影响是否在我的结果分布中显着变化。
anova.Result <- anova(q.Result[[1]], q.Result[[2]], q.Result[[3]], joint=FALSE)
那工作得很好。但是,对于我的特定数据(以及一般情况?),引导我的估计和他们的错误是可取的。我对上面的代码稍作修改。
q.Result <- rqs(FML, tau=quantiles, data, method="fn", na.action=na.omit)
q.Summary <- summary(Q.mod, se="boot", R=10000, bsmethod="mcmb",
covariance=TRUE)
这就是我卡住的地方。目前quantreg
无法对自举估计执行 anova (Wald) 检验。软件包上的信息文件quantreg
明确指出,“应该对要在 anova.rq 中使用的方法进行扩展”关于 boostrapping 方法。
查看 anova.rq 方法的细节。我可以看到它在引导时需要分位数模型中不存在的 2 个组件。
1)Hinv
(逆黑森矩阵)。包信息文件特别指出“请注意,因为se = "boot"
无法将估计的协方差矩阵拆分为其三明治组成部分。 ”
2)J
根据信息文件,是“如果和返回的梯度矩阵的未缩放外积。Huber三明治是。至于组件,没有组件时。(注意,要制作Huber三明治,您需要添加蛋黄酱你自己。cov=TRUE
se != "iid"
cov = tau
(1-tau) Hinv %*% J %*% Hinv
Hinv
J
se == "boot"
tau (1-tau)
)“
我可以根据自举估计计算Hinv
或估计吗?J
如果不是,最好的方法是什么?
对此非常感谢任何帮助。这是我第一次在这里发布问题,尽管过去我从其他人问题的答案中受益匪浅。