क्रॉस्ड बनाम नेस्टेड रैंडम इफेक्ट्स: वे कैसे भिन्न होते हैं और कैसे उन्हें lme4 में सही ढंग से निर्दिष्ट किया जाता है?


88

यहां बताया गया है कि मैंने कैसे नेस्टेड बनाम पार किए गए यादृच्छिक प्रभावों को समझा है:

नेस्टेड यादृच्छिक प्रभाव तब होता है जब एक निचले स्तर का कारक केवल ऊपरी स्तर के एक विशेष स्तर के भीतर दिखाई देता है।

  • उदाहरण के लिए, समय में एक निश्चित बिंदु पर कक्षाओं के भीतर के छात्र।
  • में lme4मैंने सोचा था कि हम दो बराबर किसी एक तरीके से नेस्टेड डेटा के लिए यादृच्छिक प्रभाव प्रतिनिधित्व करते हैं:

    (1|class/pupil)  # or  
    (1|class) + (1|class:pupil)

क्रॉस किए गए यादृच्छिक प्रभावों का अर्थ है कि एक दिया गया कारक ऊपरी स्तर के एक से अधिक स्तरों में दिखाई देता है।

  • उदाहरण के लिए, कई वर्षों में मापी जाने वाली कक्षाओं में छात्र होते हैं।
  • में lme4, हम लिखेंगे:

    (1|class) + (1|pupil)

हालाँकि, जब मैं एक विशेष नेस्टेड डेटासेट को देख रहा था, तो मैंने देखा कि दोनों मॉडल फॉर्मूले ने समान परिणाम (नीचे दिए गए कोड और आउटपुट) दिए हैं। हालाँकि मैंने अन्य डेटासेट देखे हैं जहाँ दो सूत्र अलग-अलग परिणाम उत्पन्न करते हैं। तो यहां पर क्या हो रहा है?

mydata <- read.csv("https://web.archive.org/web/20160624172041if_/http://www-personal.umich.edu/~bwest/classroom.csv")
# (the data is no longer at `http://www-personal.umich.edu/~bwest/classroom.csv`
# hence the link to web.archive.org)
# Crossed version: 
Linear mixed model fit by REML ['lmerMod']
Formula: mathgain ~ (1 | schoolid) + (1 | classid)
   Data: mydata

REML criterion at convergence: 11768.8

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.6441 -0.5984 -0.0336  0.5334  5.6335 

Random effects:
 Groups   Name        Variance Std.Dev.
 classid  (Intercept)   99.23   9.961  
 schoolid (Intercept)   77.49   8.803  
 Residual             1028.23  32.066  
Number of obs: 1190, groups:  classid, 312; schoolid, 107


# Nested version:
Formula: mathgain ~ (1 | schoolid/classid)

REML criterion at convergence: 11768.8

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.6441 -0.5984 -0.0336  0.5334  5.6335 

Random effects:
 Groups           Name        Variance Std.Dev.
 classid:schoolid (Intercept)   99.23   9.961  
 schoolid         (Intercept)   77.49   8.803  
 Residual                     1028.23  32.066  
Number of obs: 1190, groups:  classid:schoolid, 312; schoolid, 107

जवाबों:


148

(यह काफी लंबा जवाब है, अंत में एक सारांश है)

आप इस बात की समझ में गलत नहीं हैं कि आपके द्वारा वर्णित परिदृश्य में क्या नेस्टेड और क्रॉस किए गए यादृच्छिक प्रभाव हैं। हालाँकि, बेतरतीब बेतरतीब प्रभावों की आपकी परिभाषा थोड़ी संकीर्ण है। पार किए गए यादृच्छिक प्रभावों की एक अधिक सामान्य परिभाषा बस है: नेस्टेड नहीं । हम इस उत्तर के अंत में इसे देखेंगे, लेकिन उत्तर का थोक आपके द्वारा प्रस्तुत परिदृश्य पर ध्यान केंद्रित करेगा, स्कूलों के भीतर कक्षाओं का।

पहले ध्यान दें:

नेस्टिंग डेटा की एक संपत्ति है, या प्रयोगात्मक डिजाइन, मॉडल नहीं है।

इसके अलावा,

नेस्टेड डेटा को कम से कम 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)


16
+6, यह एक बहुत अच्छा जवाब है। कुछ दिनों में मुझे याद दिलाओ और मैं इस पर एक इनाम रखूंगा।
गंग

2
बहुत बढ़िया स्पष्टीकरण। क्या संभवत: तीसरे प्रकार के प्रायोगिक डिजाइन का एक नाम है जहां आप दो कारकों (संभवतः नेस्टेड) ​​के लिए अद्वितीय स्तर बनाते हैं, इसलिए यदि मैंने विभिन्न शहरों के भीतर विभिन्न डीलरों से मोटरसाइकिल खरीदने वाले सहकर्मियों का पालन किया, तो मैं पाठकों से कैसे संवाद करूंगा कि मैं मूल रूप से हूं सिंगल लेवल फैक्टर बनाया interaction(city, dealer)?
एडम 12

2
+6, यह इतना बढ़िया जवाब है कि मुझे लगा कि मैं किसी और के साथ @ गंग का इनाम पा सकता हूं। वैसे, मैं इस बात से जूझ रहा हूं कि शायद बहुत बुनियादी भ्रम है ( यहां मेरा क्यू है ) और आपकी मदद की बहुत सराहना करेंगे।
अमीबा

1
@RobertLong ऐसा लगता है कि स्प्लिट प्लॉट (बार-बार किए गए उपाय) डिज़ाइन को अक्सर "नेस्टेड" कहा जाता है, भले ही वे वास्तव में आपके इस उत्तर के अनुसार नेस्टेड न हों। इस पारिभाषिक विसंगति ने सम्बद्ध प्रश्न में मेरी उलझन में योगदान दिया है। बहुत अच्छा होगा यदि आप इसे स्पष्ट कर सकते हैं, यहाँ या वहाँ। मैं यह भी सोच रहा हूं कि क्या विभाजन के भूखंडों में निहित है के बारे में मुझे एक अलग (आर उन्मुख नहीं) शब्दावली प्रश्न पोस्ट करना चाहिए।
अमीबा

2
मेरी पिछली टिप्पणी के लिए अद्यतन करें। मैंने प्रयोगात्मक डिजाइन पर दो पुरानी और आधिकारिक पुस्तकों की जाँच की है: मैक्सवेल और डेलानी, 1990, डिजाइनिंग प्रयोग और विश्लेषण डेटा, और मॉन्टगोमरी, 1976, डिजाइन और प्रयोगों का विश्लेषण। दोनों नेस्टेड डिज़ाइन के बारे में बात करते हैं और दोनों बार-बार उर्फ ​​स्प्लिट-प्लॉट के उपायों के बारे में बात करते हैं; दोनों केवल "नेस्टेड" शब्द का उपयोग उस अर्थ में करते हैं जो आप इसे उपयोग कर रहे हैं और कभी भी नेस्टेड के रूप में दोहराए गए उपायों का संदर्भ न दें। इसलिए मुझे नहीं लगता कि सभी के बाद कोई शब्दावली अंतर है।
अमीबा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.