Я создаю script для создания выборок начальной загрузки из набора данных cats
(из пакета -MASS-
).
Следуя учебнику Дэвидсона и Хинкли [1], я провел простую линейную регрессию и принял фундаментальную непараметрическую процедуру для начальной загрузки из наблюдений iid, а именно: par resampling.
Оригинальный образец находится в форме:
Bwt Hwt
2.0 7.0
2.1 7.2
...
1.9 6.8
Через одномерную линейную модель мы хотим объяснить вес кошачьих очагов через их вес мозга.
Код:
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)
Предположим теперь, что существует кластерная переменная cluster = 1, 2,..., 24
(например, каждая кошка принадлежит данному подстилку). Для простоты предположим, что данные сбалансированы: у нас есть 6 наблюдений для каждого кластера. Следовательно, каждый из 24 пометов состоит из 6 кошек (т.е. n_cluster = 6
и n = 144
).
Можно создать поддельную переменную cluster
через:
q <- rep(1:24, times=6)
cluster <- sample(q)
c.data <- cbind(cats, cluster)
У меня есть два связанных вопроса:
Как имитировать образцы в соответствии с структурой (кластеризованным) набором данных? То есть как выполнить повторную выборку на уровне кластера? Я хотел бы пробовать кластеры с заменой и устанавливать наблюдения в каждом выбранном кластере, как в исходном наборе данных (т.е. Выборка с заменой кластеров и без замена наблюдений в каждом кластере).
Это стратегия, предложенная Дэвидсоном (стр. 100).
Предположим, что мы рисуем B = 100
выборки. Каждый из них должен состоять из 24 возможных рекуррентных кластеров (например, 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
), и каждый кластер должен содержать те же 6 наблюдений исходного набора данных. Как это сделать в R
? (либо с пакетом -boot-
, либо без него.) Есть ли у вас альтернативные предложения для продолжения?
Второй вопрос касается начальной модели регрессии. Предположим, что я использую модель фиксированных эффектов с перехватами на уровне кластера. Изменяется ли процедура повторной дискретизации?
[1] Davidson, A. C., Hinkley, D. V. (1997). Методы Bootstrap и их приложения. Пресса Кембриджского университета.