इस संदर्भ में रैंक की कमी यह कहती है कि आपके द्वारा वांछित मॉडल का अनुमान लगाने के लिए आपके डेटा में निहित अपर्याप्त जानकारी है। यह कई उत्पत्ति से उपजा है। मैं यहां स्पष्ट रूप से लॉजिस्टिक प्रतिगमन के बजाय एक सामान्य संदर्भ में मॉडलिंग के बारे में बात करूंगा, लेकिन सब कुछ अभी भी विशिष्ट संदर्भ पर लागू होता है।
कमी बस बहुत कम डेटा से स्टेम हो सकती है। सामान्य तौर पर, आप विशिष्ट रूप से n डेटा बिंदुओं से कम एन मापदंडों का अनुमान नहीं लगा सकते हैं। इसका मतलब यह नहीं है कि आप सभी की जरूरत है n अंक, जैसे कि इस प्रक्रिया में कोई शोर है, तो आप बल्कि खराब परिणाम प्राप्त करेंगे। न्यूनतम त्रुटि अर्थ में, एक समाधान चुनने के लिए एल्गोरिदम की सहायता के लिए आपको अधिक डेटा की आवश्यकता होती है। यही कारण है कि हम कम से कम वर्गों के उपकरण का उपयोग करते हैं। आपको कितने डेटा की आवश्यकता है? मुझे हमेशा पिछले जन्म में यह सवाल पूछा गया था, और इसका उत्तर आपके पास जितना था, उससे कहीं अधिक था। :)
कभी-कभी आपके पास ज़रूरत से ज़्यादा डेटा हो सकता है, लेकिन कुछ (बहुत सारे) पॉइंट्स प्रतिकृति होते हैं। प्रतिकृति इस मायने में अच्छी है कि यह शोर को कम करने में मदद करता है, लेकिन यह संख्यात्मक रैंक को बढ़ाने में मदद नहीं करता है। इस प्रकार, मान लीजिए कि आपके पास केवल दो डेटा बिंदु हैं। आप अंकों के माध्यम से एक अद्वितीय द्विघात मॉडल का अनुमान नहीं लगा सकते। प्रत्येक बिंदु की एक लाख प्रतिकृति अभी भी आपको एक सीधी रेखा से अधिक फिट करने की अनुमति नहीं देगी, जो अभी भी केवल प्रभावी रूप से एक जोड़ी है। अनिवार्य रूप से, प्रतिकृति में जानकारी सामग्री नहीं होती है। यह सब उन स्थानों पर शोर को कम करता है जहां आपके पास पहले से ही जानकारी है।
कभी-कभी आपके पास गलत स्थानों की जानकारी होती है। उदाहरण के लिए, आप दो आयामी द्विघात मॉडल फिट नहीं कर सकते हैं यदि आपके पास सभी बिंदु हैं जो सभी दो आयामों में एक सीधी रेखा में स्थित हैं। यही है, मान लीजिए कि आपके पास विमान में लाइन x = y के साथ बिखरे हुए बिंदु हैं, और आप सतह z (x, y) के लिए एक मॉडल फिट करना चाहते हैं। यहां तक कि अंकों के zillions (यहां तक कि प्रतिकृति भी नहीं) के साथ आपके पास निरंतर मॉडल से अधिक बुद्धिमानी से अनुमान लगाने के लिए पर्याप्त जानकारी होगी। आश्चर्यजनक रूप से, यह एक सामान्य समस्या है जिसे मैंने नमूना आंकड़ों में देखा है। उपयोगकर्ता आश्चर्य करता है कि वे एक अच्छा मॉडल क्यों नहीं बना सकते हैं। समस्या का निर्माण उन आंकड़ों में किया जाता है, जिनका उन्होंने नमूना लिया है।
कभी-कभी यह केवल मॉडल का विकल्प होता है। इसे "पर्याप्त डेटा नहीं" के रूप में देखा जा सकता है, लेकिन दूसरी तरफ से। आप एक जटिल मॉडल का अनुमान लगाना चाहते हैं, लेकिन ऐसा करने के लिए अपर्याप्त डेटा प्रदान किया है।
उपरोक्त सभी उदाहरणों में उत्तर को अधिक डेटा प्राप्त करना है, ऐसे स्थानों से समझदारी से नमूना लिया गया है जो उस प्रक्रिया के बारे में जानकारी प्रदान करेगा जिसकी आपके पास वर्तमान में कमी है। प्रयोगों का डिजाइन शुरू करने के लिए एक अच्छी जगह है।
हालांकि, यहां तक कि अच्छा डेटा कभी-कभी अपर्याप्त होता है, कम से कम संख्यात्मक रूप से। (अच्छे डेटा के लिए बुरी चीजें क्यों होती हैं?) यहां समस्या मॉडल से संबंधित हो सकती है। यह इकाइयों की खराब पसंद से ज्यादा कुछ नहीं हो सकता है। यह समस्या को हल करने के लिए की गई कंप्यूटर प्रोग्रामिंग से स्टेम हो सकता है। (उघ! कहां से शुरू करें?)
सबसे पहले, इकाइयों और स्केलिंग के बारे में बात करते हैं। मान लीजिए कि मैं एक समस्या को हल करने की कोशिश करता हूं जहां एक चर दूसरे की तुलना में परिमाण के बड़े आदेश हैं। उदाहरण के लिए, मान लीजिए कि मुझे एक समस्या है जिसमें मेरी ऊंचाई और मेरे जूते का आकार शामिल है। मैं नैनोमीटर में अपनी ऊँचाई मापूँगा। तो मेरी ऊंचाई लगभग 1.78 बिलियन (1.78e9) नैनोमीटर होगी। बेशक, मैं किलो-पारसेक में अपने जूते के आकार को मापने के लिए चुनूँगा, इसलिए 9.14e-21 किलो-पारसेक। जब आप प्रतिगमन मॉडलिंग करते हैं, तो रैखिक प्रतिगमन रैखिक बीजगणित के बारे में है, जिसमें चर के रैखिक संयोजन शामिल हैं। यहाँ समस्या यह है कि परिमाण के कई आदेशों से भिन्नता है (और एक ही इकाई भी नहीं।) गणित विफल हो जाएगा जब एक कंप्यूटर प्रोग्राम संख्याओं को जोड़ने और घटाने की कोशिश करता है जो परिमाण के इतने आदेशों से भिन्न होता है (एक दोहरी परिशुद्धता के लिए) संख्या,
चाल आम तौर पर आम इकाइयों का उपयोग करने के लिए है, लेकिन कुछ समस्याओं पर भी जब कि एक मुद्दा है जब चर परिमाण के कई आदेशों से भिन्न होते हैं। अधिक महत्वपूर्ण यह है कि आपकी संख्या परिमाण में समान हो।
इसके बाद, आप बड़ी संख्या और उन संख्याओं में छोटे बदलाव के साथ समस्याएं देख सकते हैं। इस प्रकार, मान लें कि आप डेटा के साथ मामूली उच्च क्रम बहुपद मॉडल बनाने की कोशिश करते हैं जहां आपके इनपुट अंतराल में झूठ बोलते हैं [1,2]। स्क्वेरिंग, क्यूबिंग, आदि, जो संख्या 1 या 2 के क्रम पर हैं, दोहरे परिशुद्धता अंकगणित में काम करने पर कोई समस्या नहीं होगी। वैकल्पिक रूप से, हर संख्या में 1e12 जोड़ें। सिद्धांत रूप में, गणित इसकी अनुमति देगा। यह सब हमारे द्वारा एक्स-अक्ष पर निर्मित किसी भी बहुपद मॉडल को स्थानांतरित करता है। इसका आकार बिल्कुल एक जैसा होगा, लेकिन दाईं ओर 1e12 द्वारा अनुवादित किया जाएगा। व्यवहार में, रैखिक बीजगणित रैंक की कमी की समस्याओं के कारण बुरी तरह से विफल हो जाएगा। आपने डेटा का अनुवाद करने के अलावा कुछ नहीं किया है, लेकिन अचानक आपको विलक्षण परिपक्वताएं दिखाई देने लगती हैं।
आमतौर पर की गई टिप्पणी "आपके डेटा को केंद्र और स्केल करने" का सुझाव होगी। प्रभावी रूप से यह डेटा को स्थानांतरित करने और स्केल करने के लिए कहता है ताकि इसका मतलब शून्य के पास हो और एक मानक विचलन जो लगभग 1 है। यह रैंक की कमी के मुद्दों को कम करने वाले अधिकांश बहुपद मॉडल के कंडीशनिंग में सुधार करेगा।
रैंक की कमी के अन्य कारण मौजूद हैं। कुछ मामलों में यह सीधे मॉडल में बनाया गया है। उदाहरण के लिए, मान लें कि मैं किसी फ़ंक्शन का व्युत्पन्न प्रदान करता हूं, तो क्या मैं विशिष्ट रूप से फ़ंक्शन का अनुमान लगा सकता हूं? बेशक, चूंकि एकीकरण में एक निरंतरता शामिल नहीं है, एक अज्ञात पैरामीटर जो आमतौर पर कुछ बिंदु पर फ़ंक्शन के मूल्य के ज्ञान से अनुमान लगाया जाता है। वास्तव में, यह कभी-कभी अनुमान समस्याओं में भी उत्पन्न होता है, जहां एक प्रणाली की विशिष्टता अध्ययन के तहत प्रणाली की मौलिक प्रकृति से ली गई है।
मैंने निश्चित रूप से एक रैखिक प्रणाली में रैंक की कमी के कई कारणों में से कुछ को छोड़ दिया है, और मैंने अब बहुत लंबे समय तक साथ दिया है। उम्मीद है कि मैं उन लोगों को समझाने में कामयाब रहा जो मैंने सरल शब्दों में कवर किए, और समस्या को कम करने का एक तरीका है।