आर

2013-04-16 7 views
5

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

हालांकि, मुझे छात्रों की गिनती को "दर" में बदलने का निर्देश दिया गया था, जिसे छात्रों/स्कूल_पॉप्यूलेशन (प्रत्येक स्कूल की अपनी आबादी है) के रूप में गणना की गई थी।) यह अब एक गणना चर नहीं है, लेकिन अनुपात 0 और 1 के बीच। इसे एक कार्यक्रम में "नामांकन का अनुपात" माना जाता है।

यह "दर" (छात्र/आबादी) अब पोइसन नहीं है, लेकिन निश्चित रूप से सामान्य नहीं है। इसलिए, मैं उचित वितरण के रूप में थोड़ा सा खो गया हूं, और इसके बाद के मॉडल का प्रतिनिधित्व करने के लिए।

एक लॉग सामान्य वितरण इस दर पैरामीटर को अच्छी तरह फिट करने लगता है, हालांकि मेरे पास कई 0 मान हैं, इसलिए यह वास्तव में फिट नहीं होगा।

इस नए पैरामीटर के लिए वितरण के सर्वोत्तम रूप पर कोई सुझाव, और आर में इसका मॉडल कैसे करें?

धन्यवाद!

+2

मुझे लगता है कि यह एक्सपोजर/ऑफसेट चर (http://en.wikipedia.org/wiki/Poisson_regression#.22Exposure.22_and_offset) का उपयोग करने का एक मामला है। और, शायद, http://stats.stackexchange.com/ – Rcoster

+1

पर एक प्रश्न आर-सहायता के लिए क्रॉस-पोस्ट किया गया: http://thread.gmane.org/gmane.comp.lang.r.general/291112 –

उत्तर

5

टिप्पणी में सुझाव के रूप में आप प्वासों मॉडल रखने के लिए और के साथ यह कर सकता है एक ऑफसेट:

glm(response~predictor1+predictor2+predictor3+ ... + offset(log(population), 
    family=poisson,data=...) 

या आप एक द्विपद GLM इस्तेमाल कर सकते हैं, या तो

glm(cbind(response,pop_size-response) ~ predictor1 + ... , family=binomial, 
     data=...) 

या

glm(response/pop_size ~ predictor1 + ... , family=binomial, 
     weights=pop_size, 
     data=...) 

उत्तरार्द्ध रूप कभी-कभी अधिक सुविधाजनक होता है, हालांकि कम व्यापक रूप से उपयोग किया जाता है। ध्यान रखें कि सामान्य रूप से पोइसन से द्विपदीय स्विचिंग में लिंक फ़ंक्शन लॉग से लॉग इन करने के लिए बदल जाएगा, हालांकि यदि आप चाहें तो family=binomial(link="log")) का उपयोग कर सकते हैं।

शून्य-मुद्रास्फीति पोइसन + ऑफसेट संयोजन के साथ मॉडल करना आसान हो सकता है (मुझे यकीन नहीं है कि pscl पैकेज, ज़िप के लिए सबसे आम दृष्टिकोण, ऑफ़सेट हैंडसेट करता है, लेकिन मुझे लगता है कि यह करता है), जो और अधिक होगा आमतौर पर शून्य-फुलाए गए बिनोमियल मॉडल से उपलब्ध है।

मुझे लगता है कि glmmADMB एक शून्य-फुर्ती बिनोमियल मॉडल करेगा, लेकिन मैंने इसका परीक्षण नहीं किया है।

+1

बेन - बहुत बढ़िया जवाब। आप सही हैं कि pscl पैकेज ज़िप मॉडल के साथ ऑफ़सेट की अनुमति देगा। हालांकि, जब मैं ऑफसेट के साथ फिट करने की कोशिश करता हूं, तो यह ऑफसेट के बिना मॉडल के साथ-साथ फिट नहीं होता है। यह अजीब लगता है। साथ ही, मुझे नहीं पता कि भविष्यवाणी मूल्य कैसे प्रभावित होते हैं। यदि मैं pscl में zeroinfl() फ़ंक्शन का उपयोग करता हूं, तो सूत्र में ऑफसेट होने से पूर्वानुमानित मानों की व्याख्या बदल जाती है? – Noah