คำถามติดแท็ก interpolation

การสอดแทรกเป็นกระบวนการในการประมาณค่าของฟังก์ชันเมื่อทราบค่าของฟังก์ชันที่จุดใดชุดหนึ่งเท่านั้น คำถามเกี่ยวกับการแก้ไขในมิติข้อมูลอย่างน้อย 1 รายการตลอดจนอัลกอริทึมในการดำเนินการดังกล่าวควรมีแท็กนี้

17
มีตัวแก้ปัญหาการเขียนโปรแกรมแบบไม่เชิงเส้นคุณภาพสูงสำหรับ Python หรือไม่?
ฉันมีปัญหาการเพิ่มประสิทธิภาพทั่วโลกที่ไม่ท้าทายเพื่อแก้ปัญหา ปัจจุบันผมใช้กล่องเครื่องมือเพิ่มประสิทธิภาพของ MATLAB (โดยเฉพาะfmincon()กับอัลกอริทึม = 'sqp') ซึ่งมีประสิทธิภาพมาก อย่างไรก็ตามรหัสของฉันส่วนใหญ่อยู่ใน Python และฉันก็ชอบที่จะเพิ่มประสิทธิภาพใน Python ด้วยเช่นกัน มีตัวแก้ NLP ที่มีการผูก Python ที่สามารถแข่งขันได้fmincon()หรือไม่ มันจะต้อง สามารถรับมือกับความไม่เสมอภาคและความไม่เท่าเทียมกันได้ ไม่ต้องการให้ผู้ใช้จัดหายาโคบ ไม่เป็นไรหากไม่รับประกันว่าจะมีประสิทธิภาพระดับโลก ( fmincon()ไม่) fmincon()ฉันกำลังมองหาบางสิ่งบางอย่างที่ทนทานลู่ไปยังท้องถิ่นที่เหมาะสมแม้สำหรับความท้าทายปัญหาและแม้ว่ามันจะช้ากว่าเล็กน้อย ฉันได้พยายามแก้หลายที่ให้บริการผ่าน OpenOpt และพบว่าพวกเขาจะด้อยกว่าของ fmincon/sqpMATLAB เพียงเพื่อเน้นฉันมีสูตรเวิ้งว้างและแก้ปัญหาที่ดี เป้าหมายของฉันคือการเปลี่ยนภาษาเพื่อให้เวิร์กโฟลว์มีความคล่องตัวมากขึ้น เจฟฟ์ชี้ให้เห็นว่าคุณลักษณะบางอย่างของปัญหาอาจเกี่ยวข้องกัน พวกเขาคือ: 10-400 ตัวแปรการตัดสินใจ 4-100 ข้อ จำกัด ความเท่าเทียมกันของพหุนาม (ดีกรีพหุนามมีช่วงตั้งแต่ 1 ถึงประมาณ 8) จำนวนข้อ จำกัด ของความไม่เท่าเทียมกันที่มีเหตุผลเท่ากับจำนวนตัวแปรการตัดสินใจประมาณสองเท่า ฟังก์ชั่นวัตถุประสงค์เป็นหนึ่งในตัวแปรการตัดสินใจ ชาวจาโคเบียนแห่งข้อ จำกัด ความเท่าเทียมมีความหนาแน่นสูงเช่นเดียวกับชาวจาโคเบียนแห่งข้อ จำกัด …

5
เพราะเหตุใดจุดที่เว้นระยะห่างจึงมีพฤติกรรมไม่ดี
คำอธิบายการทดลอง: ในการแก้ไขลากรองจ์สมการที่แน่นอนจะถูกสุ่มตัวอย่างที่จุด (ลำดับพหุนาม ) และถูกแก้ไขที่ 101 จุด ที่นี่จะแตกต่างกันตั้งแต่ 2 ถึง 64 ในแต่ละครั้งที่ ,และแปลงข้อผิดพลาดมีการจัดทำ จะเห็นได้ว่าเมื่อฟังก์ชั่นถูกสุ่มตัวอย่างที่จุด equi-spaced ข้อผิดพลาดจะลดลงในขั้นต้น (มันเกิดขึ้นจนถึงน้อยกว่าประมาณ 15 หรือมากกว่านั้น) จากนั้นข้อผิดพลาดจะเพิ่มขึ้นในต่อไปN - 1 N L 1 L 2 L ∞ N NNNNN−1N−1N - 1NNNL1L1L_1L2L2L_2L∞L∞L_\inftyNNNNNN ในขณะที่ถ้าการสุ่มตัวอย่างเริ่มต้นทำได้ที่จุด Legendre-Gauss (LG) (รากของคำพหุนาม Legendre) หรือ Legendre-Gauss-Lobatto (LGL) คะแนน (รากของ Lobatto polynomials) ข้อผิดพลาดจะลดลงถึงระดับเครื่องและไม่เกิดขึ้น เพิ่มขึ้นเมื่อเพิ่มขึ้นอีกNNN คำถามของฉันคือ เกิดอะไรขึ้นในกรณีของจุดที่เว้นระยะเท่ากัน ทำไมการเพิ่มลำดับพหุนามทำให้เกิดข้อผิดพลาดเพิ่มขึ้นหลังจากจุดหนึ่ง …

1
อะไรคือวิธีที่ต้องการและมีประสิทธิภาพสำหรับการแก้ไขข้อมูลหลายมิติ?
อะไรคือวิธีที่ต้องการและมีประสิทธิภาพสำหรับการแก้ไขข้อมูลหลายมิติ? สิ่งที่ฉันกังวลเกี่ยวกับ: ประสิทธิภาพและหน่วยความจำสำหรับการสร้างการประเมินผลเดี่ยว / ชุด การจัดการมิติตั้งแต่ 1 ถึง 6 เชิงเส้นหรือสูงกว่าคำสั่ง ความสามารถในการรับการไล่ระดับสี (ถ้าไม่ใช่เชิงเส้น) กริดปกติกับกระจัดกระจาย ใช้เป็นฟังก์ชัน Interpolating เช่นค้นหารากหรือย่อขนาด ความสามารถในการอนุมาน มีการใช้งานโอเพนซอร์ซที่มีประสิทธิภาพหรือไม่ ฉันมีโชคบางส่วนกับ scipy.interpolate และความสนใจจาก scikit เรียนรู้ ฉันไม่ได้ลอง splines, Chebyshev polynomials เป็นต้น นี่คือสิ่งที่ฉันพบจนถึงในหัวข้อนี้: Python 4D การประมาณเชิงเส้นในตารางสี่เหลี่ยม การแก้ไขที่รวดเร็วของข้อมูล 3D ตัวอย่างเป็นระยะด้วยช่วงเวลาที่แตกต่างกันใน x, y และ z การแก้ไขข้อมูลกริดแบบปกติอย่างรวดเร็ว วิธีการแก้ไขแบบกระจายหลายตัวแปรที่ดีที่สุดสำหรับการใช้งานจริงคืออะไร?

4
วิธีที่ดีที่สุดในการค้นหาความไม่ต่อเนื่องของฟังก์ชั่นกล่องดำคืออะไร?
มันก็บอกว่านี่อาจจะเป็นสถานที่ที่ดีสำหรับคำถามนี้กว่าคณิตศาสตร์ Stack แลกเปลี่ยนที่ผมถามมันก่อน สมมติว่าหนึ่งมีฟังก์ชั่นกล่องดำซึ่งสามารถประเมินได้ทุกที่ (ราคาถูก) ในช่วงเวลาที่ระบุและไม่มีเสียงรบกวน (ยกเว้น granularity จุดลอยตัวพูด) อะไรจะเป็นวิธีที่ดีที่สุดในการค้นหาความไม่ต่อเนื่องของฟังก์ชั่นนี้? ฉันไม่ทราบว่าอาจมีความไม่ต่อเนื่องจำนวนเท่าใดและอาจไม่มีเลย[ a , b ][a,b][a,b] ฉันสามารถคิดถึงวิธีการที่ตรงไปตรงมา (การสุ่มตัวอย่างแบบสม่ำเสมอปรับแต่งที่มีความแตกต่างอย่างมากระหว่างตัวอย่าง, ... ) แต่บางทีอาจมีวิธีที่ดีกว่า ฟังก์ชั่นคือ "สมเหตุสมผล" ในสิ่งนั้นสามารถสันนิษฐานได้ว่ามันมีความไม่ต่อเนื่องจำนวนมากที่สุดเช่นเดียวกันสำหรับอนุพันธ์ที่สูงกว่าฉันไม่คิดว่าจะพลาดทางพยาธิวิทยาเล็ก ๆ น้อย ๆ หรือไม่ ... . - ขอบคุณทุกคนที่ตอบกลับโดยเฉพาะเปโดร; วิธีที่อธิบายไว้ในPachón, Platte และ Trefethen น่าจะเป็นวิธีที่ดีที่สุดสำหรับฉันดังนั้นตอนนี้ฉันจะไปปรับใช้

6
ตัวอย่างของฟังก์ชันต่อเนื่องที่ยากที่จะประมาณค่าด้วยพหุนาม
เพื่อวัตถุประสงค์ในการสอนฉันต้องการฟังก์ชั่นต่อเนื่องของตัวแปรเดี่ยวที่ "ยาก" เพื่อประมาณค่ากับชื่อพหุนามนั่นคือต้องมีพลังสูงมากในชุดพลังงานเพื่อ "พอดี" กับฟังก์ชั่นนี้ ฉันตั้งใจจะแสดงให้นักเรียนเห็นถึง "ขีด จำกัด " ของสิ่งที่สามารถทำได้ด้วยชุดพลัง ฉันคิดเกี่ยวกับ concocting บางอย่าง "ที่มีเสียงดัง" แต่แทนที่จะกลิ้งของฉันเองฉันเพียงแค่สงสัยว่ามีชนิดของมาตรฐาน "ฟังก์ชั่นที่ยากลำบาก" ที่ผู้คนใช้สำหรับการทดสอบขั้นตอนวิธีการประมาณ / การแก้ไขค่อนข้างคล้ายกับผู้ที่ฟังก์ชั่นการทดสอบการเพิ่มประสิทธิภาพที่มีจำนวนมาก local minima ที่อัลกอริธึมไร้เดียงสาติดอยู่ได้ง่าย ขอโทษถ้าคำถามนี้ไม่ได้เกิดขึ้นอย่างดี; โปรดเมตตาผู้ที่ไม่ใช่นักคณิตศาสตร์

4
วิธีการแก้ไขที่มีประสิทธิภาพสำหรับกริดที่ไม่มีโครงสร้าง?
ฉันต้องการทราบวิธีการที่ดีสำหรับการแก้ไขข้อมูลระหว่างกริดที่ไม่มีโครงสร้างสองตารางโดยที่หนึ่งตารางเป็นเวอร์ชันที่หยาบกว่าอีกอันหนึ่ง ประสิทธิภาพเป็นสิ่งสำคัญมากสำหรับฉันเนื่องจากฉันแก้ปัญหา PDE ชั่วคราวที่ฉันต้องการถ่ายโอนข้อมูลระหว่างกริดในทุกขั้นตอนของการแก้ปัญหา ฉันคิดเกี่ยวกับการใช้ kd-tree เพื่อค้นหาโหนดที่ใกล้ที่สุดของจุดที่กำหนดจากนั้นฉันจะใช้ฟังก์ชั่นรูปร่างขององค์ประกอบนั้น (การจำลองแบบ FEM) เพื่อแก้ไขข้อมูล นี่เป็นทางออกที่ดีใช่ไหม มีคนที่ดีกว่านี้ไหม คุณรู้หรือไม่ว่าห้องสมุดที่มีประสิทธิภาพและเชื่อถือได้ใน C / C ++ สำหรับงานนี้หรือไม่? * ฉันรู้ว่ามีคำถามที่คล้ายกัน แต่มันขอวิธีที่แม่นยำที่สุดในตารางที่มีโครงสร้าง

2
วิธีการประมาณค่าข้อมูลหลายจุดเข้ากับศูนย์กลางเซลล์ของตาข่ายที่ไม่มีโครงสร้าง
ฉันมีชุดของข้อมูลภาคสนามหลายจุดชุดข้อมูลแต่ละจุดเกี่ยวข้องกับเซลล์เดียวของตาข่ายที่ไม่มีโครงสร้าง เป้าหมายคือการสอดแทรกข้อมูลไปยังศูนย์เซลล์โดยตรงหรือโดยอ้อมในวิธีที่ถูกต้องที่สุด ถ้าฉันใช้การแก้ไขค่าน้ำหนักในระยะทางผกผันในกรณีที่ระยะห่างระหว่างต้นทางและเป้าหมาย (ศูนย์เซลล์) มีขนาดเล็กมากฉันอาจสิ้นสุดด้วยข้อยกเว้นจุดลอย สำหรับการแก้ไขแบบนี้บนตาข่ายที่มีโครงสร้างจะใช้การแก้ไขแบบถ่วงน้ำหนักปริมาณ สิ่งนี้ไม่แปลโดยตรงไปยังเซลล์ตาข่ายที่มีรูปร่างตามอำเภอใจ แนะนำให้ใช้ความอดทนสำหรับการแก้ไข IDW เพื่อหลีกเลี่ยง SIGFPE เหมาะสมถ้าฉันไม่แนะนำการทดสอบใด ๆ ที่อาจทำให้การแก้ไขไม่มีประสิทธิภาพ คือการเพิ่มขนาดเล็กพอจะหารน้ำหนักทุกตัวเลือกที่เป็นไปได้ด้วยการแก้ไข IDW? คุณทราบวิธีการแก้ไขที่เหมาะสมสำหรับปัญหานี้อย่างไรδδ\delta ข้อมูลเพิ่มเติม: สำหรับการแก้ไขจากตาข่ายไปยังจุดที่ฉันใช้การแก้ไขขึ้นอยู่กับพิกัด barcycentric แต่ละเซลล์โพลีฮีดของตาข่ายจะถูกย่อยสลายเป็นเตตราฮีดรา ถือเป็นศูนย์กลางข้อมูลจะสอดแทรกไปยังจุดมือถือโดยใช้IDW แก้ไข การค้นหาจะดำเนินการในแต่ละจุดเพื่อหาจัตุรมุขภายในซึ่งมันอยู่และค่านิยมที่มีการ interpolaed ใช้แก้ไข Barycentric สำหรับการแก้ไขจากจุดหนึ่งไปยังอีกด้านหนึ่งเป็นไปไม่ได้ ค่าที่อยู่ตรงกลางของเซลล์ไม่เป็นที่รู้จัก ไม่มีทางที่จะรวบรวมองค์ประกอบ tetrahedral ที่จะบังคับใช้ไม่เป็นที่W P Cมีน้ำหนักที่เกี่ยวข้องกับจุดP และศูนย์เซลล์ C นี่มาจากข้อเท็จจริงที่ว่าการกำหนดค่าจุดโดยพลการ ดังนั้นฉันกำลังใช้ IDW สำหรับสิ่งนี้ทำให้แน่ใจว่าฉันไม่ได้รับการยกเว้นจุดลอยตัว มีวิธีการแก้ไขที่เหมาะสมกว่าสำหรับปัญหานี้หรือไม่?∑pWPC=1∑pWPC=1\sum_p W_{PC} = 1WPCWPCW_{PC}

2
เมทริกซ์เคอร์เนล RBF มีแนวโน้มว่าจะไม่ดีหรือไม่?
ฉันใช้ฟังก์ชั่นเคอร์เนล RBF เพื่อใช้อัลกอริทึมการเรียนรู้ของเคอร์เนล (KLPP) หนึ่งตัวเคอร์เนลผลลัพธ์ แสดงว่ามีสภาพที่ไม่ดีอย่างยิ่งจำนวนเงื่อนไขของ L2-norm มาKKK K( i , j ) = exp(- (xผม-xJ)2σ2ม.)K(i,j)=exp⁡(−(xi−xj)2σm2)K(i,j)= \exp\left({\frac{-(x_{i}-x_{j})^2}{ \sigma_{m}^2}}\right)1017-10641017−106410^{17}-10^{64} มีวิธีใดบ้างที่จะทำให้ห้องปรับอากาศมีสภาพดี? ฉันเดาว่าต้องมีการปรับพารามิเตอร์แต่ฉันไม่ทราบว่าจะต้องทำอย่างไรσσ \sigma ขอบคุณ!

2
ช่วยในการตัดสินใจระหว่างการแก้ไขลูกบาศก์และกำลังสองในการค้นหาบรรทัด
ฉันกำลังค้นหาสายเป็นส่วนหนึ่งของอัลกอรึทึมของ BFGS เสมือน ในขั้นตอนเดียวของการค้นหาบรรทัดฉันใช้การแก้ไขลูกบาศก์เพื่อเลื่อนเข้าใกล้กับเครื่องมือลดขนาด ปล่อย f:R→R,f∈C1ฉ:R→R,ฉ∈ค1f : R \rightarrow R, f \in C^1เป็นหน้าที่ของดอกเบี้ย ฉันต้องการหาx∗x* * * *x^* ดังนั้น f′(x∗)≈0ฉ'(x* * * *)≈0f'(x^*) \approx 0. ปล่อย f(xk)ฉ(xk)f(x_k), f′(xk)ฉ'(xk)f'(x_k), f(xk+1)f(xk+1)f(x_{k+1}) และ f′(xk+1)f′(xk+1)f'(x_{k+1})เป็นที่รู้จัก ยังถือว่า0≤xk&lt;x∗&lt;xk+10≤xk&lt;x∗&lt;xk+10\le x_k<x^*<x_{k+1}. ฉันพอดีกับพหุนามลูกบาศก์Q(x)=ax3+bx2+cx+dQ(x)=ax3+bx2+cx+dQ(x)=ax^3+bx^2+cx+d ดังนั้น Q(0)=f(xk)Q(0)=f(xk)Q(0)=f(x_k), Q′(0)=f′(xk)Q′(0)=f′(xk)Q'(0)=f'(x_k), Q(xk+1−xk)=f(xk+1)Q(xk+1−xk)=f(xk+1)Q(x_{k+1}-x_{k})=f(x_{k+1}) และ Q′(xk+1−xk)=f′(xk+1)Q′(xk+1−xk)=f′(xk+1)Q'(x_{k+1}-x_{k})=f'(x_{k+1}). ฉันแก้สมการกำลังสอง: (1):Q′(x∗−xk)=0(1):Q′(x∗−xk)=0(1): Q'(x^*-x_k) = 0 สำหรับฉันขอ x∗x∗x^* ใช้โซลูชั่นแบบปิด การทำงานด้านบนในกรณีส่วนใหญ่ยกเว้นเมื่อใด f(x)=O(x2)f(x)=O(x2)f(x)=\mathcal{O}(x^2) เป็นโซลูชันแบบปิดสำหรับ …

4
เมื่อเราใช้ชื่อพหุนาม Bernstein ในใบสมัคร
เมื่อมีความต้องการใช้พหุนามเบิร์นสไตน์เพื่อประมาณฟังก์ชั่นต่อเนื่องแทนที่จะใช้วิธีการวิเคราะห์เชิงตัวเลขเบื้องต้นต่อไปนี้: "พหุนามลากรองจ์", "ตัวดำเนินการความแตกต่าง จำกัด อย่างง่าย" คำถามเกี่ยวกับการเปรียบเทียบวิธีการเหล่านี้

1
การประเมินอย่างรวดเร็ว (โดยประมาณ) ของพหุนาม Chebyshev
มีวิธีที่ต้องการวิธีการใช้การประเมินอย่างรวดเร็ว (โดยประมาณ) ของการแก้ไขพหุนาม Chebyshev บนกริดสม่ำเสมอ (ให้ค่าฟังก์ชั่นที่โหนด Chebyshev)? ปัญหาของฉันคือการแก้ไขจะช้าเมื่อระดับของการแก้ไขพหุนามเพิ่มขึ้น ความคิดต่อไปนี้อยู่ในใจของฉัน: พยายามปรับใช้เทคนิค FFT ที่ไม่สม่ำเสมอ (NFFT) ใช้ FFT เพื่อคำนวณหาอนุพันธ์ที่โหนด Chebyshev ซึ่งอาจเกิดขึ้นหลังจากไปที่กริดที่ดีกว่า (Chebyshev) เป็นครั้งแรก จากนั้นใช้การประมาณค่าคิวแบบชิ้นต่อชิ้นสำหรับการประเมิน (โดยประมาณ) ใช้สูตรบางอย่างที่ใช้เฉพาะค่าฟังก์ชัน (และอนุพันธ์ที่อาจเกิดขึ้น) ที่โหนด "ใกล้เคียง" Chebyshev (ซึ่งเกี่ยวข้องกับเทคนิค NFFT เฉพาะ)

1
วิธีการแก้ไขที่ถูกต้องที่สุดสำหรับ 3D-flowfield บนกริดที่มีโครงสร้างคืออะไร?
ฉันแก้สมการเนเวียร์ - สโตกแบบหลายสปีชีส์บนกริดแบบสามมิติ ฉันได้คำตอบในตารางที่กำหนด (สมมุติว่าค่อนข้างหยาบ) ตอนนี้ฉันต้องการปรับแต่งกริดของฉันและแก้ไขปัญหาก่อนหน้าของฉันในกริดใหม่ของฉันก่อนที่จะเริ่มการจำลองของฉัน ขณะนี้เรามีเครื่องมือการแก้ไขที่สร้างแผนภูมิ kd ของ 2 กริดและจากนั้นสามารถใช้ 2 วิธีที่แตกต่างกันในการคำนวณค่าในกริดใหม่: ค่าเฉลี่ยง่าย ๆ ผกผันระยะทางถ่วงน้ำหนัก (IDW) ย้ายกำลังสองน้อยที่สุด (MLS) ฉันต้องการที่จะมุ่งเน้นไปที่ความถูกต้องเพราะตั้งแต่ฉันจัดการกับการไล่ระดับสีที่มีขนาดใหญ่การไม่จับพวกมันอย่างถูกต้องจะสร้างคลื่นเมื่อฉันเริ่มการคำนวณใหม่ ตอนแรกฉันพยายามหาค่าเฉลี่ยแบบง่าย ๆ แต่ความแม่นยำยังไม่ดีพอ ฉันคิดว่าวิธี MLS พร้อมคำสั่งพหุนามจำนวน 2 จะให้ผลลัพธ์ที่สมเหตุสมผลเนื่องจากควรเป็นแบบไม่แกว่ง อย่างไรก็ตามเมื่อฉันดูที่ฟิลด์สอดแทรกของฉันฉันเห็น local minima / maxima ที่เกินค่าของเขตข้อมูลเริ่มต้นของฉัน นี่หมายถึงการนำ MLS ไปใช้ในโปรแกรมนี้ไม่ถูกต้องหรือไม่? ฉันควรระวังขนาดของลายฉลุและลำดับพหุนามอย่างไร คุณจะแนะนำวิธีอื่นใดอีก ขอบคุณล่วงหน้า !
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.