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


9

接下来的嫁接摘自本文。我是新手,要引导并尝试为带有R boot包的线性混合模型实现参数,半参数和非参数自举。

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

R代码

这是我的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。我在哪里可以得到这个包的任何想法。任何帮助将不胜感激。在此先感谢您的帮助和时间。

Answers:


8

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


感谢@Michael的好答案。如果您分享在中实现的所有三种引导方法的示例,我将不胜感激R
MYaseen208

我认为我没有半参数示例。我还不是R程序员。Robert LaBudde在我们的书中做了所有R编程。他给出了一个用R编码的参数自举示例,用于固定自回归模型(pp 120-122)。在该书的第10页上,他展示了R中使用查询“> help.search('bootstrap')一起显示的所有引导程序功能。由Davison和Hinkley负责的软件包是他们的软件包“ boot”,您可以在他们的引导书中找到更多信息
Michael R. Chernick 2012年

应该提到的是,混合模型的严格非参数引导很容易失败。它可以完全省略某个随机变量的级别,从而停止该过程。
布赖恩

2

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

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.