Cara mengekstrak / menghitung leverage dan jarak Cook untuk model efek campuran linier

10

Adakah yang tahu cara menghitung (atau mengekstrak) leverage dan jarak Cook untuk merobjek kelas (diperoleh melalui lme4paket)? Saya ingin merencanakan ini untuk analisis residu.

Roey Angel
sumber

Jawaban:

13

Anda harus melihat pada paket R influence.ME. Ini memungkinkan Anda untuk menghitung ukuran data yang berpengaruh untuk model efek campuran yang dihasilkan oleh lme4.

Contoh model:

library(lme4)
model <- lmer(mpg ~ disp + (1 | cyl), mtcars)

Fungsi influenceadalah dasar untuk semua langkah selanjutnya:

library(influence.ME)
infl <- influence(model, obs = TRUE)

Hitung jarak Cook:

cooks.distance(infl)

Jarak plot Cook:

plot(infl, which = "cook")

masukkan deskripsi gambar di sini

Sven Hohenstein
sumber
Terima kasih! Ini tentu saja membantu. Bagaimana dengan menghitung leverage untuk plot Cook vs distance?
Roey Angel
@RoeyAngel Saya kira ini tidak mungkin dengan influence.MEpaket. Sayangnya, saya tidak punya solusi untuk tugas ini.
Sven Hohenstein
Bukankah seharusnya begitu infl <- influence(model, group = "cyl"), karena Anda menetapkan efek acak (1|cyl)? Saya tidak tahu, saya tidak mengerti sama sekali, saya baru saja menginstal pengaruh ... tapi saya tidak benar-benar tahu kapan harus menggunakan obs = TRUEdan kapan harus menggunakan group...
Curious
Saya ingin menambahkan yang berikut: Jika Anda ingin mendapatkan nomor baris yang terjadi jarak D Cook's - nomor yang sama terjadi dalam plot tanpa plot, maka Anda dapat menggunakan rumus r berikut tentang nomor D jarak Cooks dengan potongan nilai off misalnya 0,1cooksD_data<-as.data.frame(cooks.distance(ft1)) cooksD_data_select<-cooksd[cooksD_data>0.1,drop=FALSE,] cooksD_oultiers<-as.numeric(rownames(cooksD_data_select))]
Elias Estatistik
Apakah ini lebih baik daripada hatvalues()fungsi yang direkomendasikan di sini ?
Penasaran