मैं एक शून्य फुलाया हुआ glmmTMB मॉडल चला रहा हूं। मुझे सशर्त और शून्य-मुद्रास्फीति दोनों घटकों के लिए विभिन्न कारक स्तरों के बीच जोड़ीदार तुलना करने में दिलचस्पी है। सशर्त भाग, मैं सामान्य emmeans दृष्टिकोण के साथ आसानी से कर सकता हूं। मैं (अपेक्षाकृत) नवनिर्मित glmmTMB:::emm_basis.glmmTMB का उपयोग करने की कोशिश कर रहा हूं, लेकिन कुछ तर्कों को समझ नहीं सकता जो फ़ंक्शन लेता है, और उदाहरण नहीं मिल रहा है ...

यहाँ एक खिलौना उदाहरण है कि मैं इस समय कहाँ हूँ। मैंने विशेष रूप से मॉडल में एक poly() घटक जोड़ा है - मेरे पूर्ण मॉडल में poly() और ns() दोनों हैं, इसलिए यह पता लगाने की जरूरत है कि ये यहां कैसे काम करते हैं।

तो यहाँ प्रश्न हैं: १) क्या मेरे पास trms तर्क सही ढंग से दिया गया है? 2) xlev और grid तर्क क्या हैं जिनकी emm_basis.glmmTMB फ़ंक्शन को आवश्यकता है?

library(glmmTMB)

data(Salamanders)
mod <- glmmTMB(count ~ spp + mined + poly(cover, 2) + (1|site), zi=~spp + mined, Salamanders, 
   family=nbinom2)

tt <- y ~ spp + mined + poly(cover, 2)
tt <- delete.response(terms(tt))

glmmTMB:::emm_basis.glmmTMB(mod,  trms = tt)

किसी भी विचार के लिए बहुत बहुत धन्यवाद!

0
user2602640 12 जून 2020, 22:27

1 उत्तर

सबसे बढ़िया उत्तर

फ़ंक्शन emm_basis() और recover_data() emmeans पैकेज के लिए समर्थन फ़ंक्शन हैं, जिसमें glmmTMB सहित कई अलग-अलग मॉडल वर्गों के लिए विधियां हैं। उन कार्यों को उपयोगकर्ता द्वारा कॉल नहीं किया जाता है - और यही कारण है कि वे निर्यात किए जाने के बजाय विधियों के रूप में पंजीकृत हैं।

इसके बजाय, बस emmeans() या emmeans पैकेज में अन्य फ़ंक्शन को कॉल करें, और उन विधियों का उपयोग आवश्यकतानुसार किया जाएगा।

glmmTMB ऑब्जेक्ट के मामले में, एक वैकल्पिक तर्क component है जिसे emmeans() कॉल में शामिल किया जा सकता है। आपके उदाहरण में:

> emmeans(mod, ~spp, component = "cond")
 spp   emmean    SE  df lower.CL upper.CL
 GP     0.440 0.225 624 -0.00146    0.881
 PR    -0.382 0.483 624 -1.32983    0.566
 DM     0.596 0.203 624  0.19723    0.994
 EC-A   0.145 0.327 624 -0.49699    0.787
 EC-L   0.991 0.231 624  0.53814    1.445
 DES-L  1.009 0.188 624  0.64015    1.379
 DF     0.332 0.217 624 -0.09448    0.758

Results are averaged over the levels of: mined 
Results are given on the log (not the response) scale. 
Confidence level used: 0.95 

(हमें वास्तव में component को शामिल करने की आवश्यकता नहीं थी, क्योंकि डिफ़ॉल्ट cond है।) ये परिणाम लॉग पैमाने पर हैं क्योंकि nbinom2 परिवार सशर्त भाग को फिट करने में उपयोग किया जाता है मॉडल की। आप इन परिणामों को type निर्दिष्ट करके प्रतिक्रिया पैमाने पर देख सकते हैं:

> emmeans(mod, ~spp, type = "response")
 spp   response    SE  df lower.CL upper.CL
 GP       1.553 0.349 624    0.999     2.41
 PR       0.682 0.329 624    0.265     1.76
 DM       1.814 0.368 624    1.218     2.70
 EC-A     1.156 0.378 624    0.608     2.20
 EC-L     2.695 0.622 624    1.713     4.24
 DES-L    2.744 0.516 624    1.897     3.97
 DF       1.394 0.303 624    0.910     2.13

Results are averaged over the levels of: mined 
Confidence level used: 0.95 
Intervals are back-transformed from the log scale

आप compoenent = "zi" के माध्यम से मॉडल के शून्य-फुलाए हुए भाग को देख सकते हैं:

> emmeans(mod, ~spp, component = "zi", type = "response")
 spp   response     SE  df lower.CL upper.CL
 GP       0.455 0.1064 624   0.2646    0.660
 PR       0.763 0.1406 624   0.4115    0.937
 DM       0.273 0.1128 624   0.1097    0.534
 EC-A     0.719 0.1020 624   0.4870    0.873
 EC-L     0.365 0.1085 624   0.1864    0.590
 DES-L    0.278 0.0989 624   0.1275    0.503
 DF       0.132 0.1150 624   0.0207    0.522

Results are averaged over the levels of: mined 
Confidence level used: 0.95 
Intervals are back-transformed from the logit scale

इस समय, वास्तविक माध्य प्रतिक्रियाओं का अनुमान लगाना संभव नहीं प्रतीत होता है (1 - zi)*(cond माध्य); यह उपयोगी है, लेकिन बहुत गन्दा है क्योंकि इसमें दो घटकों का संयोजन शामिल है।

1
Russ Lenth 15 जून 2020, 16:02