आर में कई प्रतिगमन के लिए परिवर्तनशील चर


26

में एक से अधिक प्रतिगमन करने की कोशिश कर रहा हूँ R। हालाँकि, मेरे आश्रित चर में निम्नलिखित कथानक हैं:

डीवी

यहाँ मेरे सभी चरों के साथ एक स्कैप्लेट मैट्रिक्स है ( WARआश्रित चर है):

SPLOM

मुझे पता है कि मुझे इस चर (और संभवतः स्वतंत्र चर?) पर एक परिवर्तन करने की आवश्यकता है, लेकिन मुझे आवश्यक परिवर्तन के बारे में निश्चित नहीं है। क्या कोई मुझे सही दिशा दिखा सकता है? मैं स्वतंत्र और आश्रित चर के बीच संबंधों के बारे में कोई अतिरिक्त जानकारी प्रदान करने में प्रसन्न हूं।

मेरे प्रतिगमन से नैदानिक ​​ग्राफिक्स निम्नानुसार हैं:

डायग्नोस्टिक प्लॉट

संपादित करें

योन-जॉनसन परिवर्तनों का उपयोग करके निर्भर और स्वतंत्र चर को बदलने के बाद, नैदानिक ​​भूखंड इस तरह दिखते हैं:

रूपांतरित होने के बाद

यदि मैं लॉग-लिंक के साथ GLM का उपयोग करता हूं, तो नैदानिक ​​ग्राफिक्स हैं:

लॉग-लिंक के साथ जीएलएम


3
हाय @ zglaa1 और स्वागत है। आपको क्यों लगता है कि आपको चर को बदलना होगा? पहला कदम यह होगा कि मूल विचलन के साथ प्रतिगमन को फिट किया जाए और फिर फिट (अवशिष्ट आदि) को देखें। अवशिष्ट लगभग सामान्य रूप से वितरित किए जाने चाहिए, न कि चर। शायद आपको यह पोस्ट रोचक लगे।
COOLSerdash

लिंक और सुझाव दोनों के लिए आपका धन्यवाद। मैंने अपना प्रतिगमन चला लिया है और मुझे पता है कि चर को निम्नलिखित कथानक के आधार पर रूपांतरित करने की आवश्यकता है: i.imgur.com/rbmu14M.jpg मैं निष्पक्षता और अवशिष्ट में निरंतर परिवर्तनशीलता की कमी देख सकता हूं। इसके अलावा, वे सामान्य नहीं हैं।
zgall1

@COOLSerdash मैंने लिंक पर एक नज़र डाली। मेरे पास आंकड़ों में एक मूल पृष्ठभूमि है इसलिए मैं चर्चा को समझता हूं। हालाँकि, मेरी समस्या यह है कि मेरे पास वास्तव में मेरे द्वारा सीखी गई तकनीकों को लागू करने का सीमित अनुभव है, इसलिए मुझे यह पता लगाने के लिए संघर्ष करना है कि वास्तव में मुझे अपने डेटा (एक्सेल या आर में) के साथ वास्तव में आवश्यक परिवर्तन करने के लिए क्या करना है।
zgall1

ग्राफिक के लिए धन्यवाद। आप यह कह कर बिलकुल सही हैं कि यह फिट उप-रूप है। आप प्रतिगमन में DV और IVs के साथ एक स्कैप्लेटोट मैट्रिक्स का उत्पादन कर सकते हैं? इस में किया जा सकता Rकमांड के साथ pairs(my.data, lower.panel = panel.smooth)जहां my.dataआपके डेटासेट होगा।
COOLSerdash

2
lmboxcox(my.lm.model)MASSλ

जवाबों:


30

जॉन फॉक्स की पुस्तक एन आर साथी को लागू प्रतिगमन के साथ लागू प्रतिगमन मॉडलिंग पर एक उत्कृष्ट स्रोत है Rcarइस उत्तर में मैं जिस पैकेज का उपयोग करता हूं, वह पैकेज है। पुस्तक में अतिरिक्त अध्यायों वाली वेबसाइट भी है


प्रतिक्रिया रूपांतरण (उर्फ आश्रित चर, परिणाम)

RlmboxCoxcarλfamily="yjPower"

boxCox(my.regression.model, family="yjPower", plotit = TRUE)

यह निम्नलिखित की तरह एक कथानक का निर्माण करता है:

बॉक्स-कॉक्स लैम्बडैप्लॉट

λλ

अब अपने आश्रित चर को बदलने के लिए, पैकेज yjPowerसे फ़ंक्शन का उपयोग करें car:

depvar.transformed <- yjPower(my.dependent.variable, lambda)

lambdaλboxCox

महत्वपूर्ण: केवल निर्भर चर को लॉग-ट्रांसफ़ॉर्म करने के बजाय, आपको लॉग-लिंक के साथ एक जीएलएम को फिट करने पर विचार करना चाहिए। यहां कुछ संदर्भ दिए गए हैं जो आगे की जानकारी प्रदान करते हैं: पहला , दूसरा , तीसरा । ऐसा करने के लिए R, इसका उपयोग करें glm:

glm.mod <- glm(y~x1+x2, family=gaussian(link="log"))

जहां yआपके आश्रित चर और है x1, x2आदि अपने स्वतंत्र चर हैं।


भविष्यवक्ताओं का रूपांतरण

कड़ाई से सकारात्मक भविष्यवाणियों के परिवर्तन का अनुमान आश्रित चर के परिवर्तन के बाद अधिकतम संभावना से लगाया जा सकता है। ऐसा करने के लिए, पैकेज boxTidwellसे फ़ंक्शन का उपयोग करें car(मूल पेपर के लिए यहां देखें )। इसे ऐसे उपयोग करें boxTidwell(y~x1+x2, other.x=~x3+x4):। यहां महत्वपूर्ण बात यह है कि विकल्प other.xप्रतिगमन की शर्तों को इंगित करता है जिन्हें रूपांतरित नहीं किया जाना है। यह आपके सभी श्रेणीबद्ध चर होंगे। फ़ंक्शन निम्न प्रपत्र का आउटपुट उत्पन्न करता है:

boxTidwell(prestige ~ income + education, other.x=~ type + poly(women, 2), data=Prestige)

          Score Statistic   p-value MLE of lambda
income          -4.482406 0.0000074    -0.3476283
education        0.216991 0.8282154     1.2538274

incomeλincomeआयnw=1/आयएल

स्वतंत्र चर के परिवर्तन के बारे में साइट पर एक और बहुत ही दिलचस्प पोस्ट यह एक है


परिवर्तनों का नुकसान

जबकि लॉग-रूपांतरित आश्रित और / या स्वतंत्र चर की अपेक्षाकृत आसान व्याख्या की जा सकती है , अन्य की व्याख्या, अधिक जटिल रूपांतरण कम सहज (मेरे लिए कम से कम) है। उदाहरण के लिए, निर्भर चर को से बदलने के बाद आप कैसे कर सकते हैं1/yλλ


गैर-संबंध संबंधों की मॉडलिंग करना

ग़ैर-ग़रीब रिश्तों को फिट करने के लिए दो काफी लचीले तरीके भिन्नात्मक बहुपद और स्प्लिन हैं । ये तीन पत्र दोनों विधियों का बहुत अच्छा परिचय देते हैं: पहला , दूसरा और तीसरा । वहाँ भी एक पूरी है पुस्तक आंशिक बहुआयामी पद और के बारे में RR पैकेजmfp लागू आंशिक बहुआयामी पद मल्टिवेरियेबल। यह प्रस्तुति भिन्नात्मक बहुपद के बारे में जानकारीपूर्ण हो सकती है। फिट splines के लिए, आपको समारोह का उपयोग कर सकते gam(, सामान्यीकृत additive मॉडल देखें यहाँ के साथ एक उत्कृष्ट परिचय के लिए R) से पैकेजmgcv या कार्योंns(प्राकृतिक क्यूबिक स्प्लिन्स) और bs(क्यूबिक बी-स्प्लिन्स) पैकेज से splines( इन कार्यों के उपयोग के उदाहरण के लिए यहां देखें )। फ़ंक्शन gamका उपयोग करके आप यह निर्दिष्ट कर सकते हैं कि आप किन भविष्यवाणियों को स्प्लिन का उपयोग करके फिट करना चाहते हैं s():

my.gam <- gam(y~s(x1) + x2, family=gaussian())

यहाँ, एक सामान्य रेखीय प्रतिगमन के रूप में एक x1तख़्ता और x2रैखिक का उपयोग करके फिट किया जाएगा । अंदर gamआप वितरण परिवार और लिंक फ़ंक्शन निर्दिष्ट कर सकते हैं glm। तो एक लॉग-लिंक फ़ंक्शन के साथ एक मॉडल को फिट करने के लिए, आप विकल्प को family=gaussian(link="log")अंदर gamमें निर्दिष्ट कर सकते हैं glm

साइट से इस पोस्ट को देखो ।


1
अच्छे खर्च। मुझे नहीं पता है कि स्पष्ट रूप से बॉक्स-कॉक्स वास्तव में परिवर्तन को चुनने का सबसे आम तरीका है। यदि आप ऐसे लोगों की गिनती करते हैं जो किसी भी तरह से लॉग चुनते हैं, तो मेरा खुद का अनुमान है कि यह एक अल्पसंख्यक तरीका है। कि picky बिंदु स्वाभाविक रूप से कुछ और प्रभावित नहीं करता है।
निक कॉक्स

@NickCox धन्यवाद (आपके उत्तर के लिए +1, btw)। बॉक्स-कॉक्स सबसे आम तरीका है कि बयान जॉन फॉक्स की किताब से आता है। मैंने इसे अंकित मूल्य पर लिया क्योंकि मेरे पास कथन का न्याय करने के लिए पर्याप्त अनुभव नहीं है। मैं बयान निकाल दूंगा।
COOLSerdash

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

@COOLSerdash आपके विस्तृत वॉकथ्रू का उपयोग करते हुए, मैंने बॉक्स कॉक्स परिवर्तन को अपने आश्रित और फिर स्वतंत्र चर पर लागू किया और मेरे नैदानिक ​​चर के निम्नलिखित कथानक हैं - i.imgur.com/eO01djl.jpg स्पष्ट रूप से, एक सुधार है लेकिन अभी भी लगता है निरंतर परिवर्तनशीलता और निष्पक्षता के साथ मुद्दे हो सकते हैं और निश्चित रूप से सामान्यता के साथ एक मुद्दा है। मुझे यहां से कहां जाना चाहिए?
zgall1

1
@ zgall1 आपकी प्रतिक्रिया के लिए धन्यवाद, मैं इसकी सराहना करता हूं। हम्म, हाँ, परिवर्तनों से बहुत मदद नहीं मिली थी :)। इस बिंदु पर, मैं संभावित रूप से mgcvपैकेज और के साथ सामान्यीकृत एडिटिव मॉडल (GAMs) का उपयोग करके भविष्यवक्ताओं के लिए स्प्लिन का उपयोग करने का प्रयास करूंगा gam। अगर वह मदद नहीं करता है, तो मैं अपने बुद्धि के अंत में डरता हूं। यहां ऐसे लोग हैं जो मुझसे कहीं अधिक अनुभवी हैं और शायद वे आपको आगे की सलाह दे सकते हैं। मैं बेसबॉल से भी जानकार नहीं हूँ। शायद एक अधिक तार्किक मॉडल है जो इन आंकड़ों के साथ समझ में आता है।
कोलशेरश

8

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

ध्यान दें कि प्रतिक्रिया के लिए नकारात्मक मान सीधे लॉगरिदमिक परिवर्तन को नियंत्रित करते हैं, लेकिन लॉग (प्रतिक्रिया + स्थिर) नहीं, और लॉगरिदमिक लिंक के साथ एक सामान्यीकृत रैखिक मॉडल नहीं।

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

लॉग लिंक के साथ एक GLM अभी भी संभव है।

वैकल्पिक रूप से, यह हो सकता है कि आपका मॉडल किसी प्रकार की मिश्रित प्रक्रिया को दर्शाता है, जिस स्थिति में डेटा उत्पादन प्रक्रिया को अधिक बारीकी से प्रतिबिंबित करने वाला एक अनुकूलित मॉडल एक अच्छा विचार होगा।

(बाद में)

ओपी के पास लगभग 100 से -2 तक के मूल्यों के साथ एक आश्रित चर WAR है। शून्य या ऋणात्मक मानों के लघुगणक लेने के साथ समस्याओं पर काबू पाने के लिए, ओपी शून्य और नकारात्मक मानों को 0.000001 करने का प्रस्ताव करता है। अब एक लघुगणक पैमाने (आधार 10) पर उन मानों की सीमा लगभग 2 (100 या तो) से लेकर -6 (0.000001) तक है। लघुगणकीय पैमाने पर ठगने वाले बिंदुओं के अल्पसंख्यक अब बड़े पैमाने पर बाहरी लोगों के अल्पसंख्यक हैं। इसे देखने के लिए किसी अन्य चीज़ के विरुद्ध प्लॉट log_10 (ठगना WAR)।


जैसा कि आप ऊपर पोस्ट किए गए स्कैप्लेट से बता सकते हैं, मैं एक बेसबॉल स्टैटिस्टिक्स डेटा सेट का उपयोग कर रहा हूं। स्वतंत्र चर, WAR, मूल रूप से प्रमुख लीग स्तर पर एक खिलाड़ी द्वारा उनके करियर में योगदान मूल्य का एक संचयी उपाय है। स्वतंत्र चर, AdjSLG, SOPct और BBPct मामूली लीग आँकड़े हैं जो आमतौर पर प्रमुख लीग स्तर पर सफलता की भविष्यवाणी करने के लिए सोचा जाता है। आयु चर वह उम्र है जिस पर खिलाड़ी ने मामूली लीग आँकड़े बनाए। डमी वैरिएबल का उपयोग मामूली लीग स्तर को दर्शाने के लिए किया जाता है, जिस पर आँकड़े तैयार किए गए थे।
zgall1

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

1
ऐसा लगता है कि WAR आपका आश्रित चर है। आप इस साइट पर अन्य जगहों पर विवादित मेरे दावे के लिए सबूत प्रदान करते हैं, कि दो शब्द अक्सर भ्रमित होते हैं। मेरी सलाह शून्य मान (डेटा में खराबी) के लिए नकारात्मक मानों को फिर से जोड़ना नहीं है, लेकिन लॉग लिंक के साथ जीएलएम का उपयोग करना है। कृपया मेरी ओर से शून्य ब्याज, या मेरी तरफ बेसबॉल मीनुटिया के ज्ञान में रुचि लें।
निक कॉक्स

आप सही हैं कि WAR मेरा आश्रित चर है। मैं लॉग लिंक के साथ एक जीएलएम में देखूंगा। सलाह के लिए धन्यवाद।
zgall1

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