प्रतिगमन में असंतुलित डेटा के लिए नमूनाकरण


22

वर्गीकरण में असंतुलित डेटा को संभालने पर अच्छे सवाल किए गए हैं संदर्भ , लेकिन मैं सोच रहा हूं कि लोग प्रतिगमन के लिए क्या नमूना लेते हैं।

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

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

जवाबों:


15

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

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

संपादित करें - जोड़ - वाई पर आधारित नमूना खराब क्यों है, इस पर विस्तार

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

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

यह अंडरपास या ओवरसम्पलिंग के कम गंभीर मामले तक फैला हुआ है (क्योंकि ट्रंकेशन को इसके तार्किक चरम पर ले जाया गया अंडरस्कोपिंग के रूप में देखा जा सकता है)।

यहां छवि विवरण दर्ज करें

# generate data
x <- rnorm(100)
y <- 3 + 2*x + rnorm(100)

# demonstrate
plot(x,y, bty="l")
abline(v=0, col="grey70")
abline(h=4, col="grey70")
abline(3,2, col=1)
abline(lm(y~x), col=2)
abline(lm(y[x>0] ~ x[x>0]), col=3)
abline(lm(y[y>4] ~ x[y>4]), col=4)
points(x[y>4], y[y>4], pch=19, col=4)
points(x[x>0], y[x>0], pch=1, cex=1.5, col=3)
legend(-2.5,8, legend=c("True line", "Fitted - all data", "Fitted - subset based on x",
    "Fitted - subset based on y"), lty=1, col=1:4, bty="n")

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

1
यहाँ इस मुद्दे पर फोस्टर प्रोवोस्ट नामक एनवाईयू प्रोफ से एक पेपर है: Pages.stern.nyu.edu/~fprovost/Papers/skew.PDF मेरे मामले में, मैं असंतुलित डेटा के साथ प्रतिगमन कर रहा हूं और वर्गीकरण नहीं। इसलिए मेरा सवाल है।
someben

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

2
@someben, नहीं, मुझे नहीं लगता कि इससे कोई फर्क पड़ता है। मुद्दा इससे कहीं अधिक मौलिक है।
पीटर एलिस

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

2

यह एक सवाल है कि क्या आप कारण विश्लेषण या भविष्यवाणी कर रहे हैं। पढ़ें http://m.statisticalhorizons.com/?ref=http%3A%2F%2Ft.co%2F54MWZrVAyX&url=http%3A%2F%2Fstatisticalhorizons.com%2Fprediction-vs-causation-in-regression-analysis&width=640

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

आप प्रतिगमन मॉडल के अंतिम विश्लेषण और असंतुलित डेटा सेट द्वारा "पूर्ववत करें"।


2

यह आपकी समस्या का व्यावहारिक समाधान प्रदान करने का एक प्रयास नहीं है, लेकिन मैंने अभी प्रतिगमन समस्याओं में असंतुलित डेटासेट से निपटने पर थोड़ा शोध किया था और अपने परिणाम साझा करना चाहता था:

  • अनिवार्य रूप से, यह कम या ज्यादा खुली समस्या प्रतीत होती है, जिसमें बहुत कम समाधान प्रयास प्रकाशित होते हैं (देखें क्रॉसिक 2016, "असंतुलित डेटा से सीख: खुली चुनौतियां और भविष्य की दिशाएं" )।
  • नमूनाकरण रणनीतियाँ सबसे लोकप्रिय (केवल?) समाधान के दृष्टिकोण का पीछा करती हुई प्रतीत होती हैं, अर्थात, निम्न-प्रतिनिधित्व वाली कक्षा की ओवरसम्पलिंग या अधिक-प्रतिनिधित्व वाली कक्षा का अंडरसमैंपिंग। Torgo, Ribeiro et al।, 2013 द्वारा उदाहरण देखें "प्रतिगमन के लिए SMOTE"
  • वर्णित विधियों में से सभी कुछ विधि द्वारा असतत कक्षाओं में (और लगातार वितरित) डेटा का वर्गीकरण करके और एक मानक वर्ग संतुलन विधि का उपयोग करके काम करते दिखाई देते हैं।

1

सबसे पहले, 1:10 राशन खराब नहीं है। अन्डो सैंपलिंग का सरल तरीका है-

1) वर्गीकरण समस्या के लिए, यदि आपने किसी भी नकारात्मक वर्ग को 10 से उप-नमूना किया है, तो परिणामी संभावना 10 गुना अधिक है जो होना चाहिए। आप 10 से परिणामी संभावना को सरल विभाजित कर सकते हैं (मॉडल पुनः अंशांकन के रूप में जाना जाता है)

2) फेसबुक भी उप-नमूने (लॉजिस्टिक प्रतिगमन में भविष्यवाणी पर क्लिक करने के लिए) और एक नकारात्मक डाउन सैंपलिंग करता है। पुनर्गणना सरल सूत्र p / (p + (1-p) / w) द्वारा की जाती है; जहां पी डाउनसैंपलिंग में भविष्यवाणी करता है, एनडब्ल्यू नकारात्मक डाउन सैंपलिंग दर है।


मुझे नहीं लगता कि यह इतना आसान है, अर्पित। कई नॉनलाइनर अल्गोस अंडरस्क्रम्ड क्लास के पर्याप्त उदाहरण नहीं देखते हैं और एक ओवरसैंप्ड की ओर तिरछे हो जाते हैं, और उनकी नॉनलाइनरिटी के कारण आपको इसे ठीक करने का कोई मतलब नहीं होगा।
अनातोली अलेक्सेव

1

मुझे लगता है कि आपकी समस्या को हल करने में आपकी क्या मदद हो सकती है सिंथेटिक माइनॉरिटी ओवर-सैंपलिंग तकनीक फॉर रिग्रेशन (SMOTER)। इस विषय पर कुछ शोध हुआ है। हालाँकि, यह अपने वर्गीकरण समकक्ष की तुलना में कम अन्वेषण किया गया है, जैसा कि आप की संभावना है।

मैं नीचे दिए गए पेपर का सुझाव दे सकता हूं (और यह सम्मेलन http://proceedings.mlr.press/v74/ पर प्रस्तुत किया गया था ) इस बात पर निर्भर करता है कि आप इसे शोध के नजरिए से समझने में कितनी रुचि रखते हैं। मैंने वास्तव में सिंथेटिक टिप्पणियों को उत्पन्न करने में गौसियन शोर की शुरूआत की सराहना की।

यदि आप एक व्यावहारिक समाधान में अधिक रुचि रखते हैं, तो पहले लेखक के पास उसके जीथूब पृष्ठ पर एक आर कार्यान्वयन उपलब्ध है। https://github.com/paobranco/SMOGN-LIDTA17

यदि पायथन आपके अनुनय का अधिक है, तो मैंने हाल ही में SMOGN एल्गोरिथ्म का एक पूरी तरह से Pythonic कार्यान्वयन वितरित किया है जो अब उपलब्ध है और वर्तमान में परीक्षण किया जा रहा है। https://github.com/nickkunz/smogn

मुझे उम्मीद है कि इससे मदद मिली!

ब्रैंको, पी।, तोर्गो, एल।, रिबेरो, आर। (2017)। "SMOGN: असंतुलित प्रतिगमन के लिए पूर्व-प्रसंस्करण दृष्टिकोण"। मशीन लर्निंग रिसर्च की कार्यवाही, 74: मेक्सिकन। http://proceedings.mlr.press/v74/branco17a/branco17a.pdf

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