अराजक संख्यात्मक मॉडल का प्रतिगमन परीक्षण


10

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

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

जवाबों:


7

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


क्या आप एक अच्छे उदाहरण के कागज के बारे में जानते हैं? आपके उत्तर के लिए एक अच्छा जोड़ होगा।
n

मेरे सिर के ऊपर से नहीं - मैं एक अशांत मॉडलिंग करने वाला व्यक्ति नहीं हूं। मैं टॉम ह्यूजेस के कुछ और हालिया पत्रों के साथ शुरुआत करूंगा, हालांकि, और वहां से काम करूंगा।
वोल्फगैंग बैंगर्थ

मुझे लगता है कि एक गतिशील प्रणाली के शासन को निर्धारित करने के लिए सारांश आँकड़ों का उपयोग करने का यह एक अच्छा उदाहरण है: "शोर के लिए सांख्यिकीय ज्वलनशील पारिस्थितिक गतिशील प्रणाली"
जुगर्था

4

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


मुझे नहीं लगता कि पूरे जलवायु मॉडल को इस तरह से चलाया जा सकता है, लेकिन शायद प्रमुख घटक हो सकते हैं। सुपर-यूनिट टेस्ट जैसा कुछ। अछा सुझाव।
n

2
लेकिन बात यही है। आपके प्रतिगमन परीक्षणों में अच्छा कोड कवरेज होना चाहिए (gcov और जैसे आपके मित्र हैं) और जल्दी से चलना चाहिए। यदि आप अपने दैनिक प्रतिगमन परीक्षण के रूप में एक संपूर्ण जलवायु मॉडल चला रहे हैं, तो मुझे संदेह है कि आप बहुत समय बर्बाद कर रहे हैं।
बिल बर्थ

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

जैसा कि इस उत्तर में चर्चा की गई है , मुझे लगता है।
n

2

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

जहाँ तक यह बताना है कि क्या एक मॉडल "जैसा प्रदर्शन करना चाहिए, वह है", यह एक पूरी तरह से अलग सवाल है। इसका आपके द्वारा चुने गए संख्यात्मक दिनचर्या से कोई लेना-देना नहीं है। आप अपने मॉडल का निर्माण कैसे करते हैं, आपकी सरल धारणाओं से लेकर मापों / मापदंडों की गणना तक, आपको समस्या के भौतिकी पर अपने सभी निर्णयों का आधार होना चाहिए, और इसी तरह के मामलों पर किए गए पूर्व कार्य की उम्मीद करनी चाहिए। आप किसी मॉडल को किसी लैब सेटिंग में पुन: प्रस्तुत साधारण केस के साथ मान्य करने में सक्षम हो सकते हैं, लेकिन कई बार ऐसा भी होता है जब वह गैर-तुच्छ हो। यदि आप परिमाण के एक क्रम के भीतर एक महत्वपूर्ण प्रणाली पैरामीटर निर्धारित नहीं कर सकते हैं, तो आप किसी को भी उन छोटे विवरणों पर भरोसा करने की उम्मीद नहीं कर सकते हैं जो आप क्षणिक स्थानीय व्यवहार में गणना कर रहे हैं।

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