कई स्तरों के साथ श्रेणीबद्ध चर को ढहाने का राजसी तरीका?


58

सांख्यिकीय मॉडल में एक इनपुट (भविष्यवक्ता) के रूप में उपयोग करने के उद्देश्य से कुछ श्रेणियों को कुछ श्रेणियों को ढहने (या पूलिंग) के लिए क्या तकनीक उपलब्ध है?


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

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

विशिष्ट डेटा के लिए मुझे कारक विश्लेषण, मैट्रिक्स फैक्टराइजेशन, या असतत अव्यक्त मॉडलिंग तकनीक का उपयोग करके खुशी होगी। लेकिन बड़ी संख्या में पारस्परिक रूप से अनन्य श्रेणियां हैं, इसलिए मैं किसी भी चीज़ के लिए अपने सह-अस्तित्व का शोषण करने में संकोच कर रहा हूं।

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

इस बीच, कई पत्राचार विश्लेषण (MCA) की तरह सहसंयोजकों पर आधारित कुछ, इस मामले में मुझे संदेह है क्योंकि पारस्परिक रूप से अनन्य डमी चर के बीच निहित निर्भरता के कारण - वे कई श्रेणियों के बजाय कई श्रेणीबद्ध चर का अध्ययन करने के लिए बेहतर अनुकूल हैं। एक ही चर।

संपादित करें : स्पष्ट होने के लिए, यह श्रेणियों के पतन (उन्हें नहीं चुनने) के बारे में है, और श्रेणियां भविष्यवक्ता या स्वतंत्र चर हैं। दृष्टिहीनता में, यह समस्या उन्हें सभी को "नियमित" करने और ईश्वर को 'बाहर निकालने' के लिए उपयुक्त समय की तरह लगती है। इस सवाल को देखकर खुशी हुई कि इतने सारे लोगों के लिए यह दिलचस्प है!


2
आँकड़े.स्टैकएक्सचेंज . com / questions / 230636 /… पर मेरी टिप्पणी में मेरे पास इसी तरह के सवालों की एक लंबी सूची है! एक नज़र डालें ... इसके अलावा, इस साइट को "कई स्तरों" वाले कीवर्ड खोजें, आपको कई समान प्रश्न, कुछ अच्छे उत्तर मिलते हैं।
kjetil b halvorsen

3
मेरे पास समय होने पर मैं वापस आ जाऊंगा
kjetil b halvorsen

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

1
@ssdecontrol, हाँ, मेरा प्रोटोटाइप उदाहरण टेलीफोन नंबर (या अन्य आईडी) है। मूल रूप से सही उत्तर जब पूछा गया कि इनका उपयोग करके मॉडल कैसे बनाया जाता है - नहीं!
seanv507

2
यदि आप पदानुक्रम का अनुमान लगाना चाहते हैं, तो आप न्यूरल नेटवर्क एम्बेडिंग योजनाओं में देख सकते हैं। अनिवार्य रूप से वे श्रेणियों और बाकी मॉडल के बीच न्यूरॉन्स के कम सेट का उपयोग करते हैं, ताकि मॉडल को हल करने में समान श्रेणियों के रैखिक अनुमानों को ढूंढना पड़े। यह अनिवार्य रूप से फैक्टरेशन मशीनों का एक गैर रेखीय संस्करण है। Tenorflow.org/guide/embedding
seanv507

जवाबों:


41

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

एक सरल मामले में, आपके पास एक एकल श्रेणीबद्ध भविष्यवक्ता के साथ "एक तरह से एनोवा" रैखिक मॉडल होगा: जहां मैं श्रेणीगत चर (श्रेणी) के स्तर को एन्कोड करता हूं । लेकिन आप एक समाधान पसंद कर सकते हैं जो कुछ स्तरों (श्रेणियों) को एक साथ ढहता है, जैसे { α 1 = α 2 , α 3 = α 4 = α 5

yij=μ+αi+ϵij,
i
{α1=α2,α3=α4=α5.

इससे पता चलता है कि एक नियमित दंड का उपयोग करने की कोशिश कर सकता है जो अलग-अलग अल्फ़ाज़ के साथ समाधानों को दंडित करेगा। एक दंड शब्द है कि तुरंत दिमाग में आता है यह लासो से मिलता जुलता है और इसे α i - α j के अंतर को लागू करना चाहिए , जो कि वास्तव में आप चाहते हैं: आप चाहते हैं कि उनमें से कई शून्य हों। नियमितीकरण पैरामीटर ω पार सत्यापन के साथ चुना जाना चाहिए।

L=ωi<j|αiαj|.
αiαjω

मैंने उस तरह के मॉडल के साथ कभी नहीं पेश किया है और उपरोक्त पहली चीज है जो मेरे दिमाग में आई थी। फिर मैंने यह देखने का फैसला किया कि क्या ऐसा कुछ लागू है। मैंने कुछ Google खोजों को बनाया और जल्द ही महसूस किया कि इसे श्रेणियों का संलयन कहा जाता है ; के लिए खोज lasso fusion categoricalआप संदर्भ को पढ़ने के लिए की एक बहुत कुछ दे देंगे। यहाँ कुछ है कि मैं संक्षेप में देखा है:

एंथल्स ऑफ एप्लाइड स्टैटिस्टिक्स में प्रकाशित गेर्थिस एंड टुट्ज़ 2010 एक हालिया और बहुत पठनीय पेपर की तरह दिखता है जिसमें अन्य संदर्भ होते हैं। यहाँ इसका सार है:

L1

मुझे उनके लास्सो जैसे समाधान मार्ग दिखाई देते हैं जो बताते हैं कि नियमितीकरण शक्ति बढ़ने पर दो श्रेणीबद्ध चर के स्तर एक साथ कैसे मिल जाते हैं:

गेर्थिस और टुट्ज़ 2010


1
और केवल इतना ही लिखने के बाद कि मैंने देखा कि @Kjetil ने टुट्ज़ द्वारा एक पेपर के लिए एक सप्ताह पहले ही एक लिंक दिया था ...
अमीबा का कहना है कि Reinstate Monica

1
इस पर साहित्य में खुदाई के लिए धन्यवाद! यह निश्चित रूप से एक अच्छा शुरुआती बिंदु है, विशेष रूप से इस तकनीक ("फ्यूजन") के लिए एक नाम है जिसे मैं खोज सकता हूं
छायाकार

10

मैंने इस पर एक ऐसी परियोजना के साथ कुश्ती की है, जिस पर मैं काम कर रहा हूं, और इस बिंदु पर मैंने फैसला किया है कि वास्तव में श्रेणियों को फ्यूज करने का एक अच्छा तरीका नहीं है और इसलिए मैं एक पदानुक्रमित / मिश्रित-प्रभाव मॉडल की कोशिश कर रहा हूं जहां मेरा आपके प्रमुख के बराबर एक यादृच्छिक प्रभाव है।

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

जब फ़्यूज़िंग में कोई भी निर्णय शामिल होता है (पूरी तरह से स्वचालित प्रक्रियाओं के विपरीत), तो मुझे "अन्य" श्रेणी पर संदेह होता है, जो अक्सर किसी भी तरह के राजसी समूह के बजाय कुछ चीजों के साथ श्रेणियों का एक हड़पने वाला बैग होता है।

एक यादृच्छिक प्रभाव बहुत सारे स्तरों को संभालता है, गतिशील रूप से पूल ("से ताकत खींचता है") विभिन्न स्तरों, पूर्व-अनदेखी स्तरों का अनुमान लगा सकते हैं, आदि। एक नकारात्मक पक्ष यह हो सकता है कि स्तरों का वितरण लगभग हमेशा सामान्य माना जाता है।


1
क्या आपने निकटता मैट्रिक्स के रूप में अपने दूरी मैट्रिक्स को क्लस्टर करने के लिए उपयोग किया है? आंकड़े . stackexchange.com/questions/270201/… ?
कीथ

7

Zz1,...,zKYZImpact(Z)

Impact(zk)=E(Y | Z=zk)E(Y)

YYlogitEE

वहाँ में एक अजगर कार्यान्वयन है category_encoders पुस्तकालय [2]।

R पैकेज Vtreat [3] [4] में "प्रभाव कोडिंग" नामक एक संस्करण लागू किया गया है । पैकेज (और प्रभाव कोडिंग खुद) 2016 के उन लेखकों द्वारा एक लेख में वर्णित है [5], और कई ब्लॉग पोस्टों में [6]। ध्यान दें कि वर्तमान आर कार्यान्वयन बहुराष्ट्रीय (2 से अधिक श्रेणियों के साथ श्रेणीबद्ध) या बहुभिन्नरूपी (वेक्टर-मूल्यवान) प्रतिक्रियाओं को नहीं संभालता है।

  1. डेनियल माइकसी-बैरेका (2001)। वर्गीकरण और भविष्यवाणी समस्याओं में उच्च-कार्डिनैलिटी श्रेणीबद्ध विशेषताओं के लिए एक प्रीप्रोसेसिंग योजना। ACM SIGKDD एक्सप्लोरेशन न्यूज़लेटर , खंड 3, अंक 1, जुलाई 2001, पृष्ठ 27-32। https://doi.org/10.1145/507533.507538
  2. श्रेणी एनकोडर http://contrib.scikit-learn.org/categorical-encoding/index.html
  3. जॉन माउंट और नीना ज़ुमेल (2017)। vtreat: एक सांख्यिकीय ध्वनि 'data.frame' प्रोसेसर / कंडीशनर। आर पैकेज संस्करण 0.5.32। https://CRAN.R-project.org/package=vtreat
  4. विन-वेक्टर (2017)। vtreat। GitHub रिपॉजिटरी https://github.com/WinVector/vtreat पर
  5. ज़ुमेल, नीना और माउंट, जॉन (2016)। vtreat: प्रीडिक्टिव मॉडलिंग के लिए डेटा.फ्रेम प्रोसेसर। 1611.09477v3, ArXiv ई-प्रिंटHttps://arxiv.org/abs/1611.09477v3 पर उपलब्ध है ।
  6. http://www.win-vector.com/blog/tag/vtreat/

Logit E क्या है? क्या आप कृपया सूत्र स्वयं साझा कर सकते हैं?
ऑप्टिमस प्राइम

@OptimusPrime लॉज E उम्मीद का
लोगो

ठीक है। तो उस स्थिति में, Impact (zk) = log (E (Y | Z = zk) −E (Y)) या प्रभाव (zk) = log (E (Z | z = zk)) - log (E (Y)) )?
ऑप्टिमस प्राइम

2
यह सीखने की देखरेख है और वाई से "चोरी" होने वाली स्वतंत्रता की डिग्री की संख्या को पहचानने के लिए जटिल समायोजन करेगा।
फ्रैंक हरेल

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

6

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

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

मैं https://stats.stackexchange.com/users/28666/amoeba @amoeba द्वारा दंड के सुझाव को बहुत पसंद करता हूं।


क्या आप मेरे सवाल पर एक नज़र डालने के लिए इतने दयालु हैं। आँकड़े backexhange.com/q/383887/44368 ? धन्यवाद।
हंस

क्या इस व्याख्यान की स्लाइड 15 पर वर्णित इष्टतम स्कोरिंग विधि है ? उन संदर्भों को खोजना थोड़ा कठिन है, वे सभी अन्य संदर्भों में सामान्य हैं।
छायाकार

1
मुझे यकीन है कि यह 0.85 है
फ्रैंक हरेल

यह मशीन सीखने से लक्ष्य एन्कोडिंग के विचार का एक (बेहतर) संस्करण लगता है , उदाहरण के लिए आँकड़े ।stackexchange.com
kjetil b halvorsen

2

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


यह मूल रूप से @Wayne ने सुझाव दिया है (मिश्रित प्रभाव मॉडल ~ बेयसियन पदानुक्रमित मॉडल का लगातार संस्करण), और मैंने सवाल करने के लिए टिप्पणी में क्या सुझाव दिया है। हालांकि ओपी पदानुक्रम का अनुमान लगाना चाहता है।
seanv507

1

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

लेकिन यह अच्छी तरह से हो सकता है कि समस्या मॉडलिंग के साथ है, मुझे इतना यकीन नहीं है कि श्रेणीबद्ध भविष्यवक्ता चर के इलाज के सामान्य तरीके वास्तव में पर्याप्त मार्गदर्शन देते हैं जब बहुत सारे स्तरों के साथ श्रेणीबद्ध चर होते हैं, तो टैग के लिए इस साइट को देखें [many-categories]। निश्चित रूप से कई तरीके हैं जो एक कोशिश कर सकता है, एक हो सकता है (यदि यह आपके उदाहरण के लिए एक अच्छा विचार है जिसे मैं नहीं जान सकता, तो आपने हमें अपना विशिष्ट आवेदन नहीं बताया) एक प्रकार का पदानुक्रमित श्रेणीगत चर (ओं), जो कि प्रेरित है जैविक वर्गीकरण में प्रयुक्त प्रणाली द्वारा, https://en.wikipedia.org/wiki/Taxonomy_(biology) देखें। वहाँ एक व्यक्ति (पौधे या जानवर) को पहले डोमेन, फिर किंगडम, फाइलम, क्लास, ऑर्डर, फैमिली, जीनस और अंत में प्राथमिकताओं में वर्गीकृत किया जाता है। इसलिए वर्गीकरण में प्रत्येक स्तर के लिए आप एक कारक चर बना सकते हैं। यदि आपके स्तर, एक सुपरमार्केट में बेचे जाने वाले उत्पाद हैं, कहते हैं, तो आप एक श्रेणीबद्ध वर्गीकरण बना सकते हैं, जो [खाद्य पदार्थों, बरतन, अन्य] से शुरू होता है, फिर खाद्य पदार्थों को [मांस, मछली, सब्जियां, अनाज, ...] के रूप में वर्गीकृत किया जा सकता है। जल्द ही। बस एक संभावना है, जो एक पूर्व पदानुक्रम देता है, विशेष रूप से परिणाम से संबंधित नहीं है।

लेकिन तुमने कहा:

मुझे उच्च-स्तरीय श्रेणियों के उत्पादन की परवाह है जो मेरे प्रतिगमन परिणाम के संबंध में सुसंगत हैं।

फिर आप फ़्यूज़ किए गए लस्सो की कोशिश कर सकते हैं , इस धागे में अन्य उत्तर देख सकते हैं, जो कि बड़े समूहों में स्तरों को ढहाने के एक तरीके के रूप में देखा जा सकता है, पूरी तरह से डेटा पर आधारित है, न कि स्तरों के एक पूर्व संगठन के रूप में जो कि एक पदानुक्रमित के प्रस्ताव से निहित है। स्तरों का संगठन।

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