Berapa jumlah minimum kelompok yang disarankan untuk faktor efek acak?

26

Saya menggunakan model campuran di R( lme4) untuk menganalisis beberapa data pengukuran berulang. Saya memiliki variabel respons (kandungan serat tinja) dan 3 efek tetap (massa tubuh, dll.). Studi saya hanya memiliki 6 peserta, dengan 16 tindakan berulang untuk masing-masing (meskipun dua hanya memiliki 12 pengulangan). Subjek penelitian adalah kadal yang diberi kombinasi makanan yang berbeda dalam 'perlakuan' yang berbeda.

Pertanyaan saya adalah: dapatkah saya menggunakan ID subjek sebagai efek acak?

Saya tahu ini adalah tindakan yang biasa dilakukan dalam model efek campuran longitudinal, untuk memperhitungkan sifat sampel yang diambil secara acak dari subjek dan fakta bahwa pengamatan dalam subyek akan lebih berkorelasi lebih erat dibandingkan dengan antara subyek. Tetapi, memperlakukan ID subjek sebagai efek acak melibatkan memperkirakan rata-rata dan varians untuk variabel ini.

  • Karena saya hanya memiliki 6 subjek (6 level dari faktor ini), apakah ini cukup untuk mendapatkan karakterisasi yang akurat tentang rerata dan varians?

  • Apakah fakta bahwa saya memiliki beberapa pengukuran berulang untuk setiap mata pelajaran membantu dalam hal ini (saya tidak melihat bagaimana itu penting)?

  • Akhirnya, Jika saya tidak dapat menggunakan ID subjek sebagai efek acak, akankah memasukkannya sebagai efek tetap memungkinkan saya mengontrol fakta bahwa saya telah mengulangi tindakan?

Sunting: Saya hanya ingin menjelaskan bahwa ketika saya mengatakan "bisakah saya" menggunakan ID subjek sebagai efek acak, maksud saya "apakah itu ide yang baik untuk". Saya tahu saya dapat menyesuaikan model dengan faktor dengan hanya 2 level, tetapi tentunya ini tidak dapat dipertahankan? Saya bertanya pada titik apa masuk akal untuk berpikir tentang memperlakukan subjek sebagai efek acak? Sepertinya literatur menyarankan bahwa level 5-6 adalah batas bawah. Tampak bagi saya bahwa perkiraan rata-rata dan varians dari efek acak tidak akan sangat tepat sampai ada 15+ tingkat faktor.

Chris
sumber

Jawaban:

21

Jawaban singkat: Ya, Anda dapat menggunakan ID sebagai efek acak dengan 6 level.

Jawaban yang sedikit lebih panjang: FAQ GLMM @ BenBolker mengatakan (antara lain) berikut di bawah judul " Haruskah saya memperlakukan faktor xxx sebagai tetap atau acak? ":

Satu titik relevansi khusus untuk estimasi model campuran 'modern' (daripada estimasi metode-momen 'klasik') adalah bahwa, untuk tujuan praktis, harus ada jumlah yang wajar dari tingkat efek acak (misalnya blok) - lebih dari Minimal 5 atau 6.

Jadi Anda berada di batas bawah, tetapi di sebelah kanan.

Henrik
sumber
12

Dalam upaya untuk mencari tahu jumlah minimum kelompok untuk model bertingkat saya melihat buku Analisis Data Menggunakan Regresi dan model Mulitilevel / Hierarkis oleh Gelman dan Hill (2007).

Mereka tampaknya membahas topik ini di Bab 11, Bagian 5 (halaman 247) di mana mereka menulis bahwa ketika ada <5 grup maka model bertingkat biasanya menambah sedikit dibandingkan model klasik. Namun, mereka tampaknya menulis bahwa ada sedikit risiko untuk menerapkan model multilevel.

Penulis yang sama tampaknya kembali ke topik ini di Bab 12, Bagian 9 (halaman 275-276). Di sana mereka menulis bahwa saran tentang jumlah minimum kelompok untuk model bertingkat adalah salah arah. Di sana mereka kembali mengatakan bahwa model bertingkat sering menambah sedikit lebih dari model klasik ketika jumlah kelompok kecil. Namun, mereka juga menulis bahwa model bertingkat harus melakukan tidak lebih buruk daripada regresi tanpa-pooling (di mana no-pooling tampaknya berarti bahwa indikator kelompok digunakan dalam regresi klasik).

Pada halaman 275-276 penulis memiliki subbagian khusus untuk kasus satu atau dua kelompok (misalnya, pria versus wanita). Di sini mereka menulis bahwa mereka biasanya mengekspresikan model dalam bentuk klasik. Namun, mereka menyatakan bahwa pemodelan multilevel dapat berguna bahkan hanya dengan satu atau dua kelompok. Mereka menulis bahwa dengan satu atau dua kelompok, pemodelan multilevel direduksi menjadi regresi klasik.

Kesan saya dari ini adalah bahwa regresi klasik adalah salah satu ujung dari rangkaian model, yaitu, kasus khusus dari model multilevel.

Berdasarkan hal di atas, kesan saya adalah bahwa regresi klasik dan pemodelan multilevel akan menghasilkan perkiraan yang hampir sama ketika hanya ada dua kelompok dan yang menggunakan model multilevel dengan hanya satu, dua, tiga, empat, lima atau enam kelompok tidak apa-apa.

Saya akan mencoba untuk memodifikasi jawaban ini di masa depan dengan Rkode dan satu set data kecil membandingkan perkiraan yang diperoleh dengan kedua pendekatan saat menggunakan dua kelompok.

Mark Miller
sumber
10

Untuk apa nilainya, saya melakukan sedikit studi simulasi untuk melihat stabilitas estimasi varians untuk LMM yang relatif sederhana (menggunakan sleepstudydataset yang tersedia melalui lme4). Cara pertama menghasilkan semua kombinasi subjek yang memungkinkan untuk ngroupsjumlah subjek, dan memasang kembali model untuk setiap kombinasi yang memungkinkan. Yang kedua mengambil beberapa himpunan bagian subjek acak.

library(lme4)
library(ggplot2)
library(tidyr)

m0 <- lmer(Reaction ~ Days + (1|Subject), data = sleepstudy,
           control = lmerControl(optimizer = "nloptwrap"))
# set the number of factor levels
ngroups <- 3:18 
# generate all possible combinations
combos <- lapply(X = ngroups, 
                 FUN = function(x) combn(unique(sleepstudy$Subject), x)) 

# allocate output (sorry, this code is entirely un-optimized)
out <- list(matrix(NA, ncol(combos[[1]]), 1), matrix(NA, ncol(combos[[2]]), 1),
            matrix(NA, ncol(combos[[3]]), 1), matrix(NA, ncol(combos[[4]]), 1),
            matrix(NA, ncol(combos[[5]]), 1), matrix(NA, ncol(combos[[6]]), 1),
            matrix(NA, ncol(combos[[7]]), 1), matrix(NA, ncol(combos[[8]]), 1),
            matrix(NA, ncol(combos[[9]]), 1), matrix(NA, ncol(combos[[10]]), 1),
            matrix(NA, ncol(combos[[11]]), 1), matrix(NA, ncol(combos[[12]]), 1),
            matrix(NA, ncol(combos[[13]]), 1), matrix(NA, ncol(combos[[14]]), 1),
            matrix(NA, ncol(combos[[15]]), 1), matrix(NA, ncol(combos[[16]]), 1))
# took ~ 2.5 hrs on my laptop, commented out for safety
#system.time(for(ii in 1:length(combos)) {
#    for(jj in 1:ncol(combos[[ii]])) {
#    sls <- sleepstudy[sleepstudy$Subject %in% combos[[ii]][,jj],]
#    out[[ii]][jj] <- attr(VarCorr(update(m0, data = sls))$Subject, 'stddev')
#        }
#    })

# pad with zeros, not all were equal
# from http://stackoverflow.com/questions/11148429/r-convert-asymmetric-list-to-matrix-number-of-elements-in-each-sub-list-diffe
max.len <- max(sapply(out, length))
corrected.list <- lapply(out, function(x) {c(x, rep(NA, max.len - length(x)))})
mat <- do.call(rbind, corrected.list)
mat <- data.frame(t(mat))
names(mat) <- paste0('s',3:18)
mat <- gather(mat, run, value)

ggplot(mat, aes(x = value, fill = run)) + 
    geom_histogram(bins = 60) +
    geom_vline(xintercept = 37.12, linetype =  'longdash', 
               aes(colour = 'original')) +
    facet_wrap(~run, scales = 'free_y') +
    scale_x_continuous(breaks = seq(0, 100, by = 20)) + 
    theme_bw() + 
    guides(fill = FALSE)

Garis hitam putus-putus adalah estimasi titik awal varians, dan faset mewakili jumlah subjek yang berbeda ( s3menjadi kelompok yang terdiri dari tiga subjek, s4menjadi empat, dll.). masukkan deskripsi gambar di sini

Dan cara alternatif:

ngroups <- 3:18
reps <- 500
out2<- matrix(NA, length(ngroups), reps)

for (ii in 1:length(ngroups)) {
    for(j in 1:reps) {
        sls <- sleepstudy[sleepstudy$Subject %in% sample(unique(sleepstudy$Subject), ngroups[i], replace = FALSE),]
        out2[i,j] <- attr(VarCorr(update(m0, data = sls))$Subject, 'stddev')
    }
}
out2 <- data.frame(t(out2))
names(out2) <- paste0('s',3:18)
out2 <- gather(out2, run, value)

ggplot(out2, aes(x = value, fill = run)) + 
    geom_histogram(bins = 60) +
    geom_vline(xintercept = 37.12, linetype =  'longdash', 
               aes(colour = 'original')) +
    facet_wrap(~run, scales = 'free_y') +
    scale_x_continuous(breaks = seq(0, 100, by = 20)) + 
    theme_bw() + 
    guides(fill = FALSE)

masukkan deskripsi gambar di sini

Tampaknya (untuk contoh ini, bagaimanapun) bahwa varians tidak benar-benar stabil sampai setidaknya ada 14 subjek, jika tidak nanti.

alexforrence
sumber
1
+1. Tentu saja semakin kecil jumlah subjek, semakin besar varians dari penaksir varians. Tapi saya tidak berpikir ini yang penting di sini. Pertanyaannya adalah, berapa jumlah subjek yang memungkinkan untuk mendapatkan beberapa hasil yang masuk akal? Jika kita mendefinisikan hasil "tidak masuk akal" sebagai memperoleh nol varians, maka dalam simulasi Anda itu terjadi cukup sering dengan n = 5 atau kurang. Mulai dari n = 6 atau n = 7, Anda hampir tidak pernah mendapatkan estimasi varians 0 yang tepat, yaitu model konvergen ke solusi non-degenerasi. Kesimpulan saya adalah bahwa n = 6 dapat diterima batas.
Amoeba berkata Reinstate Monica
1
BTW ini sesuai dengan rpubs.com/bbolker/4187 .
Amoeba berkata Reinstate Monica
8

Angrist dan Pischke's "Mostly Harmless Econometrics" memiliki bagian berjudul, "Lebih sedikit dari 42 cluster", di mana mereka setengah bercanda mengatakan,

Oleh karena itu, mengikuti ... diktum bahwa jawaban untuk kehidupan, alam semesta dan semuanya adalah 42, kami percaya pertanyaannya adalah: Berapa banyak cluster yang cukup untuk kesimpulan yang andal menggunakan penyesuaian klaster standar [serupa dengan estimator varians di GEE]?

Cara yang digunakan instruktur ekonometrik saya untuk menjawab pertanyaan seperti Anda adalah, "Amerika adalah negara bebas, Anda dapat melakukan apa pun yang Anda suka. Tetapi jika Anda ingin makalah Anda diterbitkan, Anda harus dapat mempertahankan apa yang telah Anda lakukan. " Dengan kata lain, Anda kemungkinan akan dapat menjalankan kode R atau Stata atau HLM atau Mplus atau SAS PROC GLIMMIX dengan 6 subjek (dan beralih ke paket alternatif ini jika salah satu pilihan Anda tidak menjalankan ini), tetapi Anda kemungkinan akan memiliki waktu yang sangat sulit mempertahankan pendekatan ini dan membenarkan tes asimptotik.

Saya percaya bahwa secara default, termasuk variabel sebagai kemiringan acak menyiratkan termasuk sebagai efek tetap, juga, dan Anda perlu melompati banyak simpai sintaks jika Anda hanya ingin memiliki ini sebagai efek acak dengan rata-rata nol. Itu pilihan yang masuk akal yang telah dibuat pengembang perangkat lunak untuk Anda.

Tugas
sumber
1
Saya mengambil poin Anda bahwa jawaban untuk pertanyaan itu, sampai batas tertentu, "berapa lama seutas tali". Tapi, saya tidak akan terlalu percaya diri dalam memperkirakan rata-rata atau varians dari sampel kurang dari 15-20, jadi aturan praktis yang sama tidak berlaku untuk tingkat efek acak. Saya belum pernah melihat orang memasukkan ID subjek sebagai efek tetap dan acak dalam studi longitudinal - apakah ini praktik umum?
Chris
Di atas sejumlah kecil subjek dalam model campuran, efek acaknya tidak teramati, jadi Anda harus mengusir mereka dari data, dan Anda mungkin perlu lebih banyak data untuk melakukan itu dengan andal daripada hanya memperkirakan rata-rata dan varians ketika semuanya diamati. Jadi 42 vs 15-20 :). Saya pikir saya maksudkan lereng acak, karena Anda benar dalam ID subjek yang hanya menganggap sebagai efek acak, jika tidak, mereka tidak akan diidentifikasi. Ngomong-ngomong, ekonom tidak percaya pada efek acak, dan menerbitkan hampir secara eksklusif apa yang mereka sebut "efek tetap", yaitu perkiraan dalam-subjek.
Tugas
2
+1 @StasK untuk jawaban yang sangat bagus untuk pertanyaan yang sangat sulit untuk ditangani. Saya pikir ada sedikit sarkasme yang tidak perlu dan Anda mungkin mempertimbangkan untuk mengedit jawaban Anda sehingga menjadi sedikit lebih menghormati OP.
Michael R. Chernick
@Michael, Anda mungkin benar bahwa ini adalah jawaban yang murung, dan sepertinya tidak perlu. OP menerima jawaban yang ingin mereka dengar, jadi dia mendapat resolusi tentang ini. Jawaban yang lebih serius akan mengarah pada bukti simulasi yang baik atau analisis asimptotik tingkat tinggi, tetapi sayangnya saya tidak mengetahui referensi tersebut.
Tugas
3
Untuk apa nilainya, saya pikir angka ajaib "42" bukan tentang ketika efek acak dibenarkan, tetapi ketika seseorang dapat pergi tanpa khawatir tentang koreksi ukuran terbatas (misalnya berpikir tentang derajat kebebasan penyebutan yang efektif / koreksi Kenward-Roger / pendekatan serupa lainnya).
Ben Bolker
7

Anda juga dapat menggunakan model campuran Bayesian - dalam hal ini ketidakpastian dalam estimasi efek acak sepenuhnya diurus dalam perhitungan interval kredibilitas prediksi 95%. Paket brmsdan fungsi R yang baru brm, misalnya, memungkinkan transisi yang sangat mudah dari lme4model campuran frequentist ke model Bayesian, karena memiliki hampir sintaksis yang identik.

Tom Wenseleers
sumber
4

Saya tidak akan menggunakan model efek acak dengan hanya 6 level. Model yang menggunakan efek acak 6 tingkat kadang-kadang dapat dijalankan menggunakan banyak program statistik dan terkadang memberikan perkiraan yang tidak bias, tetapi:

  1. Saya pikir ada konsensus sewenang-wenang dalam komunitas statistik bahwa 10-20 adalah angka minimum. Jika Anda ingin penelitian Anda dipublikasikan, Anda akan disarankan untuk mencari jurnal tanpa tinjauan statistik (atau dapat membenarkan keputusan Anda menggunakan bahasa yang cukup canggih).
  2. Dengan jumlah cluster yang sangat sedikit, varians antar cluster cenderung diperkirakan buruk. Estimasi yang buruk antara varians cluster biasanya diterjemahkan ke dalam estimasi miskin kesalahan standar dari koefisien minat. (Efek acak model bergantung pada jumlah cluster yang secara teori akan mencapai tak terbatas).
  3. Seringkali model tidak konvergen. Sudahkah Anda mencoba menjalankan model Anda? Saya akan terkejut dengan hanya 12-16 langkah per subjek bahwa model bertemu. Ketika saya sudah berhasil mendapatkan model semacam ini untuk konvergen, saya sudah memiliki ratusan pengukuran per cluster.

Masalah ini dibahas di sebagian besar buku teks standar di lapangan dan Anda telah mengatasinya dalam pertanyaan Anda. Saya tidak berpikir saya memberi Anda informasi baru.

charles
sumber
Apakah ini down karena alasan terkait konten teknisnya?
N Brouwer
Jenis data apa yang Anda kerjakan? Saya tidak yakin mengapa Anda terkejut mendengar bahwa model akan menyatu dengan 12-16 ukuran per individu. Saya tidak dapat mengomentari bias dalam model yang dihasilkan, tetapi saya tidak pernah memiliki masalah dengan konvergensi dalam lme4model campuran dan saya sering menjalankannya pada ukuran sampel yang sama seperti OP (Saya juga bekerja dengan dataset biologi).
RTbecard
1

Sudah lama sejak pertanyaan awal tapi saya pikir saya mungkin menambahkan beberapa poin yang berkaitan dengan pemilihan model.

1 - Selama model teridentifikasi (yaitu Anda memiliki derajat kebebasan dalam ruang parameter), Anda harus dapat MENCOBA agar sesuai dengan model. Bergantung pada model metode pengoptimalan mungkin atau tidak mungkin konvergen. Bagaimanapun saya tidak akan mencoba memasukkan lebih dari 1 atau 2 efek acak dan jelas tidak lebih dari 1 interaksi lintas level. Dalam kasus khusus masalah yang disajikan di sini jika kami mencurigai adanya interaksi antara karakteristik spesifik kadal (misalnya usia, ukuran, dll.) Dan karakteristik perlakuan / pengukuran, ukuran grup 6 mungkin tidak cukup untuk membuat perkiraan yang cukup akurat.

2 - Seperti disebutkan beberapa jawaban, konvergensi mungkin menjadi masalah. Namun pengalaman saya adalah bahwa sementara data ilmu sosial memiliki masalah konvergensi besar karena masalah pengukuran, ilmu kehidupan dan terutama tindakan berulang biokimia memiliki kesalahan standar yang jauh lebih kecil. Itu semua tergantung pada proses menghasilkan data. Dalam data sosial dan ekonomi kita harus bekerja di berbagai tingkatan abstraksi. Dalam kesalahan pengukuran data biologis dan kimia dan yang paling pasti adalah kurang dari masalah.

m_e_s
sumber