2009-02-26 20 views
11

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

यदि आपके पास कुछ स्थानिक इंटरपोलेशन योजनाओं का उपयोग करने का कोई अनुभव है, तो कृपया इसके बारे में बताएं।

यूपीडी: इस सवाल को और अधिक प्रतिस्पर्धी बनाने के लिए, मैंने इसे बहाल कर दिया है। यह "बहुआयामी इंटरपोलेशन के किस तरीके का आपने कभी उपयोग किया है?"

+0

क्या हमारे पास ऑनलाइन लेख होने पर आलेख का लिंक हो सकता है? –

+0

निश्चित रूप से। मैंने एक प्रश्नोत्तरी लिंक के साथ प्रश्न निकाय को अद्यतन किया है। – akalenuk

उत्तर

6

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

2

मैंने देखा है कि एकमात्र एप्लिकेशन littleCMS कोड (ओपन सोर्स कलर मैनेजमेंट इंजन) में से एक है।

पहली बार मैंने इसे चेक किया, यह सिर्फ एक धुरी में एक रैखिक इंटरपोलेशन किया, और फिर उस परिणाम और अन्य अक्ष में बिंदु के बीच अंतरण किया। मैंने इसे फिर से लोड किया है, और लगता है कि यह बहुत अधिक परिष्कृत है। आपके द्वारा उल्लिखित आलेख की तुलना नहीं कर सकता है, लेकिन इसे जांचना चाह सकता है, यह cmslut.c फ़ाइल में है।

+0

जो कोड आप देख रहे हैं वह टेट्राहेड्रल इंटरपोलेशन को कार्यान्वित कर रहा है। मैथवर्क्स में आलेख [http://blogs.mathworks.com/steve/2006/11/24/tetrahedral-interpolation-for-colorspace-conversion/] रंगों के रूपांतरण के लिए यह एक अच्छी तकनीक क्यों है। अन्य अनुप्रयोगों के लिए आपका लाभ भिन्न हो सकता है। –

1

मैंने सतही हेरफेर LINK के लिए 3 डी बिखरे हुए डेटा की चिकनाई के साथ काम किया। इसमें कई बिंदु शामिल थे और मैं एक बहुत चिकनी सतह चाहता था, इसलिए प्रक्रिया को पहले डेटा के लिए सबसे अच्छी तरह से दूसरी ऑर्डर सतह मिली और फिर एक विश्राम चरण जहां अंक सतह पर लगाए गए थे। यह मूल डेटा के लिए एक इंटरपोलिंग सतह नहीं है, लेकिन, यह एक अनुकूलित तरीके से इंटरपोलेंट के क्रम को कम करने का एक तरीका था।

विधि उस टुकड़े के क्षेत्रों पर परिचालन करने में शामिल है जो दूसरे आदेश के अनुमान के लिए उपयुक्त थे।

विधि की अन्य रोचक विशेषता यह है कि अंक त्रिभुजों की लंबवत थे और कनेक्टिविटी चिकनाई के दौरान संरक्षित है।

15

(यह लंबे समय मिल जाएगा, जब तक कि मैं सिर्फ भाप से बाहर चलाने के।)

पहले, गैर बिखरे हुए डेटा के बारे में कुछ टिप्पणी नहीं। (उत्तर देखें कि छोटे सीएमएस संदर्भ)

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

कई साल पहले हम सब महसूस किया कि तीन-रैखिक प्रक्षेप रंग इमेजिंग, में कलाकृतियों जब लागू किया परिचय कुछ प्रकार के परिवर्तनों के लिए। न्यूट्रल में समस्याएं देखी जाती हैं। एक समाधान 6-टेट्राहेड्रा में घन को विच्छेदन करके, 3-डी में, एक सादगीय इंटरपोलेंट में स्थानांतरित करना है। एन आयामों में, इकाई घन फैक्टोरियल (एन) simplexes में विच्छेदन किया जाएगा। घन के अन्य विच्छेदन भी हैं, लेकिन यह विशेष शैली आश्वासन देती है कि मुख्य विकर्ण हमेशा सभी सरलताओं के लिए एक साझा किनारा है। यह बदले में कुछ रंगीन लुकअप टेबल पर लागू होने पर, न्यूट्रल के लिए अच्छा व्यवहार बहाल करता है।

अब मुझे सही बिखरे हुए डेटा इंटरपोलेशन के प्रश्न में शामिल होने दें।

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

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

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

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

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

बुनियादी व्यापार यहां स्पष्ट होना चाहिए। यदि आपको एक चिकनी इंटरपोलेंट की आवश्यकता है और केवल कुछ बिंदु हैं, तो आरबीएफ विधियों को अक्सर चुना जाता है। वे सरल, उपयोग करने में आसान आदि हैं।चुनी गई वास्तविक विधि अक्सर सुविधा, या यहां तक ​​कि आदत का मामला है। अगर मैंने पहले एक उपकरण का उपयोग किया है और खुश था, तो मैं शायद इसके साथ फिर से खुश रहूंगा। चूंकि सवाल यह था कि "व्यावहारिक उपयोग के लिए सबसे अच्छा" कौन सा तरीका है, मैं बताऊंगा कि संदर्भ से बाहर होने पर सबसे अच्छा व्यक्ति बहुत अच्छा व्यक्ति है। एक इंटरपोलेशन समस्या में आपके लक्ष्य क्या हैं? आप किस कौशल सेट के मालिक हैं? उपकरण का किस सेट का उपयोग आप जानते हैं कि कैसे उपयोग करें? आप किस पर्यावरण में काम करेंगे? ये सभी कारक आपकी सर्वोत्तम विधि की पसंद को प्रभावित करेंगे।

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

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

बेशक, पतली प्लेट splines, interpolatory या नहीं की कई किस्में हैं। एक बार जब आप एक आयाम से आगे जाते हैं, तो कम से कम यदि आप काम करने के इच्छुक हैं तो आपके विकल्प भी विस्तारित होते हैं।

मैं इसे पुस्तक में बदलने से पहले यहां समाप्त करूंगा।

+1

आपके उत्तर के लिए बहुत बहुत धन्यवाद! बात यह है कि, मैं वर्तमान में अपने डॉक्टरेट शोध के एक हिस्से के रूप में समायोज्य चिकनाई के साथ एक सादगी योजना पर काम कर रहा हूं, और मैं सिर्फ यह जानना चाहता था कि यह एक प्रतिक्रिया समस्या है या नहीं। एक बार फिर आपका धन्यवाद। – akalenuk

संबंधित मुद्दे