कई रैखिक प्रतिगमन मॉडल में शामिल करने के लिए चर चुनना


35

मैं वर्तमान में कई रैखिक प्रतिगमन का उपयोग करके एक मॉडल बनाने के लिए काम कर रहा हूं। अपने मॉडल के साथ इधर उधर होने के बाद, मैं अनिश्चित हूं कि कैसे निर्धारित किया जाए कि कौन सा चर रखना है और कौन सा निकालना है।

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

मेरा मानना ​​है कि यह धागा मेरे प्रश्न के समान है, लेकिन मैं अनिश्चित हूं कि मैं चर्चा की सही व्याख्या कर रहा हूं। शायद यह एक प्रायोगिक डिजाइन विषय है, लेकिन हो सकता है कि किसी को कुछ अनुभव हो जो वे साझा कर सकें।


इसका उत्तर आपके लक्ष्यों और आवश्यकताओं पर अत्यधिक निर्भर करता है: क्या आप सरल संगति की तलाश कर रहे हैं, या आप भविष्यवाणी के लिए लक्ष्य कर रहे हैं; आप व्याख्यात्मकता पर कितने ऊंचे हैं; क्या आपके पास अन्य प्रकाशनों से चर पर कोई जानकारी है जो प्रक्रिया को प्रभावित कर सकती है; चर के अंतःक्रियाएं या ट्रांसफ़ॉर्म किए गए संस्करण के बारे में कैसे: क्या आप उन लोगों को शामिल कर सकते हैं; आदि। आपको एक अच्छा जवाब पाने के लिए आप क्या करने की कोशिश कर रहे हैं, इस पर अधिक विवरण निर्दिष्ट करने की आवश्यकता है।
निक सब्बे

आपने जो पूछा, उसके आधार पर यह भविष्यवाणी के लिए होगा। अन्य चर पर प्रभाव सिर्फ संभावित सहयोग प्रदान करता है। उनके बीच कोई बातचीत नहीं है। केवल एक मूल्य को बदलने की जरूरत है, और यह किया गया है।
cryptic_star

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

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

इस पोस्ट के उत्तर भी देखें: आंकड़े.stackexchange.com/questions/34769/…
jokel

जवाबों:


19

मेरी टिप्पणी पर आपकी प्रतिक्रिया के आधार पर:

आप भविष्यवाणी देख रहे हैं। इस प्रकार, आपको गुणांक के महत्व पर वास्तव में (पर) भरोसा नहीं करना चाहिए। आप के लिए बेहतर होगा

  • एक ऐसा मानदंड चुनें, जिसमें आपकी भविष्यवाणी का सबसे अच्छा वर्णन हो (जैसे मिसक्लासिफिकेशन दर, आरओसी का एयूसी, वजन के साथ इनमें से कुछ रूप ...)
  • ब्याज के प्रत्येक मॉडल के लिए , इस मानदंड का मूल्यांकन करें। यह क्रॉसबीडेशन (आमतौर पर दस गुना), या जो भी अन्य विकल्प आपकी रुचि की अनुमति देता है, के माध्यम से एक मान्यता सेट (यदि आप भाग्यशाली या समृद्ध हैं) प्रदान कर सकते हैं। यदि संभव हो तो प्रत्येक मॉडल के लिए कसौटी के एसई का अनुमान भी लगाएं (जैसे क्रॉसड्रेसिड में अलग-अलग तह पर मूल्यों का उपयोग करके)
  • अब आप कसौटी के सर्वोत्तम मूल्य के साथ मॉडल चुन सकते हैं, हालांकि आमतौर पर सबसे पारसीमोनस मॉडल (कम से कम चर) लेने की सलाह दी जाती है जो सर्वोत्तम मूल्य के एसई के भीतर है।

ब्याज के प्रत्येक मॉडल को लिखिए : यहाँ काफी पकड़ है। 10 संभावित भविष्यवक्ताओं के साथ, यह संभावित मॉडल का एक ट्रक लोड है। यदि आपको इसके लिए समय या प्रोसेसर मिल गया है (या यदि आपका डेटा काफी छोटा है, ताकि मॉडल फिट हो जाएं और तेजी से मूल्यांकन किया जाए): एक गेंद है। यदि नहीं, तो आप इसके बारे में शिक्षित अनुमानों, आगे या पिछड़े मॉडलिंग (लेकिन महत्व के बजाय मानदंड का उपयोग करके), या बेहतर अभी तक जा सकते हैं: कुछ एल्गोरिथ्म का उपयोग करें जो मॉडल का एक उचित सेट चुनता है। एक एल्गोरिथ्म जो ऐसा करता है, विशेष रूप से लासो प्रतिगमन में दंडित प्रतिगमन है। यदि आप R का उपयोग कर रहे हैं, तो पैकेज glmnet में प्लग करें और आप जाने के लिए तैयार हैं।


+1, लेकिन क्या आप बता सकते हैं कि वास्तव में आप "सबसे बढ़िया मॉडल (कम से कम चर) जो सबसे अच्छे मूल्य के एक एसई के भीतर हैं" क्यों चुनेंगे?
रोलैंडो 2

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

13

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

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

आधुनिक कंप्यूटिंग शक्ति के साथ यह व्याख्यात्मक चर के सभी 2 ^ 10 = 1024 संभव संयोजनों को फिट करने के लिए संभव है और एआईसी, बीआईसी, या भविष्य कहनेवाला शक्ति जैसे उदाहरणों की संख्या में से एक द्वारा सर्वोत्तम मॉडल का चयन करें (उदाहरण के लिए, मूल्यों की भविष्यवाणी करने की क्षमता डेटा का एक परीक्षण सबसेट जिसे आपने अपने मॉडल को फिट करने के लिए उपयोग किए गए सेट से अलग किया है)। हालाँकि, यदि आप (स्पष्ट या स्पष्ट रूप से) 1024 मॉडल का परीक्षण करने जा रहे हैं, तो आपको शास्त्रीय दृष्टिकोण से अपने पी-मूल्यों पर पुनर्विचार करने की आवश्यकता होगी - सावधानी बरतें ...


दोनों पक्षों के प्लसस और minuses के माध्यम से उच्च स्तर के चलने के लिए धन्यवाद। इससे मुझे बहुत संदेह हुआ कि मुझे क्या संदेह है।
cryptic_star

11

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

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

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


0

लीप्स लाइब्रेरी का उपयोग करें। जब आप चरों को प्लॉट करते हैं तो y- अक्ष R ^ 2 समायोजित दिखाता है। आप यह देखते हैं कि बक्से उच्चतम R ^ 2 पर काले हैं। यह वे चर दिखाएगा जो आपको अपने कई रैखिक प्रतिगमन के लिए उपयोग करना चाहिए।

नीचे शराब उदाहरण:

library(leaps)
regsubsets.out <-
  regsubsets(Price ~ Year + WinterRain + AGST + HarvestRain + Age + FrancePop,
         data = wine,
         nbest = 1,       # 1 best model for each number of predictors
         nvmax = NULL,    # NULL for no limit on number of variables
         force.in = NULL, force.out = NULL,
         method = "exhaustive")
regsubsets.out

#----When you plot wherever R^2 is the highest with black boxes,
#so in our case AGST + HarvestRain + WinterRain + Age and the dependent var.is Price----#
summary.out <- summary(regsubsets.out)
as.data.frame(summary.out$outmat)
plot(regsubsets.out, scale = "adjr2", main = "Adjusted R^2")

यह तथाकथित 'सबसे अच्छा सबसेट' चयन से बहुत अलग नहीं है, जिसने समस्याओं को जाना है।
गुंग - को पुनः स्थापित मोनिका

leaps स्पष्ट रूप से 'सर्वश्रेष्ठ सबसेट' की गणना करता है, हालांकि यह आपको सलाह नहीं देता है कि विभिन्न आकार के सबसेट के बीच का चयन कैसे करें। (यही कारण है कि आप और आपके सांख्यिकीय पादरी के बीच बात की जा रही है।)
steveo'america

मजेदार बात यह है कि, leaps"एलन मिलर द्वारा [FORTRAN77 कोड [...] पर आधारित है, जो कि उनकी पुस्तक 'सबसेट सिलेक्शन इन रिग्रेशन' में और अधिक विस्तार से वर्णित है, एक पुस्तक है, जो इस प्रश्न के एक अन्य उत्तर में डिक्रान द्वारा उल्लिखित है :-)
jorijnsmit

0

आप Akaike सूचना मानदंड में चरण फ़ंक्शन का भी उपयोग कर सकते हैं। नीचे उदाहरण है। https://en.wikipedia.org/wiki/Akaike_information_criterion

StepModel = step(ClimateChangeModel)

स्टेपवाइज सिलेक्शन के तरीकों में बहुत सारी जानी-मानी समस्याएं हैं। यह एक अच्छा सुझाव नहीं है।
गुंग - को पुनः स्थापित मोनिका

कुछ समस्याओं गुंग साथ @consent पर चर्चा कर रहे हैं stats.stackexchange.com/questions/69452/...
SIslam

-2

सहसंबंध विश्लेषण क्यों नहीं कर रहे हैं पहले और फिर प्रतिगमन में onclude कि केवल डी.वी. के साथ corelate?


2
यह आम तौर पर चुनने का एक खराब तरीका है कि किस चर का चयन करना है, उदाहरण के लिए प्रतिगमन सही के लिए भविष्यवाणियों का चयन करने के लिए सहसंबंध मैट्रिक्स का उपयोग कर रहा है? एक सहसंबंध विश्लेषण कई प्रतिगमन के लिए काफी अलग है, क्योंकि बाद के मामले में हमें "पार्टिऑलिंग आउट" के बारे में सोचने की ज़रूरत है (प्रतिगमन ढलान संबंध को एक बार अन्य चर को ध्यान में रखते हुए दिखाते हैं ), लेकिन एक सहसंबंध मैट्रिक्स यह नहीं दिखाता है।
सिल्वरफिश

यह प्रश्न का उत्तर प्रदान नहीं करता है। एक बार आपके पास पर्याप्त प्रतिष्ठा होने के बाद आप किसी भी पोस्ट पर टिप्पणी कर पाएंगे ; इसके बजाय, ऐसे उत्तर प्रदान करें जिन्हें पूछने वाले से स्पष्टीकरण की आवश्यकता न हो । - रिव्यू से
साइकोरैक्स का कहना है कि मोनिका

1
@GeneralAbrial यह मेरे हमलों है कि इस है प्रश्न का उत्तर, एक संक्षिप्त यद्यपि। यह समस्या का एक अच्छा समाधान नहीं है, लेकिन यह है कि ऊपर / नीचे के लिए क्या कर रहे हैं। (मुझे लगता है कि "क्यों नहीं" लेखक से स्पष्टीकरण के लिए अनुरोध के बजाय एक बयानबाजी के सवाल के रूप में अभिप्रेत है।)
सिल्वरफिश

-4

मेरे सलाहकार ने इस बारे में जाने के लिए एक और संभव तरीका पेश किया। अपने सभी चर एक बार चलाएं, और फिर उन चीजों को हटा दें जो कुछ दहलीज को पूरा करने में विफल रहती हैं (हम अपनी सीमा को p <.25 के रूप में सेट करते हैं)। जब तक सभी चर उस .25 मान से नीचे नहीं आते हैं, तब तक इसे जारी रखें, फिर उन मानों की रिपोर्ट करें जो महत्वपूर्ण हैं।


1
हाय एली, यही @Peter एलिस ने अपने जवाब के दूसरे पैराग्राफ में उल्लेख किया है। वहां उनका दूसरा वाक्य उस समस्या को शामिल करता है जो इस तकनीक का परिचय देती है। क्या आपके पास एक सिद्धांत है, जो आपको बता रहा है कि आपके मॉडल में क्या भविष्यवाणियां हैं?
मिशेल

हां, @Michelle इस दृष्टिकोण के लिए दायित्व को रेखांकित करने के लिए सही है। यह बहुत ही मनमाने परिणाम उत्पन्न कर सकता है।
रोलैंडो 2

हां, इसके पीछे एक सिद्धांत है, जिसे हम विस्तार की उम्मीद कर रहे हैं। विशेष रूप से, हम देख रहे हैं कि कुछ सामाजिक संकेत (जैसे भाषण) कैसे बातचीत करते हैं। हम जानते हैं कि कौन से लोग पहले से ही ऐसा करते हैं या नहीं करते हैं। हालाँकि, हम महीन-महीन संस्करण प्रदान करने का प्रयास कर रहे हैं। इसलिए, भाषण को प्रश्न, राय, मूल्यांकन, आदि में तोड़ दिया जा सकता है
cryptic_star

2
ठीक है, इसलिए आप खोजपूर्ण विश्लेषण कर रहे हैं। :) आप विभिन्न संयोजनों की कोशिश कर सकते हैं, लेकिन आपको उस मॉडल का परीक्षण करने की आवश्यकता होगी जिसे आप नए डेटा पर समाप्त करते हैं। परिभाषा के अनुसार, आप क्या कर रहे हैं, आपके पास अपने डेटा के लिए "सर्वश्रेष्ठ" मॉडल होगा, लेकिन यदि आप डेटा का दूसरा सेट एकत्र करते हैं तो यह काम नहीं कर सकता है।
मिशेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.