Saya memiliki percobaan tindakan berulang di mana variabel dependen adalah persentase, dan saya memiliki beberapa faktor sebagai variabel independen. Saya ingin menggunakan glmer
dari paket R lme4
untuk memperlakukannya sebagai masalah regresi logistik (dengan menentukan family=binomial
) karena tampaknya mengakomodasi pengaturan ini secara langsung.
Data saya terlihat seperti ini:
> head(data.xvsy)
foldnum featureset noisered pooldur dpoolmode auc
1 0 mfcc-ms nr0 1 mean 0.6760438
2 1 mfcc-ms nr0 1 mean 0.6739482
3 0 melspec-maxp nr075 1 max 0.8141421
4 1 melspec-maxp nr075 1 max 0.7822994
5 0 chrmpeak-tpor1d nr075 1 max 0.6547476
6 1 chrmpeak-tpor1d nr075 1 max 0.6699825
dan inilah perintah R yang saya harapkan akan sesuai:
glmer(auc~1+featureset*noisered*pooldur*dpoolmode+(1|foldnum), data.xvsy, family=binomial)
Masalah dengan ini adalah bahwa perintah mengeluh tentang variabel dependen saya tidak menjadi bilangan bulat:
In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
dan analisis data (pilot) ini memberikan jawaban yang aneh sebagai hasilnya.
Saya mengerti mengapa binomial
keluarga mengharapkan bilangan bulat (jumlah ya-tidak), tetapi tampaknya tidak masalah untuk mengembalikan data persentase secara langsung. Bagaimana cara melakukannya?
Jawaban:
Untuk menggunakan vektor proporsi sebagai variabel respons
glmer(., family = binomial)
, Anda perlu mengatur jumlah percobaan yang menyebabkan masing-masing proporsi menggunakanweights
argumen. Misalnya, menggunakancbpp
data darilme4
paket:Jika Anda tidak tahu jumlah total percobaan, maka model binomial tidak sesuai, seperti yang ditunjukkan dalam pesan kesalahan.
sumber
cbpp
halaman bantuan.sumber