क्या यह संभव है कि आर (या सामान्य) में प्रतिगमन गुणांक को एक निश्चित संकेत होने के लिए मजबूर किया जाए?


10

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

क्या प्रतिगमन गुणांक में से प्रत्येक के लिए एक विशिष्ट संकेत को बाध्य करने का एक तरीका है? ऐसा करने के लिए किसी भी आर कोड की सराहना की जाएगी।

किसी भी और सभी तरह की मदद के लिए धन्यवाद!




यह लिंक r-bloggers.com/positive-coeffic-regression-in-r मेरा मानना ​​है कि R- स्क्वेर वैल्यूज़ के बारे में @ JRW के सवाल के जवाब। जैसा कि पहले से ही टिप्पणी की गई है, सकारात्मक गुणांक मूल्यों को मजबूर करने से पहले देखभाल की जानी चाहिए।
Esme_

जवाबों:


11
  1. सीमांत सहसंबंध और आंशिक सहसंबंध (अन्य चर पर सहसंबंध सशर्त) के बीच अंतर से सावधान रहें। वे वैध रूप से अलग संकेत के हो सकते हैं।

    corr(Y,Xi)

  2. 00nnls

    हालाँकि मैं आपको जल्दबाज़ी में अंकों की अनदेखी करने के प्रति सावधान करता हूँ। सिर्फ इसलिए कि उनमें से कई आसानी से लागू हो जाते हैं।

    * (आप ऐसे प्रोग्राम का उपयोग कर सकते हैं जो गैर-पॉजिटिव को गैर-पॉजिटिव करने के लिए संबंधित वैरिएबल को नकारात्मक रूप से करते हैं)


10

ऐसा कोई रास्ता हो सकता है, लेकिन मैं कहूंगा कि यह आपकी परिस्थितियों में उचित नहीं है।

यदि आपके पास एक परिणाम है जो या तो असंभव है:

1) आपके डेटा के साथ एक समस्या है 2) "असंभव" या 3 की आपकी परिभाषा के साथ एक समस्या है) आप गलत तरीके का उपयोग कर रहे हैं

सबसे पहले, डेटा की जाँच करें। दूसरा, कोड की जाँच करें। (या दूसरों से इसे जाँचने के लिए कहें)। अगर दोनों ठीक हैं तो शायद कुछ अप्रत्याशित हो रहा है।

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

लेकिन, अगर आप भाग्यशाली हैं, तो आपको कुछ नया मिला है। जैसा कि मेरे पसंदीदा प्रोफेसर कहते थे, "यदि आप आश्चर्यचकित नहीं हैं, तो आपने कुछ भी नहीं सीखा है"।


(+1 पीटर और ग्लेन दोनों के लिए) @JRW - यदि आप साइन को ठीक करते हैं, तो मैं दीवार पर एक मक्खी बनना पसंद करता हूं, जब आप अपने दर्शकों को आपके द्वारा प्राप्त "गुणांक", और उसके आत्मविश्वास अंतराल को समझाने की कोशिश करते हैं। इसके अलावा, वे वैध रूप से पूछ सकते हैं, क्या आपने दूसरों के हस्ताक्षर और / या सीमा को ठीक किया? यदि नहीं, तो क्यों नहीं?
रोलैंडो 2

6

अपने विशिष्ट प्रश्न का उत्तर देने के लिए, आप nnls पैकेज की कोशिश कर सकते हैं जो गुणांक पर गैर-नकारात्मक बाधाओं के साथ कम से कम वर्ग प्रतिगमन करता है। आप उपयुक्त भविष्यवक्ताओं के संकेतों को बदलकर अपने इच्छित संकेतों को प्राप्त करने के लिए इसका उपयोग कर सकते हैं।

वैसे, यहां डेटासेट को सकारात्मक सहसंबंध और नकारात्मक प्रतिगमन गुणांक होना संभव है, यह प्रदर्शित करने के लिए एक डेटासेट बनाने का एक बहुत ही सरल तरीका है।

> n <- rnorm(200)
> x <- rnorm(200)
> d <- data.frame(x1 = x+n, x2= 2*x+n, y=x)
> cor(d)
      x1        x2         y
 x1 1.0000000 0.9474537 0.7260542
 x2 0.9474537 1.0000000 0.9078732
 y  0.7260542 0.9078732 1.0000000
> plot(d)
> lm(y~x1+x2-1, d)

Call:
lm(formula = y ~ x1 + x2 - 1, data = d)

Coefficients:
x1  x2  
-1   1  

मैं सिर्फ इस nnls पैकेज के साथ चारों ओर से घिरा हुआ है। क्या कोई समायोजित आर-स्क्वेर्ड मान (या कुछ समतुल्य) प्राप्त करने का कोई तरीका है, या क्या मुझे किसी भी तरह से खुद की गणना करने की कोशिश करनी होगी?
JRW
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.