Saya menggunakan lme4
paket dalam R untuk melakukan beberapa pemodelan efek campuran logistik.
Pemahaman saya adalah bahwa jumlah setiap efek acak harus nol.
Ketika saya membuat mainan model linier campuran menggunakan lmer
, efek acak biasanya <mengkonfirmasikan keyakinan saya bahwa colSums(ranef(model)$groups) ~ 0
But in toy model binomial (dan dalam model data binomial saya yang sebenarnya) beberapa jumlah efek acak berjumlah ~ 0,9.
Haruskah saya khawatir? Bagaimana saya menafsirkan ini?
Berikut adalah contoh mainan linier
toylin<-function(n=30,gn=10,doplot=FALSE){
require(lme4)
x=runif(n,0,1000)
y1=matrix(0,gn,n)
y2=y1
for (gx in 1:gn)
{
y1[gx,]=2*x*(1+(gx-5.5)/10) + gx-5.5 + rnorm(n,sd=10)
y2[gx,]=3*x*(1+(gx-5.5)/10) * runif(1,1,10) + rnorm(n,sd=20)
}
c1=y1*0;
c2=y2*0+1;
y=c(t(y1[c(1:gn),]),t(y2[c(1:gn),]))
g=rep(1:gn,each=n,times=2)
x=rep(x,times=gn*2)
c=c(c1,c2)
df=data.frame(list(x=x,y=y,c=factor(c),g=factor(g)))
(m=lmer(y~x*c + (x*c|g),data=df))
if (doplot==TRUE)
{require(lattice)
df$fit=fitted(m)
plot1=xyplot(fit ~ x|g,data=df,group=c,pch=19,cex=.1)
plot2=xyplot(y ~ x|g,data=df,group=c)
print(plot1+plot2)
}
print(colMeans(ranef(m)$g))
m
}
Dalam hal ini colMeans selalu keluar
Ini adalah contoh mainan binomial (saya akan membagikan data aktual saya, tetapi sedang dikirim untuk publikasi dan saya tidak yakin apa kebijakan jurnal yang diposkan sebelumnya):
toybin<-function(n=100,gn=4,doplot=FALSE){
require(lme4)
x=runif(n,-16,16)
y1=matrix(0,gn,n)
y2=y1
for (gx in 1:gn)
{ com=runif(1,1,5)
ucom=runif(1,1,5)
y1[gx,]=tanh(x/(com+ucom) + rnorm(1)) > runif(x,-1,1)
y2[gx,]=tanh(2*(x+2)/com + rnorm(1)) > runif(x,-1,1)
}
c1=y1*0;
c2=y2*0+1;
y=c(t(y1[c(1:gn),]),t(y2[c(1:gn),]))
g=rep(1:gn,each=n,times=2)
x=rep(x,times=gn*2)
c=c(c1,c2)
df=data.frame(list(x=x,y=y,c=factor(c),g=factor(g)))
(m=lmer(y~x*c + (x*c|g),data=df,family=binomial))
if (doplot==TRUE)
{require(lattice)
df$fit=fitted(m)
print(xyplot(fit ~ x|g,data=df,group=c,pch=19,cex=.1))
}
print(colMeans(ranef(m)$g))
m
}
Sekarang colMeans kadang-kadang keluar di atas 0,3, dan jelas lebih tinggi, rata-rata daripada contoh linier.
sumber
Jawaban:
Karena kode @ Hemmo sedikit rusak di kotak "Bounty", saya menambahkan versi yang diformat ulang ini sebagai "komunitas wiki". Jika ini bukan penggunaan yang tepat dari wiki, saya minta maaf sebelumnya. Jangan ragu untuk menghapusnya.
sumber