सतत और श्रेणीबद्ध भविष्यवक्ता के बीच बातचीत के लिए मिश्रित मॉडल कई तुलनाएं


11

मैं lme4एक मिश्रित प्रभाव प्रतिगमन फिट करने के लिए और multcompयुग्मक तुलना की गणना करने के लिए उपयोग करना चाहूंगा । मेरे पास कई निरंतर और श्रेणीबद्ध भविष्यवक्ताओं के साथ एक जटिल डेटा सेट है, लेकिन मेरे प्रश्न को ChickWeightउदाहरण के लिए अंतर्निहित डेटा सेट का उपयोग करके दिखाया जा सकता है :

m <- lmer(weight ~ Time * Diet + (1 | Chick), data=ChickWeight, REML=F)

Timeनिरंतर है और Dietश्रेणीबद्ध (4 स्तर) है और प्रति आहार कई चूजे हैं। सभी चूजे एक ही वजन के बारे में बाहर निकलना शुरू हो गए, लेकिन उनके आहार (हो सकता है) उनकी विकास दर को प्रभावित करते हैं, इसलिए Dietइंटरसेप्ट्स (कम या ज्यादा) एक ही होना चाहिए, लेकिन ढलान अलग हो सकता है। मैं Dietइस तरह के अवरोधन प्रभाव के लिए जोड़ीदार तुलना कर सकते हैं :

summary(glht(m, linfct=mcp(Diet = "Tukey")))

और, वास्तव में, वे काफी भिन्न नहीं हैं, लेकिन मैं Time:Dietप्रभाव के लिए अनुरूप परीक्षण कैसे कर सकता हूं ? बस बातचीत शब्द को mcpएक त्रुटि पैदा करता है:

summary(glht(m, linfct=mcp('Time:Diet' = "Tukey")))
Error in summary(glht(m, linfct = mcp(`Time:Diet` = "Tukey"))) : 
  error in evaluating the argument 'object' in selecting a method for function
 'summary': Error in mcp2matrix(model, linfct = linfct) : 
Variable(s) Time:Diet have been specified in linfct but cannot be found in model’! 

यह है Time*Diet, जो सिर्फ एक सरलीकरण है Time + Diet + Time:Diet। उपयोग anova(m)या summary(m)पुष्टि करता है कि इंटरेक्शन शब्द मॉडल में है।
दान एम।

जवाबों:


8

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

उपयोग करने के लिए multcomp, आपको विपरीत मैट्रिक्स को परिभाषित करने की आवश्यकता है। विपरीत मैट्रिक्स में प्रत्येक पंक्ति डिफ़ॉल्ट मॉडल आउटपुट में प्राप्त होने वाले प्रभावों के लिए भार का प्रतिनिधित्व करती है, जो इंटरसेप्ट के साथ शुरू होती है। इसलिए यदि आप एक ऐसा प्रभाव चाहते हैं जो पहले से ही मूल आउटपुट में शामिल है, तो आप उस प्रभाव के अनुरूप स्थिति में "1" डालते हैं। चूंकि पैरामीटर अनुमान एक सामान्य संदर्भ स्तर के सापेक्ष हैं, इसलिए आप किसी भी दो अन्य स्तरों के बीच तुलना कर सकते हैं एक का वजन "-1" और दूसरे का "1"। यहां बताया गया है कि उदाहरण Time:Dietमें यह कैसे काम करेगा ChickWeight:

contrast.matrix <- rbind("Time:Diet1 vs. Time:Diet2" =  c(0, 0, 0, 0, 0, 1, 0, 0),
                           "Time:Diet1 vs. Time:Diet3" =  c(0, 0, 0, 0, 0, 0, 1, 0),
                           "Time:Diet1 vs. Time:Diet4" =  c(0, 0, 0, 0, 0, 0, 0, 1),
                           "Time:Diet2 vs. Time:Diet3" =  c(0, 0, 0, 0, 0, -1, 1, 0),
                           "Time:Diet2 vs. Time:Diet4" =  c(0, 0, 0, 0, 0, -1, 0, 1),
                           "Time:Diet3 vs. Time:Diet4" =  c(0, 0, 0, 0, 0, 0, -1, 1))
summary(glht(m, contrast.matrix))

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

(इसके लिए मदद के लिए r-ling-lang-L से स्कॉट जैक्सन को धन्यवाद )

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.