पूर्ण सफलताओं के साथ एक स्पष्ट चर के साथ द्विपद ग्लोम


11

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

m.gen1$treatment
 [1] sucrose      control      protein      control      no_injection .....
Levels: no_injection control sucrose protein
m.gen1$emergence 
 [1]  1  0  0  1  0  1  1  1  1  1  1  0  0....
> m.gen1$nest
 [1] 1  1  1  2  2  3  3  3  3  4  4  4  .....
Levels: 1 2 3 4 5 6 8 10 11 13 15 16 17 18 20 22 24

पहला मॉडल जो मैं चलाता हूं वह इस तरह दिखता है

m.glmm.em.<-glmer(emergence~treatment + (1|nest),family=binomial,data=m.gen1)

मुझे दो चेतावनी मिलती हैं जो इस तरह दिखती हैं:

Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge with max|grad| = 0.0240654 (tol = 0.001, component 4)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model is nearly unidentifiable: large eigenvalue ratio
 - Rescale variables?

मॉडल सारांश से पता चलता है कि उपचार में से एक में असामान्य रूप से बड़ी मानक त्रुटि है, जिसे आप यहां देख सकते हैं:

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)  
(Intercept)         2.565      1.038   2.472   0.0134 *
treatmentcontrol   -1.718      1.246  -1.378   0.1681  
treatmentsucrose   16.863   2048.000   0.008   0.9934  
treatmentprotein   -1.718      1.246  -1.378   0.1681 

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

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)  
(Intercept)        3.4090     1.6712   2.040   0.0414 *
treatmentcontrol  -1.8405     1.4290  -1.288   0.1978  
treatmentsucrose  -0.2582     1.6263  -0.159   0.8738  
treatmentprotein  -2.6530     1.5904  -1.668   0.0953 .

मैं सोच रहा था कि क्या मेरा अंतर्ज्ञान उस उपचार के लिए विफलताओं की कमी के बारे में सही है जो एक अच्छा अनुमान रोक रहा है, और मैं इस मुद्दे के आसपास कैसे काम कर सकता हूं।

अग्रिम में धन्यवाद!

जवाबों:


15

आपका अंतर्ज्ञान बिल्कुल सही है। इस घटना को पूर्ण पृथक्करण कहा जाता है । आप काफी कुछ पा सकते हैं (अब जब आप इसका नाम जानते हैं) चारों ओर घूमना ... यह एक सामान्य संदर्भ में और यहां GLMMs के संदर्भ में काफी अच्छी तरह से चर्चा की गई है । इस समस्या का मानक समाधान एक छोटा शब्द जोड़ना है जो मापदंडों को शून्य की ओर धकेलता है - अक्सर संदर्भों में इसे एक दंडित या पूर्वाग्रह-सही विधि कहा जाता है । मानक एल्गोरिथ्म फ़र्थ (1993, "बायस रिडक्शन ऑफ़ मैक्सिमम लाइक , एस्टीमेट बायोमेट्रिक 80, 27-38) के कारण है और लॉजिस्टफ पैकेज में लागू किया गया है।CRAN पर। बायेसियन संदर्भों में यह तय-प्रभाव मापदंडों से पहले कमजोर को जोड़ने के रूप में तैयार किया गया है।

मेरी जानकारी के लिए फर्थ के एल्गोरिथ्म को GLMMs तक नहीं बढ़ाया गया है, लेकिन आप ब्लेम पैकेज का उपयोग करके बायेसियन ट्रिक का उपयोग कर सकते हैं , जो पैकेज के शीर्ष पर एक पतली बायेसियन परत डालता है lme4। यहाँ उपर्युक्त GLMM चर्चा से एक उदाहरण दिया गया है:

cmod_blme_L2 <- bglmer(predation~ttt+(1|block),data=newdat,
                   family=binomial,
                   fixef.prior = normal(cov = diag(9,4)))

इस उदाहरण में पहली दो पंक्तियाँ बिल्कुल वैसी ही हैं जैसी हम मानक glmerमॉडल में प्रयोग करेंगे ; अंतिम निर्दिष्ट करता है कि निश्चित प्रभावों के लिए एक विकर्ण विचरण-कोवरियनस मैट्रिक्स के साथ एक बहुभिन्नरूपी सामान्य वितरण है। मैट्रिक्स 4x4 है (क्योंकि हमारे पास इस उदाहरण में 4 निश्चित-प्रभाव पैरामीटर हैं), और प्रत्येक पैरामीटर का पूर्व संस्करण 9 है (3 के मानक विचलन के अनुरूप, जो कि बहुत कमजोर है - इसका मतलब है कि +/- 2SD है () -6,6), जो लॉजिट स्केल पर एक बहुत बड़ी रेंज है)।

आपके उदाहरण में मापदंडों की बहुत बड़ी मानक त्रुटियां पूर्ण पृथक्करण से संबंधित एक घटना का उदाहरण हैं (यह तब होता है जब हम लॉजिस्टिक मॉडल में चरम पैरामीटर मान प्राप्त करते हैं) जिसे हक-डोनर प्रभाव कहा जाता है

दो और संभावित उपयोगी संदर्भ (मैंने अभी तक अपने आप में उन्हें खोदा नहीं है):

  • गेलमैन ए, जक्यूलिन ए, पिटौ एमजी और एसयू टीएस (2008) लॉजिस्टिक और अन्य प्रतिरूप मॉडल के लिए एक कमजोर सूचनात्मक डिफ़ॉल्ट पूर्व वितरण। वार्षिक सांख्यिकी , 2, 1360-383 के विवरण।
  • जोस कॉर्टिनास अब्रहैंटेस और मार्क एर्ट्स (2012) क्लस्टर किए गए द्विआधारी डेटा सांख्यिकीय मॉडलिंग 12 (1) के लिए अलग करने का एक समाधान : 3–27 डोई: 10.1177 / 1471082X1001200102

"हाल ही में पूर्ण पृथक्करण" के लिए Google विद्वान खोज एक और खोज करती है:

  • Quiñones, AE, और WT Wcislo। "क्रिप्टिक एक्सटेंडेड ब्रूड केयर इन द फैसेलिटिकली यूसिकल स्वेट बी मेगालोप्टा जेनालीस ।" कीड़े सोसियाक्स 62.3 (2015): 307–313।

वाह बहुत बहुत धन्यवाद !! यह एकदम सही समझ में आता है, और मॉडल अब सुचारू रूप से बेलगर के साथ चलता है। मेरे पास बस एक और सवाल होगा, क्या मैं विभिन्न मॉडलों की तुलना करने के लिए यादृच्छिक और निश्चित प्रभावों का आश्वासन देने के लिए lme4 में विधियों का उपयोग कर सकता हूं?

2
मैं ऐसा कहूंगा, लेकिन मुझे नहीं पता कि मेरी राय के लिए कोई औपचारिक और / या सहकर्मी-समर्थित समर्थन है ...
14

धन्यवाद! यह वास्तव में मेरी समस्या भी है। एक त्वरित अनुवर्ती: आपके उदाहरण के विपरीत, जिसमें 4 स्तरों के साथ एक कारक है, मेरे पास 2 x 2 डिज़ाइन है जहां प्रत्येक कारक में 2 स्तर हैं (इसलिए कुल अभी भी 4 स्तर हैं)। क्या मैं अपने मॉडल के लिए डायग (9,4) का उपयोग कर सकता हूं ? मैं मैट्रिस से अच्छी तरह वाकिफ नहीं हूं इसलिए मैं दोबारा जांच करना चाहता था। संबंधित रूप से, मेरे पेपर में इस समाधान को सही ठहराने के लिए, मुझे फर्थ (1993) का हवाला देना चाहिए या क्या कोई और अधिक प्रासंगिक पेपर है, जिसने आपके हल को bglmer () का उपयोग करके लागू किया है?
सोल

2
अद्यतन उत्तर देखें।
बेन बोल्कर 19

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