混合模型的参数、半参数和非参数引导

机器算法验证 r 混合模式 引导程序
2022-03-17 14:43:15

以下移植物取自这篇文章我是引导程序的新手,并试图为带有R boot包的线性混合模型实现参数、半参数和非参数引导程序。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

代码

这是我的R代码:

library(SASmixed)
library(lme4)
library(boot)

fm1Cult <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=Cultivation)
fixef(fm1Cult)


boot.fn <- function(data, indices){
 data <- data[indices, ]
 mod <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=data)
 fixef(mod)
 }

set.seed(12345)
Out <- boot(data=Cultivation, statistic=boot.fn, R=99)
Out

问题

  1. 如何对带有boot包的混合模型进行参数、半参数和非参数引导?
  2. 我想我正在我的代码中为混合模型进行非参数引导。

我找到了这些幻灯片,但找不到 R 包merBoot任何想法我可以在哪里得到这个包裹。任何帮助将不胜感激。提前感谢您的帮助和时间。

2个回答

混合线性模型中的自举与回归中的自举非常相似,只是您有复杂的效果,即效果分为固定和随机。在进行参数引导的回归中,您将参数模型拟合到数据,计算模型残差,引导残差,获取引导残差并将它们添加到拟合模型中以获得数据的引导样本,然后拟合模型到 bootstrap 数据以获取 bootstrap 样本参数估计值。您通过再次引导原始残差来重复该过程,然后重复该过程中的其他步骤以获得参数的另一个引导样本估计。对于非参数引导程序,您创建响应和协变量值的向量,并引导引导程序样本的向量选择。从 bootstrap 样本中,您可以拟合模型以获取参数,然后重复该过程。参数和非参数引导程序之间的唯一区别是,您引导参数引导程序的残差,而非参数引导程序引导向量。在混合模型的情况下,您还可以通过参数化处理一些效应和非参数化处理其他效应来获得半参数引导。如果您的代码是引导向量,那么您正在执行非参数引导。我没有提供在 R 中执行此操作的特定解决方案,但是如果您查看 Efron 和 Tibshirani 的书或我与 Robert LaBudde 合着的书,您会看到与线性混合模型相似类型的模型的 R 代码。

你可能想看看bootMerlme4开发版中的功能,

install_github("lme4",user="lme4")
library(lme4)

可以对混合模型进行基于模型的(半)参数引导......只需检查?bootMer