दो घटता की सुविधाओं की तुलना कैसे करें?


11

मुझे दो घटता f (x) और g (x) की तुलना करने की आवश्यकता है। वे एक ही एक्स रेंज (कहते हैं -30 से 30) में हैं। f (x) में कुछ तेज चोटियाँ या चिकनी चोटियाँ और घाटियाँ हो सकती हैं। g (x) में समान शिखर और घाटियाँ हो सकती हैं। अगर ऐसा है तो मुझे इस बात पर एक उपाय चाहिए कि दृश्य निरीक्षण के बिना ये विशेषताएं कितनी अच्छी तरह से मेल खाती हैं। मैंने निम्नलिखित तरीके से इस समस्या को हल करने की कोशिश की है।

  1. फ़ंक्शन के कुल क्षेत्र द्वारा प्रत्येक डेटा बिंदु को विभाजित करके दोनों कार्यों को सामान्य करें। अब सामान्यीकृत फ़ंक्शन का क्षेत्र 1.0 है
  2. प्रत्येक x में f (x) और g (x) में से न्यूनतम मान मिलता है। यह मुझे एक नया फ़ंक्शन देगा जो मूल रूप से f (x) और g (x) के बीच का अतिव्यापी क्षेत्र है।
  3. जब मैं चरण 2 के परिणामी फ़ंक्शन को एकीकृत करता हूं तो मुझे 1.0 में से कुल ओवरलैपिंग क्षेत्र मिलता है

हालाँकि यह मुझे नहीं बताता कि चोटियाँ और घाटियाँ मेल खाती हैं या नहीं। मुझे यकीन नहीं है कि अगर ऐसा किया जा सकता है, लेकिन अगर कोई ऐसा तरीका जानता है तो मैं आपकी मदद की सराहना करूंगा।

== EDIT == स्पष्टीकरण के लिए मैंने एक छवि शामिल की है।

नमूना घटता है

दो घटों (काले और नीले) के बीच का अंतर समान नहीं हो सकता है, लेकिन इसमें पूरक आकार होंगे।

पृष्ठभूमि: कार्य एक परिसर के परमाणु कक्षाओं के राज्यों (पीडीओएस) के घनत्व का अनुमान है। इसलिए मेरे पास s, p, d ऑर्बिटल्स के लिए राज्य हैं। मैं यह निर्धारित करना चाहता हूं कि क्या सामग्री में सपा, पीडी या डीडी संकरण (कक्षीय मिश्रण) है। मेरे पास एकमात्र डेटा PDOS है। यदि कहें कि s orbital (function f (x)) के PDOS में p orbital (function g (x)) के PDOS की समान ऊर्जा (x मान) की चोटियाँ और घाटियाँ हैं, तो उस सामग्री में sp मिक्सिंग है।


1
शायद यह mathoverflow.net पर ले ?
यूफोरिक

1
मुझे आश्चर्य है कि अगर डिजिटल ऑडियो लोगों को इसी तरह की समस्याएं हैं?
डेन पिचेलमैन

धन्यवाद व्यंग्यात्मक, मैं mathoverflow.net पर सवाल पूछूँगा
laalee

@ लाले कृपया स्टैक एक्सचेंज नेटवर्क पर एक से अधिक साइट पर अपना प्रश्न न पूछें। साथ ही मैथ ओवरफ्लो रिसर्च-लेवल मैथ है। गणित स्टैक एक्सचेंज गैर-अनुसंधान स्तर है। यदि आप चाहें तो मैं इसे मठ या कहीं और स्थानांतरित कर सकता हूं।
वर्ल्ड इंजीनियर

मैं क्षमाप्रार्थी हूं। मैंने उसे मैथवेटफ्लो में हटाने की कोशिश की लेकिन मुझे कोई रास्ता नहीं मिला। अगर आप इसे हटा सकते हैं तो मैं सराहना करूंगा। धन्यवाद
laalee

जवाबों:


4

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

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

आधार रेखा को हटाने के बाद, आप सामान्य कर सकते हैं और अवशिष्ट उत्पन्न कर सकते हैं या RMSD (सरल दृष्टिकोण) कर सकते हैं या अपने द्वारा खोजे जा रहे प्रत्येक प्रक्षेपास्त्र को ढाँक कर (या जो भी मॉडल उपयुक्त हो) चोटी / घाटी की विशेषताओं का पता लगाने का प्रयास कर सकते हैं। यदि आप चोटियों को फिट करने में सक्षम हैं, तो आप चोटी के स्थानों और अर्ध-चौड़ाई की तुलना कर सकते हैं।

अगर आप पायथन को जानते हैं, तो SciPy पर नज़र डालें। सौभाग्य।


आपके उत्तर के लिए धन्यवाद। हालांकि मैं इस बारे में स्पष्ट नहीं हूं कि आधार रेखा कैसे खोजनी है। प्रत्येक मामले में एक अलग कार्य होगा जिसकी मैं समय से पहले भविष्यवाणी नहीं कर सकता।
laalee

3

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


यह मूल्यों के बीच अंतर पर विचार करता है, जो शून्य नहीं हो सकता है, हालांकि आकार समान हैं।
laalee

3

जैसा कि मैंने इसे अनसुना कर दिया है, आप जिस जानकारी की तलाश कर रहे हैं, वह फ़ंक्शन की "झांकी देस विविधताओं" से अवगत कराती है - मुझे बहुत खेद है कि मुझे इसके लिए अंग्रेजी नाम नहीं पता है!

यह तालिका एक भिन्न फ़ंक्शन f से संबंधित है और आप इसका निर्माण f ' की जड़ों का पता लगाकर करते हैं और इन शून्य के बीच प्रत्येक अंतराल पर f' का चिह्न निर्धारित करते हैं ।

इसलिए, यदि f ' और g' के शून्य से अधिक या कम संयोग होते हैं और शोध के कार्य सहमत होते हैं, तो उनके पास एक समान प्रोफ़ाइल होगी।

पहली चीज जो मैं करने की कोशिश करूंगा वह होगी:

  1. एक छोटा ε चुनें
  2. अंतराल में बड़ी संख्या में N की संख्या को x [i] अंतराल में खींचें जहां फ़ंक्शन परिभाषित किए गए हैं।

  3. प्रत्येक नोड के लिए, मतभेदों की गणना करें F [i] = f (x [i] + -) - f (x [i] - i) और G [i] = g (x [i] + ε) - g (x) [i] - i)

  4. यदि प्रत्येक नोड पर, F [i] और G [i] दोनों ε² से छोटे हैं या दोनों के पास एक ही संकेत है, तो निष्कर्ष निकालें कि दोनों कार्यों में लगभग समान प्रोफ़ाइल है।

क्या यह काम करता है?


धन्यवाद आपके मनोहर उत्तर के लिए मिचीपिली। वर्तमान में मैं एक समय सीमा को पूरा करने की कोशिश कर रहा हूं। लेकिन मैं इसे जल्द से जल्द लागू करूंगा और आपको
बता दूंगा

1

जानवर बल: इस मान के साथ सबसे छोटा गैर-शून्य फ्लोट मूल्य ज्ञात करें जैसे कि चरण, पूरे डोमेन के माध्यम से जाएं और जांचें कि क्या मान बराबर हैं?

== EDIT ==

हममम ... यदि "समान आकार" से आपका मतलब है g (x) = c * f (x), तो इस समाधान को संशोधित किया जाना चाहिए - डोमेन के प्रत्येक तत्व के लिए आप f (x) / g (x) की गणना करें और जांचें कि क्या परिणाम प्रत्येक बिंदु के लिए समान है (बेशक, अगर जी (एक्स) == 0, तो आप जांचते हैं कि एफ (एक्स) == 0, आप विभाजित करने की कोशिश नहीं कर रहे हैं)।

यदि "समान आकार" का अर्थ "स्थानीय ऑप्टिमस और झुकने वाले बिंदु समान हैं" ... ठीक है, स्थानीय ऑप्टिमस और झुकने के बिंदुओं को f (x) और g (x) (डोमेन तत्वों के सेट के रूप में) और जाँच करें, यदि वे सेट बराबर हैं।

तीसरा विकल्प: f (x) = g (x) + c। बस जांचें कि क्या डोमेन के प्रत्येक तत्व में समान अंतर f (x) -g (x) है। यह पहले मामले के रूप में लगभग समान है, लेकिन विभाजन के बजाय आपके पास अंतर है।

== YOT ANOTHER EDIT ==

खैर ... ऊपर दिए गए संपादन से दूसरा तरीका उपयोगी हो सकता है। इसके अलावा, आप इसे पहले डर्वेटिव (सांकेतिक नहीं, लेकिन df (x) = f (x) - f (x-step) के रूप में परिकलित चिह्न की तुलना के साथ मर्ज कर सकते हैं। यदि दोनों फ़ंक्शंस में पूरे डोमेन में व्युत्पन्न का एक ही चिन्ह है, तो केवल सुनिश्चित होने के लिए ऑप्टिमस और झुकने के बिंदुओं की जांच करें। मैं कहूंगा कि यह शर्तें आपको क्या करने के लिए पर्याप्त होनी चाहिए।


आपके उत्तर के लिए धन्यवाद फिलिप। लेकिन फ़ंक्शंस में समान मान नहीं हो सकते हैं लेकिन उनका आकार समान होता है।
लाले

मैं इस टिप्पणी को संपादित के रूप में उत्तर देने के लिए ले जाता हूं। इसकी जांच - पड़ताल करें।
फिलिप मलकैक

आपके उत्तर के लिए धन्यवाद फिलिप। मैंने अपनी समस्या को स्पष्ट करने के लिए एक छवि जोड़ी है।
लाएले

1

दृश्य निरीक्षण के बिना ये विशेषताएं कितनी अच्छी तरह मेल खाती हैं।

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

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

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

निश्चित रूप से कोई एकल सही उत्तर नहीं है। जैसे ही आप तरीके आजमाएंगे आपको कई अलग-अलग परिणाम मिलेंगे। लेकिन, कुछ टावरों की तुलना में कुछ परिणाम बेहतर हैं। सैद्धांतिक तर्क सही दिशा में शुरू करने में मदद कर सकता है, लेकिन कैसे मापदंडों को सेट करें और अपनी पद्धति को ठीक करें, अंततः उन्हें केवल बाहर की कोशिश करके और वास्तविक दुनिया के परिणामों की तुलना करके ही पाया जा सकता है।

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