Estoy produciendo un script para la creación de muestras bootstrap de la cats
conjunto de datos (de la -MASS-
paquete).
Siguiendo las Davidson y Hinkley libro de texto [1] me encontré con una regresión lineal simple y adoptó una fundamental no paramétrico de procedimiento para el arranque del sistema desde el iid observaciones, es decir, pares de remuestreo.
La muestra original es de la forma:
Bwt Hwt
2.0 7.0
2.1 7.2
...
1.9 6.8
A través de un modelo lineal univariante queremos explicar los gatos hogar de peso a través de su cerebro de peso.
El código es:
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)
Supongamos ahora que existe una agrupación de la variable cluster = 1, 2,..., 24
(por ejemplo, cada gato pertenece a una camada). Por simplicidad, supongamos que los datos son equilibrada: tenemos 6 observaciones para cada clúster. Por lo tanto, cada uno de los 24 camadas se compone de 6 gatos (es decir, n_cluster = 6
y n = 144
).
Es posible crear un falso cluster
variable a través de:
q <- rep(1:24, times=6)
cluster <- sample(q)
c.data <- cbind(cats, cluster)
Tengo dos preguntas:
Cómo simular muestras de acuerdo con la (agrupado) conjunto de datos strucure? Es decir, cómo volver a muestrear en el nivel de clúster? Me gustaría muestra de los grupos con reemplazo y para establecer las observaciones dentro de cada grupo seleccionado, como en el conjunto de datos original (es decir, el muestreo con replacenment los clusters y sin el reemplazo de las observaciones dentro de cada grupo).
Esta es la estrategia propuesta por Davidson (p. 100).
Supongamos que dibujar B = 100
de las muestras. Cada uno de ellos debe estar compuesto por 24 posiblemente recurrente grupos (por ejemplo 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
), y cada grupo debe contener el mismo 6 de observaciones del conjunto de datos original. Cómo hacer que en R
? (ya sea con o sin el -boot-
paquete.) ¿Tienes sugerencias alternativas para el procedimiento?
La segunda cuestión se refiere a la inicial del modelo de regresión. Supongamos que adoptar un modelo de efectos fijos, con el grupo de nivel intercepta. ¿Cambia el remuestreo procedimiento adoptado?
[1] Davidson, A. C., Hinkley, D. V. (1997). Bootstrap métodos y sus aplicaciones. Cambridge University press.