Saya memproduksi skrip untuk membuat sampel bootstrap dari cats
dataset (dari -MASS-
paket).
Mengikuti buku teks Davidson dan Hinkley [1] Saya menjalankan regresi linier sederhana dan mengadopsi prosedur dasar non-parametrik untuk bootstrap dari pengamatan awal, yaitu pemasangan kembali pasangan .
Sampel asli dalam bentuk:
Bwt Hwt
2.0 7.0
2.1 7.2
...
1.9 6.8
Melalui model linear univariat, kami ingin menjelaskan berat badan kucing melalui berat otaknya.
Kode tersebut adalah:
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)
Anggaplah sekarang bahwa ada variabel pengelompokan cluster = 1, 2,..., 24
(misalnya, masing-masing kucing milik sebuah sampah yang diberikan). Untuk kesederhanaan, anggaplah bahwa data seimbang: kami memiliki 6 pengamatan untuk setiap cluster. Oleh karena itu, masing-masing dari 24 liter terdiri dari 6 kucing (yaitu n_cluster = 6
dan n = 144
).
Dimungkinkan untuk membuat cluster
variabel palsu melalui:
q <- rep(1:24, times=6)
cluster <- sample(q)
c.data <- cbind(cats, cluster)
Saya punya dua pertanyaan terkait:
Bagaimana mensimulasikan sampel sesuai dengan struktur dataset (berkerumun)? Yaitu, bagaimana melakukan resample pada level cluster? Saya ingin sampel cluster dengan penggantian dan untuk mengatur pengamatan dalam setiap cluster yang dipilih seperti dalam dataset asli (yaitu pengambilan sampel dengan penggantian cluster dan tanpa penggantian pengamatan dalam masing-masing cluster).
Ini adalah strategi yang diusulkan oleh Davidson (hal. 100). Misalkan kita menggambar B = 100
sampel. Masing-masing dari mereka harus dikomposisikan oleh 24 cluster yang mungkin berulang (misalnya 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
), dan masing-masing cluster harus berisi 6 pengamatan yang sama dari dataset asli. Bagaimana cara melakukannya R
? (baik dengan atau tanpa -boot-
paket.) Apakah Anda memiliki saran alternatif untuk melanjutkan?
Pertanyaan kedua menyangkut model regresi awal. Misalkan saya mengadopsi model efek tetap , dengan intersep tingkat cluster. Apakah itu mengubah prosedur resampling yang diadopsi?
[1] Davidson, AC, Hinkley, DV (1997). Metode bootstrap dan aplikasinya . Pers Universitas Cambridge.