Bootstrapping paramétrico, semiparamétrico e não paramétrico para modelos mistos


9

Os seguintes enxertos são retirados deste artigo . Eu sou novato no bootstrap e estou tentando implementar o bootstrap paramétrico, semiparamétrico e não paramétrico para o modelo misto linear com o R bootpacote.

insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui

Código R

Aqui está o meu Rcódigo:

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

Questões

  1. Como executar bootstrap paramétrico, semiparamétrico e não paramétrico para modelos mistos com bootpacote?
  2. Eu acho que estou fazendo bootstrapping não paramétrico para modelo misto no meu código.

Eu encontrei esses slides , mas não conseguiu obter o pacote R merBoot. Alguma idéia de onde posso obter esse pacote. Qualquer ajuda será muito apreciada. Agradecemos antecipadamente a sua ajuda e tempo.

Respostas:


8

O bootstrapping em modelos lineares mistos é muito parecido com o bootstrapping na regressão, exceto que você tem a complicação de que os efeitos são divididos em fixo e aleatório. Na regressão para executar o bootstrap paramétrico, você ajusta o modelo paramétrico aos dados, calcula os resíduos do modelo, inicializa os resíduos, pega os resíduos do bootstrap e os adiciona ao modelo ajustado para obter uma amostra de bootstrap para os dados e, em seguida, ajusta o modelo aos dados de autoinicialização para obter estimativas de parâmetros de amostra de autoinicialização. Você repete o procedimento inicializando os resíduos originais novamente e depois repetindo as outras etapas do procedimento para obter outra estimativa de amostra dos parâmetros. Para a inicialização não paramétrica, você cria o vetor dos valores de resposta e covariáveis ​​e inicializa a seleção de vetores para a amostra de inicialização. A partir da amostra de autoinicialização, você ajusta o modelo para obter os parâmetros e repete o processo. A única diferença entre a inicialização paramétrica e não paramétrica é que você inicializa os resíduos da inicialização paramétrica enquanto a inicialização não paramétrica inicializa os vetores. No caso do modelo misto, você também pode ter uma inicialização semiparamétrica tratando alguns efeitos parametricamente e outros não parametricamente. Se o seu código for vetores de inicialização, você estará executando a inicialização não paramétrica. Não tenho uma solução específica para fazer isso em R, mas se você olhar o livro de Efron e Tibshirani ou o meu livro com Robert LaBudde, verá o código R para tipos de modelos semelhantes ao modelo linear misto.


Obrigado @ Michael pela sua boa resposta. Eu apreciaria muito se você compartilhar exemplos dos três métodos de inicialização implementados no R.
— MYaseen208

Eu não acho que tenho exemplos semiparamétricos. Eu não sou um programador R (ainda). Robert LaBudde fez toda a programação R em nosso livro. Ele dá um exemplo de uma inicialização paramétrica codificada em R para um modelo autorregressivo estacionário (pp 120-122). Na página 10 do livro, ele mostra todas as funções de inicialização no R que aparecem usando a consulta "> help.search ('bootstrap') Efron e Tibshirani documentaram em seu livro o pacote de inicialização no R que eles chamam de" inicialização " pacote devido à Davison e Hinkley é o seu pacote de "boot", que você pode descobrir mais sobre em seu livro de bootstrap.
— Michael R. Chernick

Deve-se mencionar que o bootstrap não-paramétrico rigoroso de um modelo misto é propenso a falhas. Pode omitir completamente o nível de uma variável aleatória, o que interrompe o processo.
— 217 Bryan

2

Você pode dar uma olhada na bootMerfunção na versão de desenvolvimento do lme4,

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

que pode executar bootstrap (semi-) paramétrico baseado em modelo de modelos mistos ... Basta verificar ?bootMer

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.