2015-02-05 9 views
5

के साथ अलग है, यह किसी प्रश्न की तुलना में एक बग रिपोर्ट हो सकता है, लेकिन: उसी डेटासेट का उपयोग करने की भविष्यवाणी करने के लिए newdata तर्क का स्पष्ट रूप से उपयोग क्यों करता है क्योंकि प्रशिक्षण डेटा कभी-कभी विभिन्न भविष्यवाणियों का उत्पादन करता है newdata तर्क को छोड़कर और प्रशिक्षण डेटासेट का स्पष्ट रूप से उपयोग करना?predict.glmer प्रशिक्षण सेट पर और बिना नएडेटा

library(lme4) 
packageVersion("lme4") # 1.1.8 
m1 <- glmer(myformula, data=X, family="binomial") 
p1 <- predict(m1, type="response") 
p2 <- predict(m1, type="response", newdata=X) 
all(p1==p2) # FALSE 

यह सिर्फ एक गोल त्रुटि नहीं है। मैं देख रहा हूँ cor(p1,p2) वापसी 0.8।

यह ढलान वाले मॉडल के लिए अलग-अलग लगता है। निम्नलिखित साजिश में, निहित का मतलब है predict(..., type="response") बिना नए डेटा के, और स्पष्ट का अर्थ है predict(..., type="response", newdata=X), जहां एक्स प्रशिक्षण के समान है। मॉडल 1 और अन्य मॉडलों के बीच एकमात्र अंतर यह है कि मॉडल 1 में केवल (यादृच्छिक) अंतःक्रियाएं होती हैं, और अन्य मॉडल में यादृच्छिक अंतःक्रिया और यादृच्छिक ढलान होते हैं।

enter image description here

+0

Github से सीधे विकास संस्करण स्थापित कर सकते हैं यह एक [प्रतिलिपि प्रस्तुत करने योग्य उदाहरण] (http://stackoverflow.com/questions/5963269/how-to- प्रदान करने के लिए मददगार होगा मेक-ए-ग्रेट-आर-पुनरुत्पादनीय उदाहरण) नमूना इनपुट डेटा के साथ कि हम सत्यापित करने के लिए कोड भी चला सकते हैं। यह सुनिश्चित करना सुनिश्चित करें कि आपने सूत्र को कैसे निर्दिष्ट किया है। – MrFlick

+1

@MrFlick; 'm1 <- lmer (प्रतिक्रिया ~ दिन + (दिन || विषय), नींद की स्थिति के साथ प्रयास करें)' – user20650

+1

हम्म, भविष्यवाणियां 'newdata' – user20650

उत्तर

4

ऐसा लगता है कि इस predict.merMod में एक बग है कि विकास संस्करण में ठीक किया गया है (नवंबर 2014 में, this Github issue के रूप में)। आप संकलन उपकरण स्थापित किया है आप के माध्यम से

devtools::install_github("lme4/lme4") 
संबंधित मुद्दे