Estou produzindo um script para criar exemplos de inicialização do cats
conjunto de dados (do -MASS-
pacote).
Seguindo o livro de Davidson e Hinkley [1], executei uma regressão linear simples e adotei um procedimento não paramétrico fundamental para o bootstrapping a partir de observações da iid, ou seja, pares de reamostragem .
A amostra original está no formato:
Bwt Hwt
2.0 7.0
2.1 7.2
...
1.9 6.8
Através de um modelo linear univariado, queremos explicar o peso da lareira dos gatos através do seu peso cerebral.
O código é:
library(MASS)
library(boot)
##################
# CATS MODEL #
##################
cats.lm <- glm(Hwt ~ Bwt, data=cats)
cats.diag <- glm.diag.plots(cats.lm, ret=T)
#######################
# CASE resampling #
#######################
cats.fit <- function(data) coef(glm(data$Hwt ~ data$Bwt))
statistic.coef <- function(data, i) cats.fit(data[i,])
bootl <- boot(data=cats, statistic=statistic.coef, R=999)
Suponha agora que exista uma variável de agrupamento cluster = 1, 2,..., 24
(por exemplo, cada gato pertence a uma ninhada). Para simplificar, suponha que os dados sejam equilibrados: temos 6 observações para cada cluster. Assim, cada uma das 24 ninhadas é composta por 6 gatos (ie n_cluster = 6
e n = 144
).
É possível criar uma cluster
variável falsa através de:
q <- rep(1:24, times=6)
cluster <- sample(q)
c.data <- cbind(cats, cluster)
Eu tenho duas perguntas relacionadas:
Como simular amostras de acordo com a estrutura do conjunto de dados (em cluster)? Ou seja, como reamostrar no nível do cluster? Gostaria de amostrar os clusters com substituição e definir as observações em cada cluster selecionado, como no conjunto de dados original (ou seja, amostragem com reposição dos clusters e sem substituir as observações em cada cluster).
Essa é a estratégia proposta por Davidson (p. 100). Suponha que desenhemos B = 100
amostras. Cada um deles deve ser composto por 24 grupos possivelmente recorrentes (por exemplo cluster = 3, 3, 1, 4, 12, 11, 12, 5, 6, 8, 17, 19, 10, 9, 7, 7, 16, 18, 24, 23, 11, 15, 20, 1
), e cada grupo deve conter as mesmas 6 observações do conjunto de dados original. Como fazer isso R
? (com ou sem o -boot-
pacote.) Você tem sugestões alternativas para prosseguir?
A segunda pergunta diz respeito ao modelo de regressão inicial. Suponha que eu adote um modelo de efeitos fixos , com interceptações em nível de cluster. Isso altera o procedimento de reamostragem adotado?
[1] Davidson, AC, Hinkley, DV (1997). Métodos de inicialização e seus aplicativos . Cambridge University Press.