स्प्लिट-प्लॉट एनोवा: मॉडल तुलना परीक्षण आर में


12

मैं R में Xऔर Mतर्कों के साथ उपयोग के लिए उपयुक्त मॉडल तुलना का उपयोग करके स्प्लिट-प्लॉट एनोवा में प्रभावों का परीक्षण कैसे कर सकता हूं anova.mlm()? मैं ?anova.mlmऔर डेलगार्ड (2007) [1] से परिचित हूं । दुर्भाग्य से यह केवल स्प्लिट-प्लॉट डिज़ाइन्स को ब्रश करता है। दो-विषय कारकों के साथ पूरी तरह यादृच्छिक डिजाइन में ऐसा करना:

N  <- 20  # 20 subjects total
P  <- 3   # levels within-factor 1
Q  <- 3   # levels within-factor 2
DV <- matrix(rnorm(N* P*Q), ncol=P*Q)           # random data in wide format
id <- expand.grid(IVw1=gl(P, 1), IVw2=gl(Q, 1)) # intra-subjects layout of data matrix

library(car)        # for Anova()
fitA <- lm(DV ~ 1)  # between-subjects design: here no between factor
resA <- Anova(fitA, idata=id, idesign=~IVw1*IVw2)
summary(resA, multivariate=FALSE, univariate=TRUE)  # all tests ...

निम्नलिखित मॉडल की तुलना समान परिणाम की ओर ले जाती है। प्रतिबंधित मॉडल में प्रश्न में प्रभाव शामिल नहीं है, लेकिन समान आदेश या निम्न के अन्य सभी प्रभाव, पूर्ण मॉडल प्रश्न में प्रभाव जोड़ता है।

anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw2, test="Spherical") # IVw1
anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw1, test="Spherical") # IVw2
anova(fitA, idata=id, M=~IVw1 + IVw2 + IVw1:IVw2,
                      X=~IVw1 + IVw2, test="Spherical")          # IVw1:IVw2

एक स्प्लिट-स्प्लिट डिज़ाइन जिसमें एक के भीतर और एक बीच-विषय कारक है:

idB  <- subset(id, IVw2==1, select="IVw1")          # use only first within factor
IVb  <- gl(2, 10, labels=c("A", "B"))               # between-subjects factor
fitB <- lm(DV[ , 1:P] ~ IVb)                        # between-subjects design
resB <- Anova(fitB, idata=idB, idesign=~IVw1)
summary(resB, multivariate=FALSE, univariate=TRUE)  # all tests ...

ये anova()परीक्षणों को दोहराने के लिए आदेश हैं , लेकिन मुझे नहीं पता कि वे क्यों काम करते हैं। निम्नलिखित मॉडल तुलनाओं के परीक्षण समान परिणाम क्यों देते हैं?

anova(fitB, idata=idB, X=~1, test="Spherical") # IVw1, IVw1:IVb
anova(fitB, idata=idB, M=~1, test="Spherical") # IVb

दो भीतर के विषय कारक और एक बीच के विषय कारक:

fitC <- lm(DV ~ IVb)  # between-subjects design
resC <- Anova(fitC, idata=id, idesign=~IVw1*IVw2)
summary(resC, multivariate=FALSE, univariate=TRUE)  # all tests ...

ऊपर दिए गए मॉडल तुलनाओं के साथ Xऔर Mतर्कों के साथ उपयोग के लिए मैं ऊपर दिए गए परिणामों को कैसे दोहराऊं anova.mlm()? इन मॉडल तुलनाओं के पीछे तर्क क्या है?

EDIT: suncoolsu ने बताया कि सभी व्यावहारिक उद्देश्यों के लिए, मिश्रित मॉडलों का उपयोग करके इन डिज़ाइनों के डेटा का विश्लेषण किया जाना चाहिए। हालांकि, मैं अभी भी समझने के लिए के परिणामों को दोहराने के लिए कैसे करना चाहते हैं summary(Anova())के साथ anova.mlm(..., X=?, M=?)

[१]: डालगार्ड, पी। २००.। मल्टीवेरिएट विश्लेषण के लिए नए कार्य। आर न्यूज, 7 (2), 2-7।


अरे @ ओंकारल, मुझे लगता है कि आप जिस तरह से "स्प्लिट-प्लॉट डिज़ाइन" का उपयोग कर रहे हैं, वह कैसाला के रूप में नहीं है, जॉर्ज ने अपनी पुस्तक, सांख्यिकीय डिज़ाइन में इसे परिभाषित किया है। स्प्लिट प्लॉट निश्चित रूप से घोंसले के शिकार के बारे में बात करता है, लेकिन सहसंबंध संरचना को लागू करने का एक विशेष तरीका है। और ज्यादातर समय आप lme4पैकेज को मॉडल और फिट नहीं करने के लिए उपयोग करेंगे lm। लेकिन यह एक बहुत ही विशिष्ट पुस्तक-आधारित दृश्य हो सकता है। मैं इस पर अन्य की टिप्पणी दूंगा। मैं एक उदाहरण दे सकता हूं कि मैं इसकी व्याख्या कैसे करूं जो आप से अलग है।
suncoolsu

2
@suncoolsu सामाजिक विज्ञानों में शब्दावली भिन्न हो सकती है, लेकिन दोनों Kirk (1995, p512) और मैक्सवेल और डेलाने (2004, p592) एक-और-एक-कारक "स्प्लिट-प्लॉट" के बीच के मॉडल को कॉल करते हैं। बीच-कारक "भूखंड" (कृषि मूल के अनुरूप) प्रदान करता है।
काराकल

मेरे पास इस समय मेरी प्लेट पर बहुत सारी चीजें हैं। मैं आपके प्रश्न के अधिक विशिष्ट होने के लिए अपने उत्तर का विस्तार करूंगा। मुझे लगता है कि आपने अपने प्रश्न को तैयार करने में बहुत अधिक निवेश किया है। उसके लिए धन्यवाद।
सनकूलू

जवाबों:


10

Xऔर Mमूल रूप से दो मॉडल आप तुलना करना चाहते निर्दिष्ट है, लेकिन केवल भीतर-विषय प्रभाव के मामले में; यह तो अंदर-विषय प्रभाव के साथ सभी के बीच-विषय प्रभाव (अवरोधन सहित) की बातचीत के लिए परिणाम है कि दोनों के बीच बदल से पता चलता Xहै और M

आपका उदाहरण पर fitBसमझने के लिए हम के लिए चूक जोड़ने अगर आसान होता है Xऔर M:

anova(fitB, idata=idB, M=~1, X=~0, test="Spherical") # IVb
anova(fitB, idata=idB, M=diag(3), X=~1, test="Spherical") # IVw1, IVw1:IVb

पहला मॉडल प्रत्येक विषय के लिए अलग-अलग अर्थों में बिना किसी प्रभाव के परिवर्तन है (सभी का एक ही मतलब है), इसलिए हमने idयादृच्छिक प्रभाव जोड़ा है, जो कि विषयवस्तु के बीच समग्र अवरोधन और समग्र का परीक्षण करने के लिए सही बात है पर।

दूसरा मॉडल id:IVw1इंटरैक्शन का विज्ञापन करता है, जो कि परीक्षण करने के लिए सही चीज़ है IVw1और इसके IVw1:IVbविरुद्ध शर्तें हैं। चूँकि केवल एक ही विषय-वस्तु का प्रभाव होता है (तीन स्तरों के साथ) diag(3)दूसरा मॉडल का डिफ़ॉल्ट इसके लिए जिम्मेदार होगा; यह चलाने के बराबर होगा

anova(fitB, idata=idB, M=~IVw1, X=~1, test="Spherical") # IVw1, IVw1:IVb

आपके लिए fitC, मेरा मानना ​​है कि ये कमांड Anovaसारांश को पुनः बनाएंगे।

anova(fitC, idata=id, M=~1, X=~0, test="Spherical") #IVb
anova(fitC, idata=id, M=~IVw1 + IVw2, X=~IVw2, test="Spherical") # IVw1
anova(fitC, idata=id, M=~IVw1 + IVw2, X=~IVw1, test="Spherical") # IVw2
anova(fitC, idata=id, M=~IVw1 + IVw2 + IVw1:IVw2,
                  X=~IVw1 + IVw2, test="Spherical")          # IVw1:IVw2

अब, जैसा कि आपने खोजा, ये आदेश वास्तव में मुश्किल हैं। शुक्र है, अब उन्हें इस्तेमाल करने का ज्यादा कारण नहीं है। यदि आप गोलाकार मानने के लिए तैयार हैं, तो आपको केवल सही aovसिंटैक्स का उपयोग करना चाहिए , या यहां तक ​​कि आसान वाक्यविन्यास के लिए, lmअपने आप को सही एफ-परीक्षणों का उपयोग और गणना करना चाहिए। यदि आप गोलाकार मानने के लिए तैयार नहीं हैं, lmeतो वास्तव में जाने का तरीका है क्योंकि आपको जीजी और एचएफ सुधार के साथ बहुत अधिक लचीलापन मिलता है।

उदाहरण के लिए, यहाँ एक aovऔर lmआपके लिए कोड है fitA। आपको पहले लंबे प्रारूप में डेटा रखने की आवश्यकता है; यहाँ एक तरीका यह है कि:

library(reshape)
d0 <- data.frame(id=1:nrow(DV), DV)
d0$IVb <- IVb
d0 <- melt(d0, id.vars=c(1,11), measure.vars=2:10)
id0 <- id
id0$variable <- factor(levels(d0$variable), levels=levels(d0$variable))
d <- merge(d0, id0)
d$id <- factor(d$id)

और यहाँ lm andaov` कोड है:

anova(lm(value ~ IVw1*IVw2*id, data=d))
summary(aov(value ~ IVw1*IVw2 + Error(id/(IVw1*IVw2)), data=d))

बहुत बहुत धन्यवाद, यह वही है जो मैं देख रहा था! यहाँ वर्णित anova()समस्या के कारण मुझे अभी भी दिलचस्पी थी । लेकिन आपका आखिरी सुझाव भी ठीक काम करता है और सरल है। (छोटी सी बात: मुझे लगता है कि अंतिम 2 पंक्तियाँ प्रत्येक 1 बंद कोष्ठक को याद कर रही हैं, और इसे पढ़ना चाहिए )Anova()Error(id/(IVw1*IVw2))
caracal

8

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

वे नैदानिक ​​परीक्षणों में बहुत उपयोग किए जाते हैं, जहां एक कारक को बदलना आसान होता है, जबकि दूसरे कारक को बदलने में अधिक समय लगता है। यदि प्रयोग करने वाले को हार्ड-टू-चेंज फैक्टर के प्रत्येक स्तर के लिए लगातार रन करना चाहिए, तो स्प्लिट प्लॉट डिज़ाइन पूरे प्लॉट फ़ैक्टर का प्रतिनिधित्व करने वाले हार्ड-टू-चेंज फ़ैक्टर के साथ होता है।

यहाँ एक उदाहरण है: एक कृषि क्षेत्र के परीक्षण में, उद्देश्य दो फसल किस्मों और चार अलग-अलग सिंचाई विधियों के प्रभावों को निर्धारित करना था। आठ खेत उपलब्ध थे, लेकिन प्रत्येक क्षेत्र में केवल एक प्रकार की सिंचाई लागू की जा सकती है। खेतों को प्रत्येक भाग में एक अलग किस्म के साथ दो भागों में विभाजित किया जा सकता है। संपूर्ण प्लॉट फैक्टर सिंचाई है, जिसे बेतरतीब ढंग से खेतों को सौंपा जाना चाहिए। प्रत्येक क्षेत्र के भीतर, विविधता को सौंपा गया है।

यह आप इस प्रकार करते हैं R:

install.packages("faraway")
data(irrigation)
summary(irrigation)

library(lme4)

R> (lmer(yield ~ irrigation * variety + (1|field), data = irrigation))
Linear mixed model fit by REML 
Formula: yield ~ irrigation * variety + (1 | field) 
   Data: irrigation 
  AIC  BIC logLik deviance REMLdev
 65.4 73.1  -22.7     68.6    45.4
Random effects:
 Groups   Name        Variance Std.Dev.
 field    (Intercept) 16.20    4.02    
 Residual              2.11    1.45    
Number of obs: 16, groups: field, 8

Fixed effects:
                       Estimate Std. Error t value
(Intercept)               38.50       3.02   12.73
irrigationi2               1.20       4.28    0.28
irrigationi3               0.70       4.28    0.16
irrigationi4               3.50       4.28    0.82
varietyv2                  0.60       1.45    0.41
irrigationi2:varietyv2    -0.40       2.05   -0.19
irrigationi3:varietyv2    -0.20       2.05   -0.10
irrigationi4:varietyv2     1.20       2.05    0.58

Correlation of Fixed Effects:
            (Intr) irrgt2 irrgt3 irrgt4 vrtyv2 irr2:2 irr3:2
irrigation2 -0.707                                          
irrigation3 -0.707  0.500                                   
irrigation4 -0.707  0.500  0.500                            
varietyv2   -0.240  0.170  0.170  0.170                     
irrgtn2:vr2  0.170 -0.240 -0.120 -0.120 -0.707              
irrgtn3:vr2  0.170 -0.120 -0.240 -0.120 -0.707  0.500       
irrgtn4:vr2  0.170 -0.120 -0.120 -0.240 -0.707  0.500  0.500

असल में, इस मॉडल का कहना है कि सिंचाई और विविधता निश्चित प्रभाव हैं और विविधता सिंचाई के भीतर निहित है। क्षेत्र यादृच्छिक प्रभाव हैं और सचित्र रूप से कुछ ऐसा होगा

I_1 | I_2 | I_3 | I_4

V_1 V_2 | V_1 V_2 | V_1 V_2 | V_1 V_2

लेकिन यह निश्चित संपूर्ण प्लॉट प्रभाव और सबप्लॉट प्रभाव के साथ एक विशेष संस्करण था। ऐसे संस्करण हो सकते हैं जिनमें एक या अधिक यादृच्छिक होते हैं। स्प्लिट-स्प्लिट .. प्लॉट डिजाइन जैसे और भी जटिल डिजाइन हो सकते हैं। मूल रूप से, आप जंगली और पागल हो सकते हैं । लेकिन अंतर्निहित संरचना और वितरण (अर्थात निश्चित या यादृच्छिक, नेस्टेड या पार, ..) को स्पष्ट रूप से समझा जाता है, एक lmer-Ninjaइच्छाशक्ति को मॉडलिंग में कोई परेशानी नहीं होगी। हो सकता है कि व्याख्या एक गड़बड़ होगी।

तुलना के बारे में, कहते हैं कि आपके पास है lmer1और lmer2:

anova(lmer1, lmer2)

आपको मापदंडों के अंतर के बराबर स्वतंत्रता की डिग्री के साथ ची-वर्ग परीक्षण सांख्यिकीय के आधार पर उपयुक्त परीक्षा देगा ।

cf: Faraway, J., R के साथ रैखिक मॉडल का विस्तार।

कैसला, जी।, सांख्यिकीय डिजाइन


मैं मिश्रित-प्रभाव मॉडल और आगे की पृष्ठभूमि की जानकारी के साथ स्प्लिट-स्पोट डिज़ाइन का विश्लेषण करने के लिए इंट्रो की सराहना करता हूं! यह निश्चित रूप से विश्लेषण को अंजाम देने का पसंदीदा तरीका है। मैंने अपने प्रश्न को इस बात पर जोर देने के लिए अद्यतन किया है कि मैं अभी भी यह जानना चाहूंगा कि यह "पुराना तरीका" कैसे है।
कारकल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.