तार्किक प्रतिगमन: सच्ची सकारात्मकता को अधिकतम करना - झूठी सकारात्मकता


9

मेरे पास एक लॉजिस्टिक रिग्रेशन मॉडल है (लोचदार नेट नियमितीकरण के साथ आर में glmnet के माध्यम से फिट), और मैं सच्चे सकारात्मक और झूठी सकारात्मक के बीच अंतर को अधिकतम करना चाहूंगा। ऐसा करने के लिए, निम्नलिखित प्रक्रिया दिमाग में आई:

  1. फ़िट मानक लॉजिस्टिक प्रतिगमन मॉडल
  2. 0.5 के रूप में भविष्यवाणी दहलीज का उपयोग करना, सभी सकारात्मक भविष्यवाणियों की पहचान करें
  3. सकारात्मक भविष्यवाणी की टिप्पणियों के लिए वजन 1 असाइन करें, अन्य सभी के लिए 0
  4. फिट वेटेड लॉजिस्टिक रिग्रेशन मॉडल

इस दृष्टिकोण के साथ क्या खामियां होंगी? इस समस्या से निपटने का सही तरीका क्या होगा?

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

मैं मानता हूं कि 0.5 कट-ऑफ पूरी तरह से मनमाना है, और जब मैंने मॉडल को भविष्यवाणी दहलीज पर चरण 1 से अनुकूलित किया जो कि सच / गलत सकारात्मक के बीच उच्चतम अंतर पैदा करता है, तो यह 0.4 के करीब हो जाता है। मुझे लगता है कि यह मेरे डेटा की तिरछी प्रकृति के कारण है - नकारात्मक और सकारात्मक के बीच का अनुपात लगभग 1: 3 है।

अभी, मैं निम्नलिखित चरणों का पालन कर रहा हूं:

  1. प्रशिक्षण / परीक्षण में डेटा विभाजित करें
  2. प्रशिक्षण पर फिट मॉडल, परीक्षण सेट में भविष्यवाणियां करें और सच्चे / झूठे सकारात्मक के बीच अंतर की गणना करें
  3. पूर्ण पर फिट मॉडल, परीक्षण सेट में भविष्यवाणियां करें और सच्चे / झूठे सकारात्मक के बीच अंतर की गणना करें

सच / झूठ सकारात्मक के बीच का अंतर चरण # 2 में चरण # 2 की तुलना में छोटा है, प्रशिक्षण सेट पूर्ण सेट का उप-समूह होने के बावजूद। चूँकि मुझे परवाह नहीं है कि # 3 में मॉडल में अधिक सच्ची नकारात्मकताएँ हैं और कम नकारात्मक बातें हैं, क्या ऐसी कोई भी चीज है जो मैं स्वयं कार्य की संभावना को बदले बिना कर सकता हूँ?


यह पूछने से पहले कि इस दृष्टिकोण के साथ क्या खामियां होंगी, शायद आपको लिखना चाहिए कि यह दृष्टिकोण क्यों काम करना चाहिए, आपकी राय में। आपको क्यों लगता है कि 2-4 कदम परिणाम में सुधार करते हैं?
user31264

इसके अलावा, क्या मैं सही हूं कि आप अंत में चरण 1 से मॉडल को छोड़ दें और चरण 4 से केवल मॉडल का उपयोग करें?
14

हां, मैं संपूर्ण डेटा सेट के साथ फिट किए गए मॉडल का उपयोग करने की योजना बना रहा था, लेकिन ऐसा करने का कोई मतलब नहीं है क्योंकि यह प्रशिक्षण सेट के साथ फिट किए गए मॉडल का प्रदर्शन कर रहा है।
tmakino

2
मेरे पास अभी इस पर कोई स्रोत नहीं है ... लेकिन क्या आप जानते हैं कि आप एक लॉजिस्टिक रिग्रेशन मॉडल का अनुकूलन कर सकते हैं ताकि एरिया अंडर (रिसीवर ऑपरेटिंग कैरेक्टर) कर्व (या एयूसी) को अधिकतम किया जा सके? पहिया को सुदृढ़ करने की आवश्यकता नहीं है।
एडमो

2
यहां मुझे जो कुछ समझ नहीं आ रहा है, वह यह है कि आपने अपने मॉडल में भविष्य की अनुमानित कीमत के बारे में कुछ भी शामिल क्यों नहीं किया है, न ही आपने अनुकूलन में लाभ / हानि के परिमाण को शामिल किया है। निश्चित रूप से "खरीदने" का एक निर्णय जो 99% नुकसान की ओर जाता है, "खरीद" करने के निर्णय की तुलना में बहुत खराब है, जो 1% हानि की ओर जाता है, भले ही दोनों गलत सकारात्मक हों।
probabilityislogic

जवाबों:


24

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

पहला, कुछ संकेतन। निर्भर चर होने जा रहा हैYi:

Yi={1Purchase i was profitable0Purchase i was un-profitable

स्वतंत्र चर (आपके द्वारा उपयोग की जाने वाली चीजों की भविष्यवाणी करने की कोशिश करने के लिए उपयोग किया जाने वाला सामान) होने जा रहा है Xi(एक वेक्टर)। आप जिस पैरामीटर का अनुमान लगाने की कोशिश कर रहे हैं वह होने जा रहा हैβ(एक वेक्टर)। आप कब खरीदने की भविष्यवाणी करेंगेXiβ>0। अवलोकन के लिएi, आप भविष्यवाणी करते हैं कि कब खरीदते हैं Xiβ>0 या जब सूचक कार्य करता है 1एक्समैंβ>0=1

अवलोकन पर एक वास्तविक सकारात्मक होता है मैं कब दोनों Yमैं=1 तथा 1एक्समैंβ>0=1। अवलोकन पर एक झूठी सकारात्मकमैं जब होता है Yमैं=0 तथा 1एक्समैंβ>0=1। आप खोजने की इच्छा रखते हैंβ जो अधिकतम सकारात्मक सकारात्मक ऋणात्मक सकारात्मकता को बढ़ाता है, या:

एक्सβΣमैं=1एनYमैं1एक्समैंβ>0-Σमैं=1एन(1-Yमैं)1एक्समैंβ>0

असतत प्रतिक्रिया मॉडल का अनुमान लगाने के लिए यह विशेष रूप से परिचित उद्देश्य फ़ंक्शन नहीं है, लेकिन जब मैं उद्देश्य फ़ंक्शन पर थोड़ा बीजगणित करता हूं, तो मेरे साथ सहन करें:

Σमैं=1एनYमैं1एक्समैंβ>0-Σमैं=1एन(1-Yमैं)1एक्समैंβ>0=Σमैं=1एनYमैं1एक्समैंβ>0-Σमैं=1एन1एक्समैंβ>0+Σमैं=1एनYमैं1एक्समैंβ>0=Σमैं=1एनYमैं1एक्समैंβ>0-Σमैं=1एन1एक्समैंβ>0+Σमैं=1एनYमैं1एक्समैंβ>0+Σमैं=1एन1-Σमैं=1एन1+Σमैं=1एनYमैं-Σमैं=1एनYमैं=Σमैं=1एनYमैं1एक्समैंβ>0+Σमैं=1एन(1-Yमैं)(1-1एक्समैंβ>0)-Σमैं=1एन1+Σमैं=1एनYमैं

ठीक है, अब ध्यान दें कि उस राशि के अंतिम दो पद कार्य के नहीं हैं β, इसलिए हम उन्हें अधिकतमकरण में अनदेखा कर सकते हैं। अंत में, हमने केवल यह दिखाया है कि जिस समस्या को आप हल करना चाहते हैं, "सही सकारात्मक और गलत सकारात्मक के बीच अंतर को अधिकतम करें" इस समस्या के समान है:

एक्सβΣमैं=1एनYमैं1एक्समैंβ>0+Σमैं=1एन(1-Yमैं)(1-1एक्समैंβ>0)

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

यह (बाइनरी) असतत प्रतिक्रिया मॉडल का अनुमान लगाने का एक बहुत अच्छा तरीका है। उदाहरण के लिए, अनुमानक सुसंगत है। (मैन्स्की, 1985, जे ऑफ इकोनोमेट्रिक्स) इस अनुमानक के लिए कुछ विषमताएँ हैं, हालाँकि। पहले, यह छोटे नमूनों में अद्वितीय नहीं है। एक बार जब आप एक मिल गया हैβ जो अधिकतमकरण को हल करता है, तो कोई अन्य β जो आपके डेटासेट में सटीक समान भविष्यवाणियां करता है, अधिकतमकरण को हल करेगा --- तो, ​​असीम रूप से कई βजो तुमने पाया, उसके करीब। इसके अलावा, अनुमानक asymptotically सामान्य नहीं है, और यह सामान्य अधिकतम संभावना आकलनकर्ताओं की तुलना में धीमी गति से परिवर्तित करता है --- घनमूलएन जड़ के बजाय एनअभिसरण। (किम और पोलार्ड, 1990, एन ऑफ स्टेट) अंत में, आप इस पर इंट्रस्ट करने के लिए बूटस्ट्रैपिंग का उपयोग नहीं कर सकते। (आबरेवाया और हुआंग, 2005, इकोनोमेट्रिक) इस अनुमानक का उपयोग करते हुए कुछ कागजात हैं हालांकि --- कॉडिल, इंटरनेशनल जर्नल ऑफ फोरकास्टिंग, अप्रैल 2003, वी। 19, आईएस द्वारा एनसीएए बास्केटबॉल टूर्नामेंट में परिणामों की भविष्यवाणी करने के बारे में एक मजेदार है। 2, पीपी 313-17।

एक अनुमानक जो इन समस्याओं में से अधिकांश पर काबू पाता है, होरोविट्ज़ का स्मूद अधिकतम स्कोर अनुमानक (होरोविट्ज़, 1992, इकोनोमेट्रिक और होरोविट्ज़, 2002, जे ऑफ़ इकोनोमेट्रिक्स) है। यह एक जड़ देता है-एनसुसंगत, asymptotically सामान्य, अद्वितीय अनुमानक जो बूटस्ट्रैपिंग के लिए उत्तरदायी है। होरोविट्ज अपने वेबपेज पर अपने अनुमानक को लागू करने के लिए उदाहरण कोड प्रदान करता है


अधिकतम स्कोर अनुमानक के साथ मेरी लागत फ़ंक्शन को बराबर करने के लिए बीजगणित को शामिल करने के लिए धन्यवाद। दिए गए सूचक फ़ंक्शन के साथβटीएक्स>0, इसका मतलब यह है कि मैं हमेशा वर्गीकृत करूंगा पी>0.5 एक सकारात्मक के रूप में और पी<=0.5नकारात्मक के रूप में? इसके अलावा, p (मॉडल आउटपुट) इनपुट के साथ लॉजिस्टिक फ़ंक्शन का उपयोग करके गणना की जाती हैβटीएक्स? वर्तमान दृष्टिकोण जो मैं उपयोग कर रहा हूं वह एयूसी लागत फ़ंक्शन है, फिर सच्ची सकारात्मकता और झूठी सकारात्मकता के बीच उच्चतम अंतर के साथ मूल्य को खोजने के लिए भविष्यवाणी दहलीज पर अनुकूलन। मैं समझता हूं कि आपका उत्तर स्पष्ट रूप से अधिकतम अंतर पाता है
tmakino

(जारी) इसे लागत फ़ंक्शन में परिभाषित करके (और 0.5 पर भविष्यवाणी दहलीज को ठीक करना), इस प्रकार मध्यवर्ती कदम को छोड़ दिया। हालाँकि, AUC पहले से मौजूद रिग्रेशन पैकेज में मौजूद है (glmnet), जबकि अधिकतम स्कोर एस्केमेटर नहीं करता है। क्या आपको लगता है कि मेरा दृष्टिकोण उचित है मेरा उद्देश्य दिया गया है?
tmakino

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

15

उस दृष्टिकोण के साथ कई चीजें गलत हैं, जिनमें शामिल हैं:

  • निरंतर संभावना के लिए कटऑफ की मांग करना
  • 0.5 के एक मनमाना कटऑफ का उपयोग करना
  • यह मानते हुए कि सभी विषयों के लिए "झूठे सकारात्मक" और "झूठे नकारात्मक" की लागत समान है
  • ऐसे वज़न का उपयोग करना जो भिन्नात्मक न हों
  • अनुमानित वजन का उपयोग करना
  • अधिकतम संभावना अनुमान को ओवरराइड करना
  • इष्टतम बेयस निर्णय सिद्धांत का उपयोग नहीं करना, जो यह तय करता है कि इष्टतम निर्णय पूरी जानकारी पर आधारित हैं (इस पर नहीं कि कुछ और चीज़ों से अधिक है) और उपयोगिता / हानि / लागत कार्य

1
धन्यवाद, क्या लॉजिस्टिक रिग्रेशन (यानी संभावना को छूए बिना) से चिपके रहते हुए इसे हासिल करने का कोई तरीका है?
tmakino

यह इस बात पर निर्भर करता है कि "यह" क्या है। अंतिम लक्ष्य क्या है और मॉडल का उपयोग कैसे किया जाएगा?
फ्रैंक हरेल

मैंने अपना प्रश्न संपादित कर दिया कि मैं क्या हासिल करने की कोशिश कर रहा हूं।
tmakino

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

8

जो आप वर्णन करने की कोशिश कर रहे हैं उसे प्राप्त करने के लिए सबसे अच्छा तरीका शायद एयूसी नुकसान फ़ंक्शन के साथ लॉजिस्टिक रिग्रेशन मापदंडों को सीधे अनुकूलित करना है। झोउ द्वारा पाठ्यपुस्तक "सांख्यिकीय विधियों में नैदानिक ​​चिकित्सा" इस पद्धति का वर्णन करता है।

एयूसी (रिसीवर ऑपरेटिंग विशेषता वक्र-- या आरओसी के तहत क्षेत्र) की मोटे तौर पर इस संभावना के रूप में व्याख्या की जाती है कि "बेतरतीब ढंग से नमूना" मामले में "नियंत्रण" की तुलना में अधिक मार्कर मूल्य होता है। यह मॉडल भेदभाव का एक उपाय है, या परिणाम को सही ढंग से वर्गीकृत करने की इसकी क्षमता है। ROC यूनिट प्लेन में एक वक्र है जो प्रतिगमन मॉडल में सभी संभावित मार्कर मानों (फिटेड परिणामों) के लिए संवेदनशीलता बनाम 1 - विशिष्टता को दर्शाता है।

लॉजिस्टिक रिग्रेशन मॉडल के पारंपरिक सूत्रीकरण का उपयोग करके,

प्रिटिट प्र(Y=1|एक्स)=α+βएक्स

मॉडल मापदंडों के लिए लॉग ऑड्स अनुपात के साथ, आप इष्टतम मापदंडों को प्राप्त करने के लिए मोटे तौर पर AUC आधारित हानि फ़ंक्शन को परिभाषित कर सकते हैं। संभावना आधारित लॉजिस्टिक प्रतिगमन के विपरीत, एयूके प्रतिगमन नियमित नहीं है और पैरामीटर स्थान में स्थानीय मैक्सिमा में परिवर्तित हो सकता है।


1
मुझे लगता है कि एयूसी यहां सबसे अच्छा नहीं है क्योंकि झूठी नकारात्मक के लिए छोटा नुकसान है, लेकिन झूठे सकारात्मक के लिए बड़ा नुकसान है।
probabilityislogic

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