(यह काफी लंबा जवाब है, अंत में एक सारांश है)
आप इस बात की समझ में गलत नहीं हैं कि आपके द्वारा वर्णित परिदृश्य में क्या नेस्टेड और क्रॉस किए गए यादृच्छिक प्रभाव हैं। हालाँकि, बेतरतीब बेतरतीब प्रभावों की आपकी परिभाषा थोड़ी संकीर्ण है। पार किए गए यादृच्छिक प्रभावों की एक अधिक सामान्य परिभाषा बस है: नेस्टेड नहीं । हम इस उत्तर के अंत में इसे देखेंगे, लेकिन उत्तर का थोक आपके द्वारा प्रस्तुत परिदृश्य पर ध्यान केंद्रित करेगा, स्कूलों के भीतर कक्षाओं का।
पहले ध्यान दें:
नेस्टिंग डेटा की एक संपत्ति है, या प्रयोगात्मक डिजाइन, मॉडल नहीं है।
इसके अलावा,
नेस्टेड डेटा को कम से कम 2 अलग-अलग तरीकों से एन्कोड किया जा सकता है, और यह आपके द्वारा पाए गए मुद्दे के दिल में है।
आपके उदाहरण में डेटासेट बड़ा है, इसलिए मैं मुद्दों को समझाने के लिए इंटरनेट से दूसरे स्कूलों के उदाहरण का उपयोग करूंगा। लेकिन पहले, निम्नलिखित सरलीकृत उदाहरण पर विचार करें:
यहां हमारे पास स्कूलों में कक्षाएं हैं, जो एक परिचित परिदृश्य है। यहां महत्वपूर्ण बिंदु यह है कि, प्रत्येक स्कूल के बीच, कक्षाओं में समान पहचानकर्ता होता है, भले ही वे नेस्टेड हों, तो वे अलग-अलग होते हैं । Class1
में प्रकट होता है School1
, School2
और School3
। हालांकि डेटा तो नेस्ट कर रहे हैं Class1
में School1
है नहीं के रूप में माप की एक ही इकाई Class1
में School2
और School3
। यदि वे समान होते, तो हमारी यह स्थिति होती:
जिसका अर्थ है कि प्रत्येक कक्षा प्रत्येक विद्यालय की है। पूर्व एक नेस्टेड डिज़ाइन है, और बाद वाला एक पार किया हुआ डिज़ाइन है (कुछ इसे कई सदस्यता भी कह सकते हैं), और हम इनका lme4
उपयोग करने के लिए तैयार करेंगे :
(1|School/Class)
या समकक्ष (1|School) + (1|Class:School)
तथा
(1|School) + (1|Class)
क्रमशः। यादृच्छिक प्रभाव के घोंसले के शिकार या क्रॉसिंग की अस्पष्टता के कारण, मॉडल को सही ढंग से निर्दिष्ट करना बहुत महत्वपूर्ण है क्योंकि ये मॉडल अलग-अलग परिणाम उत्पन्न करेंगे, जैसा कि हम नीचे दिखाएंगे। इसके अलावा, यह जानना संभव नहीं है, सिर्फ डेटा का निरीक्षण करके, चाहे हमने नेस्टेड किया हो या यादृच्छिक प्रभाव पार किया हो। यह केवल डेटा के ज्ञान के साथ निर्धारित किया जा सकता है और प्रयोगात्मक डिजाइन के ।
लेकिन पहले हम एक ऐसे मामले पर विचार करें जहां कक्षा चर को स्कूलों में विशिष्ट रूप से कोडित किया गया है:
घोंसले के शिकार या क्रॉसिंग के बारे में कोई अस्पष्टता नहीं है। घोंसला स्पष्ट है। आइए अब इसे R में एक उदाहरण के साथ देखते हैं, जहां हमारे पास 6 स्कूल (लेबल I
- VI
) और प्रत्येक स्कूल के भीतर 4 कक्षाएं हैं (लेबल किए गए हैंa
लिए d
):
> dt <- read.table("http://bayes.acs.unt.edu:8083/BayesContent/class/Jon/R_SC/Module9/lmm.data.txt",
header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
> # data was previously publicly available from
> # http://researchsupport.unt.edu/class/Jon/R_SC/Module9/lmm.data.txt
> # but the link is now broken
> xtabs(~ school + class, dt)
class
school a b c d
I 50 50 50 50
II 50 50 50 50
III 50 50 50 50
IV 50 50 50 50
V 50 50 50 50
VI 50 50 50 50
हम इस क्रॉस टेबुलेशन से देख सकते हैं कि प्रत्येक स्कूल में प्रत्येक कक्षा की आईडी दिखाई देती है, जो कि पार किए गए यादृच्छिक प्रभावों की आपकी परिभाषा को संतुष्ट करती है (इस मामले में हमने पूरी तरह से , आंशिक रूप से पार किए गए यादृच्छिक प्रभावों के विपरीत , क्योंकि प्रत्येक स्कूल में प्रत्येक कक्षा होती है)। तो यह वही स्थिति है जो हमने ऊपर पहले आंकड़े में बताई थी। हालांकि, यदि डेटा वास्तव में नेस्टेड हैं और पार नहीं हुआ है, तो हमें स्पष्ट रूप से बताने की आवश्यकता हैlme4
:
> m0 <- lmer(extro ~ open + agree + social + (1 | school/class), data = dt)
> summary(m0)
Random effects:
Groups Name Variance Std.Dev.
class:school (Intercept) 8.2043 2.8643
school (Intercept) 93.8421 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: class:school, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117909 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
> m1 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |class), data = dt)
summary(m1)
Random effects:
Groups Name Variance Std.Dev.
school (Intercept) 95.887 9.792
class (Intercept) 5.790 2.406
Residual 2.787 1.669
Number of obs: 1200, groups: school, 6; class, 4
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.198841 4.212974 14.289
open 0.010834 0.008349 1.298
agree -0.005420 0.009605 -0.564
social -0.001762 0.003107 -0.567
जैसी कि उम्मीद थी, परिणाम भिन्न हैं m0
एक नेस्टेड मॉडल है जबकि m1
एक पार किया हुआ मॉडल है।
अब, यदि हम कक्षा पहचानकर्ता के लिए एक नया चर पेश करते हैं:
> dt$classID <- paste(dt$school, dt$class, sep=".")
> xtabs(~ school + classID, dt)
classID
school I.a I.b I.c I.d II.a II.b II.c II.d III.a III.b III.c III.d IV.a IV.b
I 50 50 50 50 0 0 0 0 0 0 0 0 0 0
II 0 0 0 0 50 50 50 50 0 0 0 0 0 0
III 0 0 0 0 0 0 0 0 50 50 50 50 0 0
IV 0 0 0 0 0 0 0 0 0 0 0 0 50 50
V 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VI 0 0 0 0 0 0 0 0 0 0 0 0 0 0
classID
school IV.c IV.d V.a V.b V.c V.d VI.a VI.b VI.c VI.d
I 0 0 0 0 0 0 0 0 0 0
II 0 0 0 0 0 0 0 0 0 0
III 0 0 0 0 0 0 0 0 0 0
IV 50 50 0 0 0 0 0 0 0 0
V 0 0 50 50 50 50 0 0 0 0
VI 0 0 0 0 0 0 50 50 50 50
क्रॉस टेबुलेशन से पता चलता है कि कक्षा का प्रत्येक स्तर स्कूल के केवल एक स्तर में होता है, जैसे कि घोंसले के शिकार की परिभाषा के अनुसार। आपके डेटा के मामले में भी यही है, हालांकि यह दिखाना मुश्किल है कि आपके डेटा के साथ क्योंकि यह बहुत विरल है। दोनों मॉडल फॉर्मूलेशन अब एक ही आउटपुट ( m0
उपरोक्त नेस्टेड मॉडल ) का उत्पादन करेंगे :
> m2 <- lmer(extro ~ open + agree + social + (1 | school/classID), data = dt)
> summary(m2)
Random effects:
Groups Name Variance Std.Dev.
classID:school (Intercept) 8.2043 2.8643
school (Intercept) 93.8419 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: classID:school, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117882 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
> m3 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |classID), data = dt)
> summary(m3)
Random effects:
Groups Name Variance Std.Dev.
classID (Intercept) 8.2043 2.8643
school (Intercept) 93.8419 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: classID, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117882 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
यह ध्यान देने योग्य है कि पार किए गए यादृच्छिक प्रभावों को एक ही कारक के भीतर होने की आवश्यकता नहीं है - ऊपर में क्रॉसिंग पूरी तरह से स्कूल के भीतर था। हालांकि, यह मामला नहीं है, और बहुत बार ऐसा नहीं होता है। उदाहरण के लिए, एक स्कूल के परिदृश्य के साथ चिपके हुए, अगर स्कूलों के भीतर कक्षाओं के बजाय हमारे स्कूलों में छात्र हैं, और हम डॉक्टरों में भी रुचि रखते हैं कि विद्यार्थियों के साथ पंजीकृत थे, तो हमारे पास डॉक्टरों के भीतर विद्यार्थियों के घोंसले के शिकार भी होंगे। डॉक्टरों के भीतर स्कूलों के घोंसले का शिकार नहीं है, या इसके विपरीत, इसलिए यह भी यादृच्छिक प्रभावों का एक उदाहरण है, और हम कहते हैं कि स्कूलों और डॉक्टरों को पार किया जाता है। एक समान परिदृश्य जहां यादृच्छिक प्रभावों को पार किया जाता है, जब व्यक्तिगत टिप्पणियों को एक साथ दो कारकों में निहित किया जाता है, जो आमतौर पर तथाकथित दोहराया उपायों के साथ होता हैविषय वस्तु डेटा। आमतौर पर प्रत्येक विषय को विभिन्न मदों के साथ / पर कई बार मापा / परीक्षण किया जाता है और इन समान वस्तुओं को विभिन्न विषयों द्वारा मापा / परीक्षण किया जाता है। इस प्रकार, टिप्पणियों को विषयों के भीतर और वस्तुओं के भीतर क्लस्टर किया जाता है , लेकिन आइटम विषयों या इसके विपरीत में निहित नहीं होते हैं। फिर, हम कहते हैं कि विषयों और वस्तुओं को पार किया जाता है ।
सारांश: टीएल; डीआर
पार किए गए और नेस्टेड यादृच्छिक प्रभावों के बीच का अंतर यह है कि नेस्टेड यादृच्छिक प्रभाव तब होते हैं जब एक कारक (समूह चर) किसी अन्य कारक (समूह चर) के एक विशेष स्तर के भीतर ही प्रकट होता है। इसके lme4
साथ निर्दिष्ट किया गया है:
(1|group1/group2)
जहां group2
भीतर नीडिंत है group1
।
क्रमित यादृच्छिक प्रभाव बस हैं: नेस्टेड नहीं । यह तीन या अधिक समूहीकरण चर (कारकों) के साथ हो सकता है, जहां एक कारक को अलग-अलग दोनों में अलग-अलग नामांकित किया जाता है, या दो या दो से अधिक कारकों के साथ जहां अलग-अलग टिप्पणियों को दो कारकों के भीतर अलग-अलग नामांकित किया जाता है। इनमें निर्दिष्ट हैं lme4
:
(1|group1) + (1|group2)