प्रश्न और लागू परिदृश्य
आपके पास 200 शहरों के लिए दैनिक राइड डिमांड का दो साल का डेटा है। प्रोडक्शन जॉब प्रत्येक सोमवार को पुनः प्रशिक्षित होती है और प्रत्येक शहर के लिए अगले 7 दिनों का पूर्वानुमान लगाती है। फ़ीचर्स में पिछली मांग, सप्ताह का दिन, छुट्टियां, मौसम का पूर्वानुमान और नियोजित मूल्य प्रचार (promotions) शामिल हैं। टीम एक रैंडम ट्रेन-वैलिडेशन स्प्लिट का प्रस्ताव करती है और सबसे कम समग्र MAPE वाले मॉडल का चयन करना चाहती है।
लीकेज-मुक्त ऑफ़लाइन वैलिडेशन डिज़ाइन करें। इसमें स्प्लिटिंग, फ़ीचर उपलब्धता, बेसलाइन, मेट्रिक्स, शहरों में एकत्रीकरण (aggregation), मॉडल चयन और लॉन्च गेट्स शामिल होने चाहिए। दो साल, 200 शहर, 7 दिन और साप्ताहिक पुनः प्रशिक्षण इंटरव्यू के अनुमान हैं, उद्योग के बेंचमार्क नहीं।
यह प्रश्न डेटा साइंस, मशीन लर्निंग और फ़ॉरकास्टिंग भूमिकाओं पर लागू होता है। इसका मूल यह पुनरुत्पादित करना है कि प्रत्येक ऐतिहासिक पूर्वानुमान ऑरिजिन पर वास्तव में क्या ज्ञात था, इसलिए श्रेणी data है।
इंटरव्यूअर्स क्या मूल्यांकन करते हैं
पहला, क्या उम्मीदवार प्रोडक्शन फ़ॉरकास्टिंग प्रक्रिया को एक मूल्यांकन प्रोटोकॉल में बदल सकता है? एक मजबूत उत्तर मॉडल पर चर्चा करने से पहले फ़ॉरकास्ट ऑरिजिन, होराइज़न, पुनः प्रशिक्षण की आवृत्ति (cadence), और ट्रेनिंग-विंडो नीति तय करता है। केवल "कालानुक्रमिक रूप से विभाजित करें (split chronologically)" कहना अधूरा है।
दूसरा, क्या उम्मीदवार स्प्लिट के बाहर लीकेज ढूंढ सकता है? भविष्य की जानकारी पूर्ण-डेटा स्केलिंग, ऑरिजिन को पार करने वाली रोलिंग विंडो, संशोधित डेटा, वास्तविक मौसम, अभी तक स्वीकृत नहीं हुए प्रचार, या सभी तिथियों पर फ़िट किए गए टारगेट एन्कोडिंग के माध्यम से प्रवेश कर सकती है।
तीसरा, क्या मेट्रिक्स व्यावसायिक निर्णयों के अनुरूप हैं? एक एकल समग्र मेट्रिक दूर के होराइज़न की विफलता, कम मात्रा वाले कमजोर शहरों, लगातार पूर्वाग्रह (persistent bias), या गलत तरीके से कैलिब्रेट किए गए अंतरालों को छिपा सकती है। एक मजबूत उत्तर मॉडल के साथ सरल बेसलाइन के साथ, होराइज़न, शहर के खंड और समय-आधारित फ़ोल्ड द्वारा परिणाम प्रस्तुत करता है।
चौथा, क्या उम्मीदवार ट्यूनिंग को अंतिम अनुमान से अलग कर सकता है? रोलिंग वैलिडेशन मॉडल और थ्रेशोल्ड का चयन करता है। एक अंतिम निरंतर अवधि जिसने कभी भी चयन को प्रभावित नहीं किया, चुनी गई पाइपलाइन के प्रदर्शन का अनुमान लगाती है। मॉडल बदलते समय उस होल्डआउट का बार-बार निरीक्षण करना उसे एक अन्य वैलिडेशन सेट में बदल देता है।
उत्तर देने से पहले स्पष्ट करने योग्य प्रश्न
- वास्तविक फ़ॉरकास्ट ऑरिजिन क्या है? सोमवार 06:00 के रन को उस समय के डेटा को फ़्रीज करना चाहिए। दैनिक रोलिंग फ़ॉरकास्ट अलग-अलग ऑरिजिन और पुनः प्रशिक्षण लागत उत्पन्न करते हैं।
- क्या 7-दिवसीय पथ सीधे तैयार किया जाता है या एक बार में एक दिन पुनरावर्ती (recursively) रूप से? यह रणनीति फ़ीचर निर्माण को बदलती है और इसके लिए 1 से 7 तक के होराइज़न के परिणामों की अलग से आवश्यकता होती है।
- ऑरिजिन पर कौन से भविष्य के कोवेरिएट्स ज्ञात हैं? कैलेंडर आमतौर पर ज्ञात होते हैं; मौसम का पूर्वानुमान उपलब्ध होता है, लेकिन वास्तविक मौसम नहीं; केवल स्वीकृत और प्रकाशित प्रचार ही योग्य हैं।
- लेबल कब पूर्ण होते हैं? यदि राइड काउंट दो दिन देर से आते हैं, तो प्रशिक्षण के लिए एक समान गैप या पॉइंट-इन-टाइम स्नैपशॉट की आवश्यकता होती है।
- क्या ओवरफ़ॉरकास्टिंग और अंडरफ़ॉरकास्टिंग समान रूप से महंगे हैं? क्षमता योजना (capacity planning) में कमी और निष्क्रिय-क्षमता की असममित लागत हो सकती है जिसे केवल MAE द्वारा व्यक्त नहीं किया जा सकता है।
- क्या सभी शहर समान रूप से महत्वपूर्ण हैं? एक समान-शहर मैक्रो औसत कवरेज को मापता है; वॉल्यूम भारण समग्र प्रभाव को मापता है। कोई भी एक दूसरे की जगह नहीं ले सकता।
- प्रोडक्शन कितने इतिहास का उपयोग करता है? एक निश्चित विंडो संरचनात्मक परिवर्तन के अनुकूल हो सकती है, जबकि स्थिर वार्षिक मौसमी पैटर्न के लिए लंबे इतिहास की आवश्यकता हो सकती है।
30-सेकंड उत्तर रूपरेखा
"मैं प्रोडक्शन से उल्टी दिशा में काम करूंगा और एक रोलिंग-ऑरिजिन बैकटेस्ट चलाऊंगा। प्रत्येक ऐतिहासिक सोमवार को, मैं केवल उस समय उपलब्ध और पूर्ण डेटा का उपयोग करूंगा, प्रोडक्शन विंडो के साथ फ़िट करूंगा, अगले 7 दिनों का पूर्वानुमान लगाऊंगा, और आगे बढ़ूंगा। प्रत्येक ट्रांसफ़ॉर्म, लैग फ़ीचर और ट्यूनिंग निर्णय ट्रेनिंग फ़ोल्ड के अंदर फ़िट किया जाता है; वास्तविक भविष्य का मौसम इसके पूर्वानुमान की जगह नहीं ले सकता। मैं एक सीज़नल-नाइव बेसलाइन के साथ तुलना करूंगा और होराइज़न 1 से 7, शहर और समय-आधारित फ़ोल्ड द्वारा MAE, पूर्वाग्रह (bias), और व्यावसायिक हानि की रिपोर्ट करूंगा; एक प्रतिशत मेट्रिक को एक स्पष्ट शून्य नीति की आवश्यकता होती है। चयन के बाद, मैं एक अछूते निरंतर होल्डआउट पर एक बार मूल्यांकन करूंगा और केवल तभी लॉन्च करूंगा जब महत्वपूर्ण शहर, पीक सप्ताह और अंतराल कवरेज पूर्वनिर्धारित गेट्स पास कर लें।"
चरण-दर-चरण विस्तृत विश्लेषण
चरण 1: एक प्रोडक्शन रन को एक बैकटेस्ट फ़ोल्ड के रूप में मानें।
फ़ॉरकास्ट ऑरिजिन t के लिए, प्रशिक्षण में केवल पूर्ण लेबलों के साथ t पर उपलब्ध रिकॉर्ड हो सकते हैं। परीक्षण अंतराल t+1 से t+7 तक है। साप्ताहिक पुनः प्रशिक्षण का अनुकरण करने के लिए ऑरिजिन को 7 दिन आगे बढ़ाएं। उन शुरुआती ऑरिजिन को छोड़ दें जिनमें पाइपलाइन द्वारा आवश्यक मौसमी पैटर्न के लिए पर्याप्त इतिहास नहीं है।
एक विस्तृत होती विंडो (expanding window) t तक के सभी इतिहास का उपयोग करती है, जो डेटा उपयोग में सुधार करती है लेकिन पुराने व्यवस्थाओं (regimes) को बनाए रखती है। एक निश्चित विंडो तेज़ी से अनुकूलित होती है लेकिन वार्षिक मौसमी प्रभाव को छोड़ सकती है। बैकटेस्ट को इच्छित प्रोडक्शन नीति को पुनरुत्पादित करना चाहिए; अंतिम होल्डआउट देखने के बाद नीति चुनना उस होल्डआउट को दूषित करता है।
चरण 2: फ़ीचर-उपलब्धता अनुबंध को परिभाषित करें।
प्रत्येक फ़ीचर के लिए, इवेंट का समय, सिस्टम उपलब्धता समय, संशोधन नीति और अनुपस्थित-मान (missing-value) व्यवहार रिकॉर्ड करें। प्रत्येक ऑरिजिन पर उपलब्ध स्नैपशॉट का पुनर्निर्माण करें:
- एक दिन का लैग
tया उससे पहले से आता है, और 7-दिवसीय रोलिंग माध्यtको पार नहीं कर सकता है; - स्केलिंग, इम्प्यूटेशन, एन्कोडिंग, फ़ीचर चयन, और टारगेट ट्रांसफ़ॉर्मेशन केवल उस फ़ोल्ड के ट्रेनिंग डेटा पर फ़िट होते हैं;
tतक प्रकाशित मौसम पूर्वानुमान का उपयोग करें, बाद के वास्तविक मौसम का नहीं;- भविष्य के प्रचार फ़ीचर्स में केवल
tतक पुष्टि की गई योजनाएं शामिल हैं; - यदि लेबल दो दिन देर से आते हैं, तो प्रशिक्षण को
t-2पर समाप्त करें या एक समान गैप लागू करें।
निष्पादन योग्य जांचों को प्रत्येक ट्रेनिंग सेल के लिए available_at <= t सुनिश्चित करना चाहिए, ऑरिजिन के बाद के सभी रॉ रिकॉर्ड हटाने के बाद फ़ीचर्स को पुनर्जीवित (regenerate) करना चाहिए, और सहेजे गए स्नैपशॉट से कई ऑरिजिन को फिर से चलाना चाहिए। एक ऐतिहासिक पूर्वानुमान जो अनुपलब्ध भविष्य के डेटा को हटाने पर बदल जाता है, लीकेज या एक अपुनरुत्पादनीय निर्भरता को प्रकट करता है।
चरण 3: ऐसी बेसलाइन स्थापित करें जिन्हें गेम (game) करना कठिन हो।
कम से कम, पिछले सप्ताह के उसी कार्यदिवस का उपयोग करने वाले सीज़नल-नाइव पूर्वानुमान की तुलना करें। यदि वार्षिक मौसमी प्रभाव पर्याप्त रूप से स्थिर है तो पिछले वर्ष की बेसलाइन जोड़ें। एक जटिल मॉडल अपनी लागत तभी सही ठहराता है जब वह समान ऑरिजिन, उपलब्ध फ़ीचर्स और स्कोर्ड पंक्तियों पर लगातार जीतता है। एक अकल्पनीय रूप से बड़ा लाभ जश्न मनाने से पहले एक समय-संरेखण और लीकेज ऑडिट शुरू करना चाहिए।
चरण 4: मेट्रिक्स को विफलता लागतों के साथ सुमेलित करें।
विशिष्ट पूर्ण त्रुटि के लिए MAE, बड़ी चूकों को उजागर करने के लिए RMSE, और लगातार ओवर- या अंडरफ़ॉरकास्टिंग को प्रकट करने के लिए माध्य हस्ताक्षरित त्रुटि (mean signed error) का उपयोग करें। MAPE शून्य पर अपरिभाषित है और शून्य के करीब अस्थिर है, इसलिए यह एकमात्र मेट्रिक नहीं हो सकता है। क्रॉस-स्केल तुलना के लिए, MASE ट्रेनिंग फ़ोल्ड से गणना की गई सीज़नल-नाइव त्रुटि द्वारा त्रुटि को स्केल कर सकता है। WAPE समग्र योजना का समर्थन कर सकता है, लेकिन उच्च मात्रा वाले शहर इस पर हावी होते हैं।
क्वांटाइल पूर्वानुमानों के लिए, प्रत्येक क्वांटाइल को पिनबॉल लॉस के साथ स्कोर करें और अनुभवजन्य कवरेज की तुलना इच्छित स्तर, जैसे कि P90 से करें। कवरेज को अंतराल की चौड़ाई के साथ जोड़ा जाना चाहिए: एक अत्यधिक विस्तृत अंतराल अच्छी तरह से कवर कर सकता है लेकिन क्षमता निर्णय के लिए बेकार हो सकता है।
चरण 5: एकत्र (aggregate) करने से पहले त्रुटि की संरचना को सुरक्षित रखें।
प्रत्येक स्कोर्ड पंक्ति पर origin, horizon, city, वास्तविक और पूर्वानुमान रखें, फिर रिपोर्ट करें:
- होराइज़न 1 से 7 अलग-अलग, ताकि निकट-अवधि की सटीकता दूर के होराइज़न के पतन को छिपा न सके;
- एक समान-शहर मैक्रो औसत और एक वॉल्यूम-भारित परिणाम दोनों;
- केवल इसके माध्य ही नहीं, बल्कि समय-आधारित फ़ोल्ड्स में वितरण;
- पीक अवधियाँ, छुट्टियाँ, कम मात्रा वाले शहर, नए शहर, और असामान्य-मौसम की विंडो अलग से;
- एक शहर के भीतर एक ही दिशा वाले पूर्वाग्रह के रन।
चरण 6: रोलिंग फ़ोल्ड्स के अंदर चयन करें और अंतिम परीक्षण को लॉक करें।
मॉडल, विंडो और हाइपरपैरामीटर के लिए डेवलपमेंट रोलिंग फ़ोल्ड्स का उपयोग करें। जब तुलना की संख्या बड़ी हो तो प्रयोगों को रिकॉर्ड करें ताकि बार-बार किए गए परीक्षण कुछ फ़ोल्ड्स में शोर को चुपचाप अनुकूलित न करें। पूरी पाइपलाइन को फ़्रीज़ करें, फिर अंतिम निरंतर 8 से 12 सप्ताहों पर एक बार मूल्यांकन करें। वह अवधि एक और इंटरव्यू का अनुमान है और इसे मौसमी प्रभाव और नमूना आवश्यकताओं के साथ बदलना चाहिए।
लॉन्च गेट्स को पहले से परिभाषित करें: समग्र व्यावसायिक हानि सीज़नल-नाइव को हराती है; महत्वपूर्ण शहर रिग्रेशन थ्रेशोल्ड से अधिक नहीं होते हैं; होराइज़न 7 स्वीकार्य रहता है; पूर्वाग्रह क्षमता सहनशीलता के भीतर रहता है; और अंतराल कवरेज और चौड़ाई पास होते हैं। यदि औसत जीतता है जबकि एक महत्वपूर्ण गेट विफल हो जाता है, तो विश्व स्तर पर लॉन्च न करें—केवल उन शहरों में कैनरी (canary) रोलआउट करें जो पास होते हैं या बेसलाइन बनाए रखें।
चरण 7: प्रोटोकॉल को प्रोडक्शन मॉनिटरिंग में विस्तारित करें।
मॉडल वर्ज़न, डेटा स्नैपशॉट, फ़ॉरकास्ट ऑरिजिन, होराइज़न भविष्यवाणियां और फ़ीचर वर्ज़न लॉग करें। जब लेबल परिपक्व (mature) हो जाते हैं, तो समान मेट्रिक्स को बैकफ़िल करें और बैकटेस्ट वितरण के साथ उनकी तुलना करें। डेटा उपलब्धता, अनुपलब्धता, हस्ताक्षरित पूर्वाग्रह, होराइज़न द्वारा त्रुटि, और बेसलाइन से डेल्टा की निगरानी करें। एक व्यवस्था परिवर्तन (regime change) के बाद, यह मानने के बजाय कि बार-बार पुनः प्रशिक्षण प्रोटोकॉल को ठीक करता है, ट्रेनिंग-विंडो नीति का पुनर्मूल्यांकन करें।
उच्च गुणवत्ता वाला नमूना उत्तर
"मैं ऐतिहासिक ऑरिजिन की एक श्रृंखला पर एक प्रोडक्शन रन को पुनरुत्पादित करूंगा। यदि जॉब सोमवार को 06:00 बजे पुनः प्रशिक्षित होती है और एक साथ सात दिन का आउटपुट देती है, तो प्रत्येक फ़ोल्ड केवल उस समय पूर्ण लेबलों के साथ उपलब्ध डेटा को देखता है, प्रोडक्शन विंडो के साथ प्रशिक्षित होता है, और अगले सात दिनों का स्कोर करता है। यदि लेबल दो दिन पिछड़ते हैं, तो प्रशिक्षण ऑरिजिन से दो दिन पहले समाप्त होता है। मौसम उस समय उपलब्ध पूर्वानुमान वर्ज़न का उपयोग करता है, कभी भी वास्तविक अवलोकन का नहीं।
सभी ट्रांसफ़ॉर्मेशन फ़ोल्ड के अंदर होते हैं। स्केलर्स, इम्प्यूटर्स, एन्कोडर्स और फ़ीचर चयन केवल ट्रेनिंग पंक्तियों पर फ़िट होते हैं, जबकि लैग्स और रोलिंग विंडो ऑरिजिन से बाद में समाप्त नहीं होने चाहिए। मैं ऑरिजिन के बाद के रॉ डेटा को भी हटा दूंगा और यह सत्यापित करने के लिए फ़ीचर्स को पुनर्जीवित करूंगा कि ऐतिहासिक भविष्यवाणी नहीं बदलती है।
पहला तुलनित्र (comparator) पिछले सप्ताह का समान-कार्यदिवस सीज़नल-नाइव पूर्वानुमान है। मैं शहर, ऑरिजिन और होराइज़न द्वारा परिणाम सुरक्षित रखता हूं, फिर MAE, RMSE, हस्ताक्षरित पूर्वाग्रह और व्यावसायिक लागत की रिपोर्ट करता हूं। शहरों को समान भारण और वॉल्यूम भारण दोनों मिलते हैं। MAPE शून्य पर विफल होता है, इसलिए मैं अकेले इसका उपयोग नहीं करूंगा। क्वांटाइल के लिए, मैं पिनबॉल लॉस, होराइज़न द्वारा कवरेज, और अंतराल की चौड़ाई जोड़ूंगा।
रोलिंग फ़ोल्ड पाइपलाइन का चयन करते हैं; एक अंतिम निरंतर अवधि का एक बार उपयोग किया जाता है। उस परीक्षण से पहले लॉन्च गेट तय किए जाते हैं: कुल मिलाकर बेसलाइन को हराएं, अस्वीकार्य महत्वपूर्ण-शहर रिग्रेशन से बचें, होराइज़न 7 और पीक सप्ताह पास करें, और पूर्वाग्रह और अंतराल-कैलिब्रेशन आवश्यकताओं को पूरा करें। प्रोडक्शन में, मैं ऑरिजिन और डेटा वर्ज़न लॉग करता हूं ताकि परिपक्व लेबल समान स्लाइस को पुनरुत्पादित कर सकें। यह ऑफ़लाइन लाभ को उस सिस्टम के साथ तुलनीय बनाता है जिसे हम वास्तव में चलाएंगे।"
सामान्य गलतियाँ
- तिथियों को यादृच्छिक रूप से फेरबदल (shuffle) करना → प्रशिक्षण परीक्षण तिथि के बाद के तंत्र और फ़ीचर सांख्यिकी को देखता है → रोलिंग ऑरिजिन का उपयोग करें जो प्रोडक्शन रन को पुनरुत्पादित करते हैं।
- पूर्ण डेटासेट पर फ़ीचर बनाना और स्केलिंग करना → वैलिडेशन जानकारी प्रशिक्षण में प्रवेश कर चुकी है → प्रति फ़ोल्ड प्रत्येक ट्रांसफ़ॉर्म को फ़िट करें और उपलब्धता समय के अनुसार फ़ीचर्स को रीप्ले करें।
- मौसम के पूर्वानुमान को वास्तविक मौसम से बदलना → ऑफ़लाइन मूल्यांकन में वह जानकारी है जिसकी प्रोडक्शन में कमी थी → प्रत्येक ऑरिजिन पर उपलब्ध पूर्वानुमान विंटेज को स्टोर और उपयोग करें।
- एक समग्र MAPE की रिपोर्ट करना → शून्य, छोटे शहर, और दूर के होराइज़न गलत तरीके से संभाले जाते हैं या छिप जाते हैं → पूर्ण त्रुटि, पूर्वाग्रह, व्यावसायिक हानि, और खंडित परिणामों को मिलाएं।
- सीज़नल-नाइव बेसलाइन को छोड़ना → मॉडल की जटिलता के पास कोई विश्वसनीय वृद्धिशील (incremental) बेंचमार्क नहीं है → समान फ़ोल्ड्स और पंक्तियों पर बेसलाइन को स्कोर करें।
- अंतिम परीक्षण देखने के बाद मॉडल को बदलना → होल्डआउट अब चयन में भाग लेता है → एक बार फ़्रीज़ करें; विफलता के बाद, एक नए भविष्य के होल्डआउट की प्रतीक्षा करें।
- विश्व स्तर पर लॉन्च करना क्योंकि औसत जीतता है → उच्च मात्रा वाले शहर महत्वपूर्ण सबग्रुप रिग्रेशन को छिपा सकते हैं → सबग्रुप, पीक और होराइज़न गेट्स को पहले से परिभाषित करें और शहर द्वारा कैनरी करें।
फॉलो-अप प्रश्न और उत्तर
आप ऐसे शहर का मूल्यांकन कैसे करेंगे जो प्रशिक्षण में कभी नहीं आया है?
साधारण रोलिंग फ़ोल्ड समान शहरों को ट्रेन और टेस्ट में रखते हैं, इसलिए वे कोल्ड स्टार्ट का अनुमान नहीं लगा सकते हैं। एक शहर-होल्डआउट (city-held-out) मूल्यांकन जोड़ें: एक साझा मॉडल को प्रशिक्षित करते समय शहरों के एक समूह को पूरी तरह से हटा दें, फिर केवल स्थिर विशेषताओं या लॉन्च पर वास्तव में उपलब्ध संक्षिप्त इतिहास का उपयोग करें। क्षेत्रीय और वैश्विक नाइव बेसलाइन के विरुद्ध शून्य-इतिहास और संक्षिप्त-इतिहास के मामलों की अलग-अलग रिपोर्ट करें।
एक प्रचार 14 दिनों को प्रभावित करता है जबकि पूर्वानुमान होराइज़न 7 दिन है। क्या आपको एक गैप की आवश्यकता है?
गैप सूचना की उपलब्धता और ओवरलैपिंग लेबल्स का पालन करता है, न कि यांत्रिक रूप से होराइज़न का। यदि कोई प्रशिक्षण लेबल या समग्र ऑरिजिन के 14 दिन बाद के परिणामों का उपभोग करता है, तो इसे छोटा करें या पर्याप्त अलगाव छोड़ दें। यदि प्रचार योजना की पुष्टि ऑरिजिन से पहले की गई थी और फ़ीचर में केवल वही योजना शामिल है, तो इसकी 14-दिवसीय अवधि अपने आप में लीकेज नहीं बनाती है। प्रत्येक फ़ील्ड के लिए एक समयरेखा बनाएं।
क्या होगा यदि नया मॉडल केवल उच्च मात्रा वाले शहरों में सुधार करता है?
समान-शहर रिग्रेशन के साथ वॉल्यूम-भारित लाभ दिखाएं और व्यावसायिक आवश्यकताओं को गेट्स में बदलें। केवल उच्च मात्रा वाले शहरों के लिए नया मॉडल लॉन्च करना जबकि अन्य जगह बेसलाइन या श्रेणीबद्ध (hierarchical) मॉडल को बनाए रखना मान्य हो सकता है। एक एकल भारित औसत यह स्थापित नहीं करता है कि प्रत्येक शहर को लाभ होता है।
ऑनलाइन त्रुटि बैकटेस्ट की तुलना में बहुत खराब है। आप सबसे पहले क्या निरीक्षण करते हैं?
पुनरुत्पादनीयता के साथ शुरू करें: क्या सटीक मॉडल, ऑरिजिन, फ़ीचर स्नैपशॉट और एक्सोजेनस-वेरिएबल वर्ज़न भविष्यवाणी का पुनर्निर्माण कर सकते हैं? फिर डेटा विलंब या परिभाषा परिवर्तनों, ट्रेनिंग-सर्विंग ट्रांसफ़ॉर्मेशन अंतरों, व्यवस्था बदलावों (regime shifts) जो बेसलाइन को भी नुकसान पहुंचाते हैं, और मॉडल-विशिष्ट ड्रिफ़्ट को अलग करें। पुनः प्रशिक्षण, एक छोटी विंडो, रोलबैक, या एक नया वैलिडेशन डिज़ाइन चुनने से पहले प्रोटोकॉल बेमेल का पता लगाएं।