600 / 736FIT

Overfitting

अति-अनुकूलन

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

Overfitting, यानी जरूरत से ज्यादा फिट होना, तब होता है जब मॉडल या नियम दूसरी जगह लागू होने वाले संबंध के बजाय विकास डेटा की खास बातें सीख लेता है। इसलिए ट्रेडिंग में सबसे अच्छा ऐतिहासिक परिणाम काफी नहीं: रणनीति कैसे चुनी गई और अगले डेटा पर कैसे चली, यह भी जानना चाहिए।

पीटर bitcoin खरीदने का नियम जाँचता है। ऐतिहासिक परीक्षण में नुकसान होता है, तो वह औसत की अवधि बदलता है। फिर असफल सौदे छोड़ने की शर्त जोड़ता है। ग्राफ बेहतर होता है, लेकिन शायद वह केवल पहले देखे हुए संयोगों से बच रहा है। QuantConnect इसे प्रशिक्षण डेटा के विवरण और शोर के अनुरूप ढलना बताता है। अतीत से सीखना समस्या नहीं है। उसकी खास घटनाओं को आगे भी चलने वाला पैटर्न समझ लेना समस्या है। [1]

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

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

पीटर को विकास के लिए कुछ डेटा और बाद के मूल्यांकन के लिए दूसरा डेटा चाहिए। scikit-learn इसे नेस्टेड वैलिडेशन से समझाता है: अंदर सेटिंग चुनी जाती है, बाहर पूरी चयन प्रक्रिया का मूल्यांकन होता है। इसे परीक्षा की तैयारी और असली परीक्षा की तरह समझें। अभ्यास का सर्वोच्च अंक स्वतंत्र ग्रेड नहीं है। संकेतक चुनना और इनपुट तैयार करना भी विकास है। अंतिम नतीजे से नियम बदले, तो नई समीक्षा के लिए दूसरा उपयुक्त डेटा चाहिए; वही परीक्षा अब अनछुई नहीं रही। [4]

तस्वीरों से सीखते समय नमूने मिलाना उचित हो सकता है। क्रमिक बाजार अवलोकनों में इससे अवास्तविक परीक्षण बन सकता है; scikit-learn उनकी समय-संबंधी निर्भरता बताता है। पीटर हर समय केवल तब उपलब्ध इनपुट इस्तेमाल कर सकता है। प्रशिक्षण या चयन के लिए परिणाम भी उपलब्ध होने चाहिए: अधूरा सौदा अभी ज्ञात परिणाम नहीं है। Walk-forward Analysis पुराने डेटा से बाद के डेटा की ओर बढ़ता है। लेकिन उन्हीं नतीजों के आधार पर प्रक्रिया बार-बार बदलें, तो इससे भी नया प्रमाण नहीं मिलता। [5]

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

अगली अवधि में पीटर की रणनीति घाटा देती है। Overfitting संभावित कारण है, अकेला नहीं। बाजार, लागत या डेटा की गुणवत्ता बदल सकती है; छोटे अंतराल पर संयोग का बड़ा असर हो सकता है। scikit-learn सेटिंग या प्रशिक्षण डेटा की मात्रा बदलने पर परिणाम तुलना के लिए वैलिडेशन और लर्निंग कर्व देता है। पास-पास की सेटिंग से मिलते-जुलते नतीजे आते हैं या नहीं, यह देखना भी उपयोगी है। पर हर नया बदलाव विकास के रूप में लिखें। ऐसा निदान अपने आप ट्रेडिंग बढ़त का सांख्यिकीय प्रमाण नहीं है। [2]

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

उदाहरणउदाहरण · FIT

चयन का विजेता अगले परीक्षण में हार सकता है

इस काल्पनिक उदाहरण में पीटर ने उम्मीदवार A, B और C पहले से तय किए हैं, और सबकी पोजिशन का आकार समान तथा स्थिर है। चयन की तीन अवधियों के शुद्ध परिणाम A ⁦[8, 10, 12] USD⁩, B ⁦[6, 8, 10] USD⁩ और C ⁦[4, 6, 8] USD⁩ हैं। A, B, C क्रम में कुल ⁦[30, 24, 18] USD⁩ है। पहले लिखा नियम सबसे बड़ा कुल चुनता है; बराबरी पर इस क्रम का पहला उम्मीदवार चुना जाता है। इसलिए पीटर अगली अवधि से पहले A चुनता है। उसके बाद ही वह आगे की तीन परीक्षण अवधियों के परिणाम खोलता है: A ⁦[-6, -4, -2] USD⁩, B ⁦[1, 2, 3] USD⁩ और C ⁦[0, 1, 2] USD⁩। परीक्षण कुल ⁦[-12, 6, 3] USD⁩ हैं। मूल रूप से चुना A परीक्षण में ⁦-12 USD⁩ देता है। इसलिए परीक्षण की शुरुआती नकदी ⁦1000 USD⁩ अंत में ⁦988 USD⁩ रह जाती है। चयन का लाभ ⁦30 USD⁩ इसमें नहीं जोड़ते। पोजिशन आकार स्थिर है, रकम में सभी मॉडल लागत शामिल हैं और हर अवधि बिना खुली पोजिशन खत्म होती है; कोई कर्ज या बाहरी नकदी प्रवाह नहीं है। आरेख हर उम्मीदवार के चयन और बाद के परीक्षण कुल की तुलना करता है। अब B को बेहतर देखकर पिछला चयन बदलना मान्य नहीं है। चयन का क्रम आगे नहीं चला, लेकिन यह उदाहरण अकेले Overfitting को एकमात्र कारण साबित नहीं करता और उसकी संभावना नहीं आँकता। ये सीखने के आँकड़े हैं, वास्तविक बाजार परिणाम या रणनीति की सलाह नहीं।

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Backtesting, Walk-forward Analysis, Look-ahead Bias, Paper Trading, Trading Journal. इस प्रविष्टि का उल्लेख यहाँ भी है Technical analysis, Technical indicator, Moving average crossover, Relative Strength Index.

01क्या सरल रणनीति में भी Overfitting हो सकता है?

हाँ। अंतिम छोटा नियम एक ही डेटा पर कई कोशिशों में विजेता हो सकता है। इसलिए केवल आखिरी संस्करण की सेटिंग की संख्या नहीं, पूरी खोज का मूल्यांकन करते हैं।

02क्या नए डेटा पर खराब परिणाम Overfitting साबित करता है?

नहीं। बाजार बदलाव, लागत, डेटा की गलतियाँ या संयोग से प्रभावित छोटा अंतराल भी कारण हो सकते हैं। अंतर तरीके और परिस्थितियों की जाँच का संकेत है; वह अकेले कारण या Overfitting की संभावना तय नहीं करता।

DOC · 001QuantConnect — Optimization Parametersदस्तावेज़ DOC · 002scikit-learn — Validation and Learning Curvesदस्तावेज़ DOC · 003Bailey et al. — The Probability of Backtest Overfittingप्राथमिक स्रोत DOC · 004scikit-learn — Nested versus Non-nested Cross-validationदस्तावेज़ DOC · 005scikit-learn — Cross-validation: Evaluating Estimator Performanceदस्तावेज़ DOC · 006scikit-learn — Common Pitfalls: Data Leakageदस्तावेज़ DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance Resultsदस्तावेज़
समीक्षा की गई: स्रोत पहले · यह निवेश सलाह नहीं है