लॉजिस्टिक रिग्रेशन: समूहीकृत और अनियंत्रित चर (आर का उपयोग करके)


9

मैं ए अग्रेंजी (2007), एन इंट्रोडक्शन टू कमोरियल डेटा एनालिसिस , 2 डी पढ़ रहा हूं । संस्करण, और मुझे यकीन नहीं है कि अगर मैं इस पैराग्राफ (p.106, 4.2.1) को सही ढंग से समझता हूं (हालांकि यह आसान होना चाहिए):

पिछले अध्याय में खर्राटों और हृदय रोग पर तालिका 3.1 में, 254 विषयों ने हर रात खर्राटों की सूचना दी, जिनमें से 30 को हृदय रोग था। यदि डेटा फ़ाइल ने बाइनरी डेटा को समूहीकृत किया है, तो डेटा फ़ाइल में एक रेखा इन आंकड़ों को हृदय रोग के 30 मामलों को 254 के एक नमूने के आकार के रूप में रिपोर्ट करती है। यदि डेटा फ़ाइल में द्विआधारी डेटा नहीं है, तो डेटा फ़ाइल में प्रत्येक पंक्ति एक को संदर्भित करती है। अलग विषय, इसलिए 30 लाइनों में हृदय रोग के लिए 1 और 224 रेखाओं में हृदय रोग के लिए 0 होता है। एमएल अनुमान और एसई मान या तो डेटा फ़ाइल के प्रकार के लिए समान हैं।

अनग्रुप्ड डेटा (1 आश्रित, 1 स्वतंत्र) के एक सेट को ट्रांसफ़ॉर्म करने में सभी जानकारी को शामिल करने में अधिक "एक लाइन" लग जाएगी !?

निम्नलिखित उदाहरण में एक (अवास्तविक) सरल डेटा सेट बनाया गया है और एक लॉजिस्टिक प्रतिगमन मॉडल का निर्माण किया जाता है।

समूहीकृत डेटा वास्तव में कैसा लगेगा (चर टैब?) समूहबद्ध डेटा का उपयोग करके एक ही मॉडल का निर्माण कैसे किया जा सकता है?

> dat = data.frame(y=c(0,1,0,1,0), x=c(1,1,0,0,0))
> dat
  y x
1 0 1
2 1 1
3 0 0
4 1 0
5 0 0
> tab=table(dat)
> tab
   x
y   0 1
  0 2 1
  1 1 1
> mod1=glm(y~x, data=dat, family=binomial())

जवाबों:


11

तालिका 3.1 को नीचे प्रस्तुत किया गया है:

यहाँ छवि विवरण दर्ज करें

अग्रेस्टी ने खर्राटों के स्तर के लिए निम्नलिखित संख्यात्मक अंकों पर विचार किया: {0,2,4,5}।

जीएलएम को आर के साथ फिट करने के दो तरीके हैं: या तो आपके परिणाम को 0/1 के वेक्टर के रूप में प्रदान किया जाता है या दो स्तरों के साथ एक कारक, आपके सूत्र के आरएचएस पर भविष्यवाणियों के साथ; या आप सूत्र के lhs के रूप में सफलता / विफलता के लिए मायने रखने वाले दो कॉलम के साथ एक मैट्रिक्स दे सकते हैं। उत्तरार्द्ध क्या एग्रेस्टी कॉल 'समूहीकृत' डेटा से मेल खाती है। एक तीसरी विधि, जो समूहीकृत सेटिंग्स पर भी लागू होती है, यह weights=इंगित करने के लिए तर्क का उपयोग करना होगा कि वर्गीकरण तालिका के प्रत्येक वर्ग के लिए कितने सकारात्मक और नकारात्मक परिणाम देखे गए।

मैट्रिक्स दृश्य में डेटा पढ़ा जाएगा:

snoring <- matrix(c(24,35,21,30,1355,603,192,224), nc=2)

इस से, हम एक data.frameलंबे प्रारूप (2484 पंक्तियों = sum(snoring)टिप्पणियों) में इस प्रकार उत्पन्न कर सकते हैं :

snoring.df <- data.frame(snoring=gl(4, 1, labels=c("Never", "Occasional",
                                                   "Nearly every night", 
                                                   "Every night")),
                         disease=gl(2, 4, labels=c("Yes", "No")),
                         counts=as.vector(snoring))
snoring.df <- snoring.df[rep(seq_len(nrow(snoring.df)), snoring.df$counts), 1:2]

और निम्नलिखित दो मॉडल समान परिणाम देंगे:

levels(snoring.df$snoring) <- c(0, 2, 4, 5)
y <- abs(as.numeric(snoring.df$disease)-2)
x <- as.numeric(as.character(snoring.df$snoring))
fit.glm1 <- glm(y ~ x, family=binomial)

fit.glm2 <- glm(snoring ~ c(0, 2, 4, 5), family=binomial)

यही है, एगेस्टी के अंकन का उपयोग करते हुए , ।logit[π^(x)]=3.87+0.40x

दूसरी संकेतन का उपयोग अक्सर एक निर्देश के साथ समग्र तालिका पर किया जाता है cbind(a, b), जैसे कि बाइनरी ईवेंट के लिए कहां aऔर कहां के bकॉलम हैं (उदाहरण के लिए, सामान्यीकृत रैखिक मॉडल देखें )। ऐसा लगता है कि यह मैट्रिक्स के बजाय तालिका का उपयोग करते समय भी काम करेगा (जैसा कि आपके उदाहरण में), उदा

glm(as.table(snoring) ~ c(0, 2, 4, 5), family=binomial)

आपका बहुत बहुत धन्यवाद! एक सही जवाब! मेरे पास एक सरल जोड़ है: as.table (खर्राटों) के बजाय मैं अपने उदाहरण के एक समकक्ष के रूप में तालिका (x, y, dnn = c ('खर्राटे', 'रोग)) का सुझाव दूंगा, क्योंकि समूह में अपंजीकृत का परिवर्तन डेटा भी रूचि का था।
शिला खण्ड

1
@ नमस्ते तुम सही हो। अब भी आपको अपने विज्ञापन तदर्थ के निर्माण की आवश्यकता होगी । उदाहरण के लिए, कुछ इस तरह tab <- table(x,y, dnn=c('snoring','disease')); glm(tab ~ as.numeric(rownames(tab)), family=binomial)काम करेगा (गुणांक के लिए ऋण चिह्न उलट क्योंकि "हाँ" को 1 के बजाय 0 कोडित किया गया है)।
chl
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.