क्या मुझे अपने पॉइसन GLM के लिए ऑफ़सेट का उपयोग करना चाहिए?


11

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

model1 <- glm(g_den ~ method + site + depth, poisson)

मेरे 3 भविष्यवक्ता चर विधि, साइट और गहराई हैं, जिन्हें मैंने इनपुट करते समय कारकों के रूप में आदेश दिया था।

मेरी प्रतिक्रिया चर कुरूप प्रजातियों की समृद्धि, ग्रूपर घनत्व और अन्य मछली समूहों के लिए समान है। मुझे पता है कि घनत्व पूर्णांक नहीं है और यह संख्यात्मक डेटा है जैसे 1.34849। मुझे अब यह त्रुटि मिल रही है:

In dpois(y, mu, log = TRUE) : non-integer x = 0.037500

मैं पढ़ रहा हूं और बहुत से लोग एक ऑफसेट का उपयोग करने का सुझाव देते हैं, क्या यह करना सबसे उचित है?


1
यह वास्तव में R का उपयोग करने के बारे में नहीं है। यह R प्रश्न के रूप में प्रच्छन्न एक बुनियादी सांख्यिकीय प्रश्न है। यह यहाँ विषय पर होना चाहिए।
गूँग - मोनिका

जवाबों:


11

यहाँ कई मुद्दे हैं:

  1. आपको अपनी प्रतिक्रिया चर के रूप में प्रेक्षित गणनाओं का उपयोग करने की आवश्यकता है। आपको घनत्व ( g_den) का उपयोग नहीं करना चाहिए ।
  2. यदि देखी गई संख्याएं अलग-अलग क्षेत्रों से हैं, तो आपको उन क्षेत्रों के लॉग को एक नए चर के रूप में लेने की आवश्यकता है:

    larea = log(area)
  3. आप दो अलग-अलग तरीकों से टिप्पणियों के लिए अलग-अलग क्षेत्रों के लिए नियंत्रण कर सकते हैं:

    • lareaएक ऑफसेट के रूप में उपयोग करके । यह आपकी प्रतिक्रिया को वास्तव में एक दर बना देगा (भले ही आपके मॉडल के बाएं हाथ पर सूचीबद्ध है, एक गिनती है )।
    • lareaएक कोवरिएट के रूप में उपयोग करके । यह अलग-अलग क्षेत्रों के लिए नियंत्रण करेगा, लेकिन आपकी प्रतिक्रिया को एक दर के बराबर नहीं बनाएगा। यह एक अधिक लचीला दृष्टिकोण है जो आपको यह आकलन करने देगा कि क्या वृद्धि lareaका गिनती पर प्रभाव बढ़ रहा है या घट रहा है (यानी, ढलान 1 से कम या अधिक है)।

निम्नलिखित सीवी थ्रेड्स में इन मुद्दों के बारे में अधिक जानकारी है:


6

ऐसा लगता है कि आपने सर्वेक्षण किए गए पानी की मात्रा (या शायद क्षेत्र) द्वारा मछली की गिनती को विभाजित किया है। उस स्थिति में एक ऑफसेट वास्तव में उपयुक्त है, आपको जो कुछ भी आपने विभाजित किया है उसके लॉग का उपयोग करना चाहिए। शायद

model1 <- glm(g_den ~ method + site + depth + offset(log(area)), poisson)

(पहले गलत संस्करण से संपादित, लॉग गुम)

त्रुटि संदेश के लिए कारण यह है कि पॉसन वितरण सामान्य रूप से पूर्णांक-मूल्यवान है, लेकिन प्रतिक्रिया पूर्णांक नहीं थी। एक बार ऑफसेट मौजूद होने पर यह बदल जाता है; (प्रतिक्रिया / ऑफसेट) एक पूर्णांक होना चाहिए (निश्चित रूप से यह है कि मूल गणना पूर्णांक थे)।


2
आप उल्लेख करते हैं कि आपको अपने उत्तर में क्षेत्र के लॉग ट्रांसफ़ॉर्मेशन का उपयोग करना चाहिए (जैसा कि पॉइसन मॉडल लॉग लिंक का उपयोग करता है) लेकिन आपका कोड परिवर्तन नहीं करता है। मुझे नहीं लगता कि offsetडिफ़ॉल्ट रूप से परिवर्तन लागू होता है, लेकिन जब से मैंने इसका उपयोग किया है तब से यह एक समय हो गया है offset
iacobus

3
ध्यान दें कि डिफ़ॉल्ट रूप से परिवर्तन लागू offset() नहीं होता है; यह केवल गुणांक को बल देता है 1. देखें, जैसे, यहां
गंग -

1
टिप्पणियों के लिए धन्यवाद। तो क्या मुझे घनत्व के बजाय अपने डेटा को वापस मायने रखता है और एक अलग चर के रूप में क्षेत्र को शामिल करना चाहिए? मुझे एक अन्य मंच पर भी सलाह दी गई है कि एक गामा या उलटा गाऊसी मॉडल करें और अपने शून्य मान को 0.00001 में बदल दें यदि मैं डेटा को घनत्व के रूप में रखने के लिए था, तो क्या आपको लगता है कि यह भी उचित होगा?
विवियन

4
(सीयूnटी)=exp(βटीएक्स)आर=exp(βटीएक्स+लॉग(आर))(सीयूnटी/आर)=(सीयूnटी)/आर=exp(βटीएक्स)

5
आप प्रतिक्रिया के रूप में घनत्व का उपयोग नहीं कर सकते। आपको अपनी प्रतिक्रिया के रूप में मूल गणना का उपयोग करना चाहिए। ऑफसेट को शामिल करना स्वचालित रूप से गणना प्रतिक्रिया को सही तरीके से घनत्व के बराबर कर देगा।
गुंग - को पुनः स्थापित मोनिका

5

यदि आप Poisson का उपयोग करके मॉडल करने जा रहे हैं, तो आपके पास अपनी प्रतिक्रिया चर के लिए पूर्णांक मान होना चाहिए। आपके पास फिर दो विकल्प हैं

  • ऑफसेट के रूप में क्षेत्र या कुछ अन्य उपयुक्त भाजक का उपयोग करें। यह आमतौर पर पहले लॉग इन करने की आवश्यकता होगी
  • क्षेत्र या पूर्वानुमान सूचक चर के रूप में शामिल करें। फिर से इसे आमतौर पर लॉग के रूप में शामिल किया जाएगा क्योंकि आप लॉग काउंट को मॉडलिंग कर रहे हैं।

यदि आप ऑफसेट दृष्टिकोण का उपयोग कर रहे हैं, तो आप कह रहे हैं कि यदि मैं इस क्षेत्र को दोगुना कर दूंगा तो मुझे गणना दोगुनी होने की उम्मीद होगी। यदि आप पूर्वसूचक दृष्टिकोण का उपयोग करते हैं, तो आप कहते हैं कि आप जानते हैं कि आप जिस क्षेत्र को गिनते हैं, उसे गुणा करते हैं, लेकिन जरूरी नहीं कि उसी कारक से।

आपके लिए फ़ोन है।

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