शोर या ठीक-संरचित डेटा के लिए, क्या मिडपॉइंट नियम की तुलना में बेहतर क्वाड्रेट्स हैं?


12

इस लंबे प्रश्न के केवल पहले दो खंड आवश्यक हैं। दूसरे सिर्फ दृष्टांत के लिए हैं।

पृष्ठभूमि

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

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

सवाल

मान लें कि मैं संख्यात्मक रूप से शोर या ठीक-संरचित एक-आयामी डेटा को एकीकृत करना चाहता हूं।

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

  • क्या इस तरह के मामले के लिए किसी भी तरीके को मिडपॉइंट विधि से आगे बढ़ाने का सुझाव दिया गया है?

  • या: क्या कोई प्रमाण है कि ऐसी स्थितियों में मिडपॉइंट विधि सबसे अच्छी है?

  • आम तौर पर: क्या इस समस्या पर कोई मौजूदा काम है?

परिशिष्ट A: एक ठीक संरचित फ़ंक्शन का विशिष्ट उदाहरण

मैं for: साथ और । एक विशिष्ट कार्य इस तरह दिखता है:01f(t)dtφमैं[0,2π]लोग इनωमैं[1,1000]

f(t)=i=1ksin(ωitφi)ωi,
φi[0,2π]logωi[1,1000]

सुपरिंपोज्ड सीन्स

मैंने निम्न गुणों के लिए इस फ़ंक्शन को चुना:

  • यह नियंत्रण परिणाम के लिए विश्लेषणात्मक रूप से एकीकृत किया जा सकता है।
  • इसकी एक स्तर पर ठीक संरचना है जो उन सभी नमूनों को कैप्चर करना असंभव बना देता है जो मैं उपयोग कर रहा हूं ( )।<102
  • इसकी ठीक संरचना पर इसका प्रभुत्व नहीं है।

परिशिष्ट B: बेंचमार्क

पूर्णता के लिए, यहाँ पायथन में एक बेंचमार्क है:

import numpy as np
from numpy.random import uniform
from scipy.integrate import simps, trapz, romb, fixed_quad

begin = 0
end   = 1

def generate_f(k,low_freq,high_freq):
    ω = 2**uniform(np.log2(low_freq),np.log2(high_freq),k)
    φ = uniform(0,2*np.pi,k)
    g = lambda t,ω,φ: np.sin(ω*t-φ)/ω
    G = lambda t,ω,φ: np.cos(ω*t-φ)/ω**2
    f = lambda t: sum( g(t,ω[i],φ[i]) for i in range(k) )
    control = sum( G(begin,ω[i],φ[i])-G(end,ω[i],φ[i]) for i in range(k) )
    return control,f

def midpoint(f,n):
    midpoints = np.linspace(begin,end,2*n+1)[1::2]
    assert len(midpoints)==n
    return np.mean(f(midpoints))*(n-1)

def evaluate(n,control,f):
    """
    returns the relative errors when integrating f with n evaluations
    for several numerical integration methods.
    """
    times = np.linspace(begin,end,n)
    values = f(times)
    results = [
            midpoint(f,n),
            trapz(values),
            simps(values),
            romb (values),
            fixed_quad(f,begin,end,n=n)[0]*(n-1),
        ]

    return [
            abs((result/(n-1)-control)/control)
            for result in results
        ]

method_names = ["midpoint","trapezoid","Simpson","Romberg","Gauß–Legendre"]

def med(data):
    medians = np.median(np.vstack(data),axis=0)
    for median,name in zip(medians,method_names):
        print(f"{median:.3e}   {name}")

print("superimposed sines")
med(evaluate(33,*generate_f(10,1,1000)) for _ in range(100000))

print("superimposed low-frequency sines (control)")
med(evaluate(33,*generate_f(10,0.5,1.5)) for _ in range(100000))

(मैं यहां केवल उच्च आवृत्ति सामग्री वाले कार्यों के कारण आउटलेर्स के प्रभाव को कम करने के लिए माध्यिका का उपयोग करता हूं। इस परिणाम के लिए, परिणाम समान हैं।)

रिश्तेदार एकीकरण त्रुटियों के मध्यस्थ हैं:

superimposed sines
6.301e-04   midpoint
8.984e-04   trapezoid
1.158e-03   Simpson
1.537e-03   Romberg
1.862e-03   Gauß–Legendre

superimposed low-frequency sines (control)
2.790e-05   midpoint
5.933e-05   trapezoid
5.107e-09   Simpson
3.573e-16   Romberg
3.659e-16   Gauß–Legendre

नोट: दो महीने और परिणाम के बिना एक इनाम के बाद, मैंने इसे MathOverflow पर पोस्ट किया


क्या इस तरह की समस्या में आप वास्तव में रुचि रखते हैं? 1D में, आप शायद किसी भी विधि के साथ जल्दी से अच्छे परिणाम प्राप्त कर सकते हैं।
डेविड केचेसन

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

@DavidKetcheson: क्या इस तरह की समस्या से आप वास्तव में रूचि रखते हैं? - हां, मैं वास्तव में 1 डी में दिलचस्पी रखता हूं। - 1 डी में, आप शायद किसी भी विधि के साथ जल्दी से अच्छे परिणाम प्राप्त कर सकते हैं। - याद रखें कि फ़ंक्शन मूल्यांकन महंगा हो सकता है। - फिर वास्तव में किस तरह के नोड प्लेसमेंट की अनुमति है? - मैंने अपने प्रश्न को संपादित करके इसे और अधिक स्पष्ट करने की उम्मीद की।
Wrzlprmft

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

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

जवाबों:


1

सबसे पहले, मुझे लगता है कि आप अनुकूली द्विघात की अवधारणा को गलत समझते हैं। अनुकूली चतुर्भुज "अंतःक्रियात्मक रूप से नमूना अंक रखने" का अर्थ नहीं करता है। अनुकूली चतुष्कोण के पीछे पूरा विचार एक ऐसी योजना को तैयार करना है जो एक निश्चित कार्य को एक निश्चित (अनुमानित) निरपेक्ष या सापेक्ष त्रुटि के साथ कम फ़ंक्शन मूल्यांकन के साथ एकीकृत करेगा।

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

उदाहरण के लिए QUADPACK में लागू किए गए अनुकूली द्विघात के पीछे क्या विचार है ?

  1. मूल घटक एक "नेस्टेड" चतुर्भुज नियम है: यह दो चतुर्भुज नियमों का एक संयोजन है जहां एक में दूसरे के रूप में एक उच्च क्रम (या सटीकता) है। क्यों? इन नियमों के बीच अंतर के आधार पर, एल्गोरिथ्म द्विघात त्रुटि का अनुमान लगा सकता है (निश्चित रूप से, एल्गोरिदम संदर्भ परिणाम के रूप में सबसे सटीक एक का उपयोग करेगा)। उदाहरण नोड्स और नोड्स के साथ ट्रेपोज़ॉइड नियम हो सकते हैं। क्वाडपैक के मामले में, नियम गॉस-क्रोनरोड नियम हैं। ये एक अन्य नियम गौस-लेजेंड्रे क्वाड्रैचर नियम का उपयोग करने वाले इंटरपोलिटरी क्वाड्रचर नियम हैं 2 एन + 1 एन एन 2 एन - 12n2n+1Nऔर इस नियम का एक इष्टतम विस्तार। इसका मतलब यह है कि गॉस-लिजेंड्रे नोड्स (यानी महंगा फ़ंक्शन मूल्यांकन) का उपयोग करके अलग-अलग वज़न के साथ और कई अतिरिक्त नोड्स को जोड़कर एक उच्च चौकोर क्रम प्राप्त किया जा सकता है। दूसरे शब्दों में, क्रम का मूल गॉस -लीजेंड नियम सभी बहुपदों को एकीकृत करेगा जबकि विस्तारित गॉस-क्रोनरॉड नियम कुछ उच्च क्रम बहुपद को बिल्कुल एकीकृत करेगा। एक क्लासिक नियम G7K15 (7 वें क्रम गौस-लीजेंड्रे 15 वें क्रम गॉस-क्रोनरोड के साथ) है। जादू यह है कि गौस-लीजेंड के 7 नोड्स, गॉस-क्रोन्रॉड के 15 नोड्स के एक उपसमुच्चय हैं, इसलिए 15 फ़ंक्शन मूल्यांकन के साथ, एक त्रुटि अनुमान के साथ मेरे पास एक द्विघात मूल्यांकन है!N2N1

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

इसलिए मैं आपको चुनौती देता हूं कि आप scipy.quadविधि का उपयोग करके अपने कोड को अपडेट करें । हो सकता है कि बहुत सारी "ठीक संरचना" के साथ एक एकीकृत के मामले में आपको अधिकतम संख्या में उपखंड ( limitविकल्प) बढ़ाने की आवश्यकता हो । आप epsabsऔर / या epsrelमापदंडों के साथ भी खेल सकते हैं ।

हालांकि, यदि आपके पास केवल प्रयोगात्मक डेटा है, तो मुझे दो संभावनाएं दिखाई देती हैं।

  1. यदि आपके पास माप बिंदुओं का चयन करने का अवसर है, अर्थात मान , तो मैं उन्हें समान रूप से और अधिमानतः शक्ति के रूप में चुनूंगा ताकि आप एक नेस्टेड ट्रेपोज़ाइडल नियम (और रोमबर्ग एक्सट्रपलेशन से लाभ) लागू कर सकें।2t2
  2. यदि आपके पास नोड्स चुनने का कोई साधन नहीं है, अर्थात माप यादृच्छिक समय पर आते हैं, तो मेरी राय में सबसे अच्छा विकल्प अभी भी ट्रेपॉइड नियम है।

मुझे लगता है कि आप अनुकूली द्विघात की अवधारणा को गलत समझते हैं। - आपकी पोस्ट पूरी तरह से अनुकूली क्वाडरेचर की मेरी पिछली समझ से सहमत है और यह एक स्पष्ट मेल है कि कैसे मैंने अंतःक्रियात्मक रूप से नमूना बिंदुओं को परिभाषित किया (चाहे वह एक उपयुक्त वाक्यांश हो या नहीं)। - आप लिखते हैं […]। मुझे लगता है कि यह विचार होना चाहिए कि नमूना बिंदुओं की संख्या […] यथासंभव छोटी होनी चाहिए (यानी निश्चित नहीं)।- यदि आपके पास वह लक्जरी, सुनिश्चित है, लेकिन प्रयोगात्मक बाधाएं उस सौम्य नहीं हो सकती हैं। उदाहरण के लिए, मान लें कि आपको एक निश्चित संख्या में महंगे सेंसर के साथ एक साथ कुछ मापना है।
23

मैं क्षमाप्रार्थी हूं। मैंने आपके प्रश्न में "अंतःक्रियात्मक" गलत व्याख्या की। मेरी समझ में "अंतःक्रियात्मक" का अर्थ है उपयोगकर्ता द्वारा हस्तक्षेप एल्गोरिथम द्वारा नहीं। मैंने प्रायोगिक डेटा पर अपने उत्तर में एक पैराग्राफ जोड़ा है। एक और तरीका यह होगा कि ठीक संरचना की जानकारी को "फ़िल्टर" किया जाए, यानी फूरियर ट्रांसफॉर्म लागू करें और छोटे आयामों के साथ उच्च-क्रम आवृत्तियों को हटा दें। यह एक विकल्प होगा?
गर्टवेडे सेप

यदि आपके पास माप बिंदुओं का चयन करने का अवसर है […] - समतुल्य बिंदु वे हैं जो मुझे वैसे भी मिडपॉइंट, सादे ट्रेपोज़ॉइड इत्यादि के लिए चाहिए, तो यह वही है जो मैंने अपने बेंचमार्क में किया था। यहां, रोमबर्ग एक्सट्रपलेशन से कोई फायदा नहीं होता है।
Wrzlprmft

एक और तरीका यह होगा कि ठीक संरचना की जानकारी को "फ़िल्टर" किया जाए [...] क्या यह एक विकल्प होगा?- मेरे उदाहरण में, मुझे लगता है कि ठीक संरचना वह है जो मैं मापना चाहता हूं, मैं इसे पूरी तरह से कैप्चर करने के लिए पर्याप्त रूप से कई नमूने नहीं रखता हूं। वास्तविक शोर के लिए, कोई तकनीकी बाधा नहीं है जो मुझे फ़िल्टर करने से रोकती है। हालांकि, पूरे डोमेन पर अभिन्न पहले से ही कम लो-पास फ़िल्टर है, इसलिए मुझे संदेह है कि विशिष्ट, सौम्य और ज्ञात गुणों के साथ शोर किए बिना इसमें सुधार किया जा सकता है।
Wrzlprmft

क्या यह वास्तव में स्टोकेस्टिक है? कुछ व्युत्पन्न होने चाहिए जो उच्च क्रम स्टोचैस्टिक इंटीग्रल सन्निकटन हैं।
क्रिस रैकॉकास

0

मुझे विश्वास नहीं हो रहा है कि आपका कोड विभिन्न द्विघात नियमों के बारे में मौलिक रूप से कुछ भी प्रदर्शित करता है और वे शोर और ठीक संरचना के खिलाफ कितना अच्छा करते हैं, और यह संभावना मानते हैं कि यदि आपने विभिन्न विभिन्न जुर्माना संरचना को चुना तो आपको कुछ अलग मिलेगा। यहाँ प्रमेय है:

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

|abfdxQ^[f^]||abfdxQ[f]|+μ[4ab|f|dx+ab|xf|dx]
जहां क्षेत्रकलन राशि संख्यात्मक कार्यान्वयन पर अभिनय है की ।क्यूQ^f^f

प्रमाण: चतुष्कोण नोड्स और (गैर-नकारात्मक) वज़न be और उनके फ़्लोटिंग पॉइंट सन्निकटन को और । मान लो की{xi}i=0n1{wi}i=0n1w^ix^if^ संतोषजनक कहाँ है जहां जहाँ इकाई राउंडऑफ़ है। फिर f^(x)=f(x)(1+2δ)|δ|μμ

Q^[f^]=i=0n1w^if^(x^i)=i=0n1wi(1+δiw)f(xi+δixxi)(1+2δif)(1+δi)i=0n1wi[f(xi)+δixxif(xi)](1+δiw+2δif+δi)i=0n1wif(xi)+i=0n1δixwixif(xi)+wif(xi)(δiw+2δif+δi)
ताकि जाए यह मानता है कि त्रुटि के बिना योग की गणना की जाती है; उस धारणा को छोड़ने के लिए द्वारा गुणा करें ।
|Q^[f^]Q[f]|μi=0n1wi(|xif(xi)|+4|f(xi)|)4μ|f|dx+μ|xf|dx
n

Mutatis mutandis आप यह भी दिखा सकते हैं कि परिणाम निश्चित अंक अंकगणित में है।


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

@Wrzlprmft: फ्लोटिंग पॉइंट वह परिणाम है जो मैं साबित करने में सक्षम था। मैं इसे निश्चित बिंदु में भी साबित कर सकता हूं, जो तब इंगित करता है कि परिणाम प्रयोगात्मक डेटा के लिए है। मेरा मानना ​​है कि यह द्विघात नोड्स में त्रुटि के किसी भी स्रोत के लिए सच है। मैंने स्पष्ट करने के लिए संपादन किया है।
user14717

प्रायोगिक डेटा के लिए, परिणाम बहुत अधिक ठोस है क्योंकि सामान्य प्रयोगात्मक डेटा में गैर-भिन्नता है और इसलिए कुल भिन्नता अनंत है।
user14717

मुझे खेद है, लेकिन मैं अभी भी आपका अनुसरण करने में विफल हूं। आपका परिणाम त्रुटि के बारे में प्रतीत होता है जब संख्यात्मक रूप से चतुर्भुज को लागू किया जाता है, न कि चतुर्भुज की त्रुटि के बारे में। मुझे जो समस्या हो रही है वह बाद की है और विशेष रूप से मुझे यह मानने का कोई कारण नहीं दिखता कि यह लिए प्रकट नहीं होगा । μ=0
प्रात:

यहां मुख्य विचार फ़ंक्शन मूल्यांकन की स्थिति संख्या से आता है। जब से वे शोर कर रहे हैं आपके मूल्यांकन अशिक्षित हैं।
user14717
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.