कार्यकारी सारांश
यह वास्तव में अक्सर कहा जाता है कि यदि सभी संभव कारक स्तरों को एक मिश्रित मॉडल में शामिल किया जाता है, तो इस कारक को एक निश्चित प्रभाव के रूप में माना जाना चाहिए। यह आवश्यक नहीं है कि डस्टिनिट रिपोर्ट के लिए यह सच हो:
(1) स्तरों की संख्या बड़ी है, तो यह कर सकते हैं मतलब यादृच्छिक रूप में [पार] कारक के इलाज के लिए।
मैं यहां @Tim और @RobertLong दोनों से सहमत हूं: यदि किसी कारक के पास बड़ी संख्या में स्तर हैं जो सभी मॉडल में शामिल हैं (जैसे कि दुनिया के सभी देश; या एक देश में सभी स्कूल; या शायद पूरी आबादी; विषयों का सर्वेक्षण किया जाता है, आदि), फिर इसे यादृच्छिक मानने में कुछ भी गलत नहीं है --- यह और अधिक प्रशंसनीय हो सकता है, कुछ संकोचन प्रदान कर सकता है, आदि।
lmer(size ~ age + subjectID) # fixed effect
lmer(size ~ age + (1|subjectID)) # random effect
(2) यदि कारक को किसी अन्य यादृच्छिक प्रभाव के भीतर निहित किया जाता है, तो उसे अपने स्तरों की संख्या से स्वतंत्र, यादृच्छिक माना जाना चाहिए।
इस थ्रेड में एक बहुत बड़ा भ्रम था (टिप्पणियों को देखें) क्योंकि अन्य उत्तर केस # 1 के बारे में हैं, लेकिन आपने जो उदाहरण दिया है वह एक अलग स्थिति का उदाहरण है, अर्थात यह केस # 2। यहां केवल दो स्तर हैं (अर्थात "सभी बड़ी संख्या में नहीं!" और वे सभी संभावनाओं को समाप्त करते हैं, लेकिन वे एक और यादृच्छिक प्रभाव के अंदर निहित होते हैं , एक नेस्टेड यादृच्छिक प्रभाव उत्पन्न करते हैं।
lmer(size ~ age + (1|subject) + (1|subject:side) # side HAS to be random
आपके उदाहरण की विस्तृत चर्चा
आपके काल्पनिक प्रयोग में पक्ष और विषय मानक श्रेणीबद्ध मॉडल उदाहरण में कक्षाओं और स्कूलों से संबंधित हैं। शायद प्रत्येक स्कूल (# 1, # 2, # 3, आदि) में कक्षा ए और वर्ग बी है, और इन दो वर्गों को लगभग समान माना जाता है। आप ए और बी को दो स्तरों के साथ एक निश्चित प्रभाव के रूप में मॉडल नहीं करेंगे; यह एक गलती होगी। लेकिन आप ए और बी को दो अलग-अलग स्तरों के साथ "अलग" (यानी पार नहीं किया गया) यादृच्छिक प्रभाव के रूप में मॉडल नहीं करेंगे; यह भी एक गलती होगी। इसके बजाय, आप स्कूलों के अंदर एक नेस्टेड यादृच्छिक प्रभाव के रूप में कक्षाओं को मॉडल करेंगे ।
यहाँ देखें: क्रूस बनाम नेस्टेड रैंडम इफेक्ट्स: वे कैसे भिन्न होते हैं और कैसे उन्हें lme4 में सही ढंग से निर्दिष्ट किया जाता है?
i=1…nj=1,2
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),Error term
जैसा कि आपने खुद लिखा है, "यह मानने का कोई कारण नहीं है कि दाएं पैर औसतन बाएं पैर से बड़े होंगे"। तो दाएं या बाएं पैर का कोई "वैश्विक" प्रभाव (न तो निश्चित और न ही यादृच्छिक पार) होना चाहिए; इसके बजाय, प्रत्येक विषय को "एक" पैर और "एक और" पैर होने के बारे में सोचा जा सकता है, और इस परिवर्तनशीलता को हमें मॉडल में शामिल करना चाहिए। इन "एक" और "एक और" पैरों को विषयों के भीतर घोंसला किया जाता है, इसलिए यादृच्छिक प्रभावों को नेस्टेड किया जाता है।
टिप्पणियों के जवाब में अधिक जानकारी। [26 सितंबर]
ऊपर दिए गए मेरे मॉडल में साइड को सब्जेक्ट्स में नेस्टेड रैंडम इफेक्ट के रूप में शामिल किया गया है। यहां @Robert द्वारा सुझाया गया एक वैकल्पिक मॉडल है, जहां साइड एक निश्चित प्रभाव है:
Sizeijk=μ+α⋅Heightijk+β⋅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.