2012-06-17 17 views
22

lm और glm मॉडल में, मैं कार्यों coef और confint का उपयोग लक्ष्य को प्राप्त करने:मिश्रित प्रभाव मॉडल में गुणांक और उनके आत्मविश्वास अंतराल कैसे प्राप्त करें?

m = lm(resp ~ 0 + var1 + var1:var2) # var1 categorical, var2 continuous 
coef(m) 
confint(m) 

अब मैं मॉडल के लिए यादृच्छिक प्रभाव जोड़ा - lme4 पैकेज से lmer समारोह का उपयोग कर इस्तेमाल किया मिश्रित प्रभाव मॉडल। लेकिन फिर, coef और confint फ़ंक्शन मेरे लिए और काम नहीं करते हैं!

> mix1 = lmer(resp ~ 0 + var1 + var1:var2 + (1|var3)) 
             # var1, var3 categorical, var2 continuous 
> coef(mix1) 
Error in coef(mix1) : unable to align random and fixed effects 
> confint(mix1) 
Error: $ operator not defined for this S4 class 

मैंने Google पर लॉग इन करने और दस्तावेज़ों का उपयोग करने की कोशिश की लेकिन बिना किसी परिणाम के। कृपया मुझे सही दिशा इंगित करें।

संपादित करें: मैं यह भी सोच रहा था कि यह प्रश्न https://stats.stackexchange.com/ पर अधिक फिट बैठता है, लेकिन मैं इसे सांख्यिकीय से अधिक तकनीकी मानता हूं, इसलिए मैंने निष्कर्ष निकाला कि यह सर्वोत्तम (एसओ) ... आपको क्या लगता है?

+0

आरंभ करने के लिए जब तक @BenBolker की तरह किसी को (एक विशेषज्ञ) से पता चलता: 'lmer' सूचियों तरीकों' fixef' और '' coef' के अलावा ranef'। चूंकि आपकी त्रुटि कहती है कि इसे दो संयोजनों में परेशानी हो रही है, इसलिए समस्या यह है कि आपका मॉडल विनिर्देश किसी भी तरह "असामान्य" है। – joran

+0

धन्यवाद @ जोरन। मेरा मॉडल स्पेक अवरोध छोड़ने में शायद असामान्य है - मैं ऐसा करना चाहता हूं, क्योंकि अन्यथा गुणांक बकवास हैं। 'var1' स्पष्ट है और मैं प्रत्येक श्रेणी के लिए" समूह विशिष्ट अंतःक्रिया "चाहता हूं। अगर मैं अवरोध की अनुमति देता हूं (फॉर्मूला से '0 +' हटाएं), 'कोफ' चलता है लेकिन मुझे जो उम्मीद है वह नहीं देता है। 'फिक्सफ' महान काम करता है, धन्यवाद! हालांकि 'confint' बिल्कुल काम नहीं करता है। – TMS

+0

मैं आपको S4 ऑब्जेक्ट से सीधे आवश्यक डेटा निकाल दूंगा - इस पोस्ट के उत्तरों को देखें: http://stackoverflow.com/questions/8526681/extract-random-effect-variances-from-lme4-mer-model-object –

उत्तर

8

मेरा सुझाव है कि आप अच्छे पुराने एलएम (पैकेज nlme में) का उपयोग करें। इसमें उलझन है, और यदि आपको विरोधाभासों की पुष्टि की आवश्यकता है, तो विकल्पों की एक श्रृंखला है (gmodels में अनुमानित, विरोधाभासों में विपरीत, मल्टीकंप में glht)।

क्यों पी-मान और confint lmer में अनुपस्थित हैं: http://finzi.psych.upenn.edu/R/Rhelp02a/archive/76742.html देखें।

+0

धन्यवाद आहार, मैं पुराने पैकेज को आजमाउंगा। पी-वैल्यू की अनुपस्थिति - और तुरंत महत्व देने की संभावना - मुझे भी चिंतित! मुझे कोई समझ नहीं आता है, अगर मैं आत्मविश्वास अंतराल प्राप्त कर पाऊंगा तो मैं देखता हूं कि इसमें शून्य है या नहीं - और वैसे भी महत्व है! विनम्र, – TMS

+0

मैं यह उल्लेख करना भूल जाता हूं कि पैकेज मल्टीकंप से ग्लिंक ... लम्बाई के लिए एसिम्प्टोटिक आत्मविश्वास अंतराल देता है। डगलस बेट्स चेतावनी अभी भी लागू होती है, लेकिन हल्के कदम से पीएम मूल्य को हल्का/गाऊशियन से छोड़ने के लिए निश्चित रूप से सूप –

+0

डाइटर, "कन्फिंट (ग्लेट" के साथ आपका क्या मतलब है? मल्टीकंप पैकेज में कोई कन्फिंट फ़ंक्शन नहीं है ... – TMS

6

तय प्रभाव (जो confint भी किया होता) के लिए एक सामान्य सन्निकटन मानते हुए, हम द्वारा

अनुमान + 1.96 * मानक त्रुटि 95% विश्वास अंतराल प्राप्त कर सकते हैं।

निम्नलिखित भिन्नता घटकों/यादृच्छिक प्रभावों पर लागू नहीं होता है।

library("lme4") 
mylm <- lmer(Reaction ~ Days + (Days|Subject), data =sleepstudy) 

# standard error of coefficient 

days_se <- sqrt(diag(vcov(mylm)))[2] 

# estimated coefficient 

days_coef <- fixef(mylm)[2] 

upperCI <- days_coef + 1.96*days_se 
lowerCI <- days_coef - 1.96*days_se 
+1

हाय जुलिएथ, अच्छा विचार, हालांकि [असली आत्मविश्वास अंतराल (confint द्वारा गणना) और इन ... के बीच एक अंतर है ... http://stats.stackexchange.com/q/29981/5509)। हो सकता है कि टी-डिस्ट्रीब्यूशन के रूप में एक ही परिणाम होगा (हालांकि इस बारे में निश्चित नहीं है), लेकिन इस मामले में मुझे डीएफ नहीं पता है जिसका उपयोग किया जाना चाहिए। – TMS

+0

दूसरे शब्दों में, यही कारण है कि मैं अपने लिए यह सब करने के लिए 'confint' आदि जैसे कार्यों का उपयोग करना पसंद करता हूं ... (विशेष रूप से यदि मैं गुणांक के सामान्य वितरण के बारे में निश्चित नहीं हूं)। – TMS

+0

टी-वितरण असम्बद्ध रूप से सामान्य है और कई बहु-स्तर के डिज़ाइनों में त्रुटि अवधि के लिए स्वतंत्रता की डिग्री इतनी अधिक है कि उस समय त्रुटि वितरण सामान्य है। इसलिए, यदि आपके पास स्वतंत्रता की बहुत सारी डिग्री के साथ एक डिज़ाइन है, तो यह एक पूर्ण आत्मविश्वास अंतराल अनुमान है। – John

10

दो नए संकुल, lmerTest और lsmeans, कि lmer और glmer उत्पादन का 95% विश्वास सीमा की गणना कर सकते हैं। शायद आप उनको देख सकते हैं? और coefplot2, मुझे लगता है कि यह भी कर सकता है (यद्यपि बेन नीचे बताए गए हैं, वाल्ड आंकड़ों पर मानक त्रुटियों से, केनवर्ड-रोजर और/या सैटरथवाइट डीएफ अनुमानों के विपरीत lmerTest और lsmeans में उपयोग किए जाने वाले अनुमानित तरीके से,) ... बस एक शर्म की बात है कि पैकेज में lsmeans पैकेज में कोई अंतर्निहित साजिश सुविधाएं नहीं हैं (क्योंकि पैकेज effects() में हैं, जो बीटीडब्ल्यू lmer और glmer ऑब्जेक्ट्स पर 95% आत्मविश्वास सीमाएं भी लौटाता है लेकिन बिना किसी के मॉडल को दोबारा कर कर ऐसा करता है यादृच्छिक कारक, जो स्पष्ट रूप से सही नहीं है)।

+0

+1 वाह धन्यवाद, लेकिन कृपया लिंक को ठीक करें .. – TMS

+1

'coefplot2' वाल्ड मानक त्रुटियों के 1.96 गुणा की गणना करके यह बहुत ही मूर्खतापूर्ण है - यह सीआई –

+1

को परिमित आकार सुधार के बहुत महत्वपूर्ण मुद्दों को संबोधित नहीं करता है इस पोस्ट को भी देखें http://stats.stackexchange.com/questions/117641/how-trustworthy-are-the-confidence-intervals-for-lmer-objects-through-effects-pa अधिक विस्तृत उत्तर के लिए –

2

यह सुनिश्चित नहीं है कि इसे कब जोड़ा गया था, लेकिन अब confint() lme4 में लागू किया गया है। उदाहरण के लिए निम्न उदाहरण काम करता है:

library(lme4) 
m = lmer(Reaction ~ Days + (Days | Subject), sleepstudy) 
confint(m) 
1

गुणांक खोजने के लिए, आप बस सब गुणांक के लिए lme4

m = lm(resp ~ 0 + var1 + var1:var2) # var1 categorical, var2 continuous 
m_summary <- summary(m) 

का सारांश फ़ंक्शन का उपयोग कर सकते हैं:

m_summary$coefficient 

आप तो आत्मविश्वास अंतराल चाहते हैं, 1 से स्टैंडअर्ट त्रुटि गुणा करें।96:

CI <- m_summary$coefficient[,"Std. Error"]*1.96 
print(CI) 
+0

यहां 1.96 कारक पाठ्यक्रम के 95% आत्मविश्वास अंतराल के लिए है – denis

संबंधित मुद्दे