Ringkasan bisnis plan
Memang sering dikatakan bahwa jika semua tingkat faktor yang memungkinkan dimasukkan dalam model campuran, maka faktor ini harus diperlakukan sebagai efek tetap. Ini belum tentu benar UNTUK DUA ALASAN YANG BERBEDA:
(1) Jika jumlah tingkat besar, maka dapat masuk akal untuk mengobati [menyeberang] faktor acak.
Saya setuju dengan @Tim dan @RobertLong di sini: jika suatu faktor memiliki sejumlah besar level yang semuanya termasuk dalam model (seperti misalnya semua negara di dunia; atau semua sekolah di suatu negara; atau mungkin seluruh populasi subyek disurvei, dll.), maka tidak ada yang salah dengan memperlakukannya secara acak --- ini bisa lebih pelit, bisa memberikan penyusutan, dll.
lmer(size ~ age + subjectID) # fixed effect
lmer(size ~ age + (1|subjectID)) # random effect
(2) Jika faktor tersebut bersarang dalam efek acak lain, maka harus diperlakukan secara acak, terlepas dari jumlah levelnya.
Ada kebingungan besar di utas ini (lihat komentar) karena jawaban lain adalah tentang kasus # 1 di atas, tetapi contoh yang Anda berikan adalah contoh dari perbedaan situasi yang , yaitu kasus ini # 2. Di sini hanya ada dua tingkat (yaitu sama sekali tidak "jumlah besar"!) Dan mereka menghabiskan semua kemungkinan, tetapi mereka bersarang di dalam efek acak lain , menghasilkan efek acak bersarang.
lmer(size ~ age + (1|subject) + (1|subject:side) # side HAS to be random
Diskusi terperinci tentang contoh Anda
Sisi dan subjek dalam eksperimen imajiner Anda terkait seperti kelas dan sekolah dalam contoh model hierarkis standar. Mungkin setiap sekolah (# 1, # 2, # 3, dll.) Memiliki kelas A dan kelas B, dan kedua kelas ini kira-kira sama. Anda tidak akan memodelkan kelas A dan B sebagai efek tetap dengan dua level; Ini akan menjadi sebuah kesalahan. Tetapi Anda tidak akan memodelkan kelas A dan B sebagai efek acak "terpisah" (mis. Bersilangan) dengan dua level; ini juga akan menjadi kesalahan. Sebagai gantinya, Anda akan memodelkan kelas sebagai efek acak bersarang di dalam sekolah.
Lihat disini: Crossed vs nested random effects: bagaimana perbedaannya dan bagaimana mereka ditentukan dengan benar di lme4?
i=1…nj=1,2 kita akan memiliki:
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+ϵi+ϵij+ϵijk
ϵi∼N(0,σ2subjects),Random intercept for each subject
ϵij∼N(0,σ2subject-side),Random int. for side nested in subject
ϵijk∼N( 0,σ2noise),Istilah kesalahan
Seperti yang Anda tulis sendiri, "tidak ada alasan untuk percaya bahwa kaki kanan rata-rata akan lebih besar dari kaki kiri". Jadi seharusnya tidak ada efek "global" (baik yang tetap maupun yang acak) dari kaki kanan atau kiri sama sekali; sebaliknya, setiap subjek dapat dianggap memiliki kaki "satu" dan kaki "lain", dan variabilitas ini harus kita masukkan ke dalam model. Kaki "satu" dan "yang lain" ini bersarang di dalam subjek, karenanya memiliki efek acak bersarang.
Lebih detail dalam menanggapi komentar. [26 Sep]
Model saya di atas termasuk Sisi sebagai efek acak bersarang dalam Subjek. Berikut adalah model alternatif, disarankan oleh @Robert, di mana Side adalah efek tetap:
Ukurani j k= μ + α ⋅ Tinggii j k+ β⋅Weightijk+γ⋅Ageijk+δ⋅Sidej+ϵi+ϵijk
I challenge @RobertLong or @gung to explain how this model can take care of the dependencies existing for consecutive measurements of the same Side of the same Subject, i.e. of the dependencies for data points with the same ij combination.
It cannot.
The same is true for @gung's hypothetical model with Side as a crossed random effect:
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+ϵi+ϵj+ϵijk
It fails to account for dependencies as well.
Demonstration via a simulation [Oct 2]
Here is a direct demonstration in R.
I generate a toy dataset with five subjects measured on both feet for five consecutive years. The effect of age is linear. Each subject has a random intercept. And each subject has one of the feet (either the left or the right) larger than another one.
set.seed(17)
demo = data.frame(expand.grid(age = 1:5,
side=c("Left", "Right"),
subject=c("Subject A", "Subject B", "Subject C", "Subject D", "Subject E")))
demo$size = 10 + demo$age + rnorm(nrow(demo))/3
for (s in unique(demo$subject)){
# adding a random intercept for each subject
demo[demo$subject==s,]$size = demo[demo$subject==s,]$size + rnorm(1)*10
# making the two feet of each subject different
for (l in unique(demo$side)){
demo[demo$subject==s & demo$side==l,]$size = demo[demo$subject==s & demo$side==l,]$size + rnorm(1)*7
}
}
plot(1:50, demo$size)
Apologies for my awful R skills. Here is how the data look like (each consecutive five dots is one feet of one person measured over the years; each consecutive ten dots are two feet of the same person):
Now we can fit a bunch of models:
require(lme4)
summary(lmer(size ~ age + side + (1|subject), demo))
summary(lmer(size ~ age + (1|side) + (1|subject), demo))
summary(lmer(size ~ age + (1|subject/side), demo))
All models include a fixed effect of age
and a random effect of subject
, but treat side
differently.
Model 1: fixed effect of side
. This is @Robert's model. Result: age
comes out not significant (t=1.8), residual variance is huge (29.81).
Model 2: crossed random effect of side
. This is @gung's "hypothetical" model from OP. Result: age
comes out not significant (t=1.4), residual variance is huge (29.81).
Model 3: nested random effect of side
. This is my model. Result: age
is very significant (t=37, yes, thirty-seven), residual variance is tiny (0.07).
This clearly shows that side
should be treated as a nested random effect.
Finally, in the comments @Robert suggested to include the global effect of side
as a control variable. We can do it, while keeping the nested random effect:
summary(lmer(size ~ age + side + (1|subject/side), demo))
summary(lmer(size ~ age + (1|side) + (1|subject/side), demo))
These two models do not differe much from #3. Model 4 yields a tiny and insignificant fixed effect of side
(t=0.5). Model 5 yields an estimate of side
variance equal to exactly zero.