आर में फ़ंक्शन एलएम में वजन का उपयोग कैसे करें?


21

क्या कोई weightsआर के lmसमारोह में तर्क का उपयोग करने के बारे में कुछ संकेत दे सकता है ? उदाहरण के लिए, उदाहरण के लिए, आप ट्रैफ़िक डेटा पर एक मॉडल फिट करने की कोशिश कर रहे थे, और आपके पास कई सौ पंक्तियाँ थीं, जिनमें से प्रत्येक एक शहर का प्रतिनिधित्व करती थी (एक अलग आबादी के साथ)। यदि आप चाहते थे कि मॉडल जनसंख्या के आकार के आधार पर प्रत्येक अवलोकन के सापेक्ष प्रभाव को समायोजित करे, तो क्या आप केवल निर्दिष्ट कर सकते हैं weights=[the column containing the city's population]? क्या सदिश का वह प्रकार है जो अंदर जा सकता है weights? या आपको पूरी तरह से एक अलग आर फ़ंक्शन / पैकेज / दृष्टिकोण का उपयोग करने की आवश्यकता होगी?

यह सुनने के लिए उत्सुक हैं कि लोग इससे कैसे निपटते हैं - मैंने इसे किसी भी रेखीय मॉडलिंग ट्यूटोरियल में कवर नहीं किया, जो मैंने वहां देखा था। धन्यवाद!

जवाबों:


17

मुझे लगता है कि lmआपके प्रश्न के उत्तर में आर पेज बहुत अच्छा है। वजन के लिए एकमात्र आवश्यकता यह है कि आपूर्ति की गई वेक्टर डेटा के समान लंबाई होनी चाहिए। आप डेटा सेट में केवल चर के नाम की आपूर्ति कर सकते हैं, R बाकी, NA प्रबंधन आदि का ध्यान रखेगा। आप weightतर्क में सूत्रों का उपयोग भी कर सकते हैं । यहाँ उदाहरण है:

x <-c(rnorm(10),NA)
df <- data.frame(y=1+2*x+rnorm(11)/2, x=x, wght1=1:11)

## Fancy weights as numeric vector
summary(lm(y~x,data=df,weights=(df$wght1)^(3/4))) 

# Fancy weights as formula on column of the data set
summary(lm(y~x,data=df,weights=I(wght1^(3/4))))

# Mundane weights as the column of the data set
summary(lm(y~x,data=df,weights=wght1))

ध्यान दें कि वजन सकारात्मक होना चाहिए, अन्यथा आर एक त्रुटि पैदा करेगा।


लेकिन क्या वजन एक के बराबर है? मुझे अपने lmसारांश में अलग-अलग परिणाम मिलते हैं, अगर उन्हें बनाम नहीं ...
पैलेस चान

नहीं, वज़न को एक के बराबर करने की आवश्यकता नहीं है। lmसारांश में क्या अलग है ? गुणांक या मानक त्रुटियां?
एमपिकेटस

अवशिष्ट और उनकी मानक त्रुटि भिन्न होती है लेकिन गुणांक और उनकी त्रुटियां नहीं होती हैं।
पैलेस चान

3

आप जो सुझाव दें वह काम करना चाहिए। देखें कि क्या यह समझ में आता है:

lm(c(8000, 50000, 116000) ~ c(6, 7, 8))
lm(c(8000, 50000, 116000) ~ c(6, 7, 8), weight = c(123, 123, 246))
lm(c(8000, 50000, 116000, 116000) ~ c(6, 7, 8, 8))

दूसरी लाइन तीसरी इंटरप्रिटेशन के प्रभाव के समान, अन्य दो अवलोकनों में से प्रत्येक के वजन का अपेक्षाकृत दो गुना अधिक एक अवलोकन करके, तीसरी पंक्ति (पहली लाइन के परिणाम से अलग) के रूप में एक ही अवरोधन और ढलान का उत्पादन करती है।


मैंने कोशिश की लेकिन यह पाया कि summaryआउटपुट 2 और 3 लाइन के लिए अलग-अलग हैं, विशेष रूप से गुणांक के पी-मूल्य के लिए, मुझे आश्चर्य है कि यह तब होगा जब 2 स्टेटमेंट समान डेटासेट का संदर्भ लें। मैंने इस बारे में एक सवाल stackoverflow.com/questions/10268689/weighted-regression-in-r
lokheart
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.