วิธีการประมาณค่าข้อมูลหลายจุดเข้ากับศูนย์กลางเซลล์ของตาข่ายที่ไม่มีโครงสร้าง


11

ฉันมีชุดของข้อมูลภาคสนามหลายจุดชุดข้อมูลแต่ละจุดเกี่ยวข้องกับเซลล์เดียวของตาข่ายที่ไม่มีโครงสร้าง เป้าหมายคือการสอดแทรกข้อมูลไปยังศูนย์เซลล์โดยตรงหรือโดยอ้อมในวิธีที่ถูกต้องที่สุด

ถ้าฉันใช้การแก้ไขค่าน้ำหนักในระยะทางผกผันในกรณีที่ระยะห่างระหว่างต้นทางและเป้าหมาย (ศูนย์เซลล์) มีขนาดเล็กมากฉันอาจสิ้นสุดด้วยข้อยกเว้นจุดลอย

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

แนะนำให้ใช้ความอดทนสำหรับการแก้ไข IDW เพื่อหลีกเลี่ยง SIGFPE เหมาะสมถ้าฉันไม่แนะนำการทดสอบใด ๆ ที่อาจทำให้การแก้ไขไม่มีประสิทธิภาพ คือการเพิ่มขนาดเล็กพอจะหารน้ำหนักทุกตัวเลือกที่เป็นไปได้ด้วยการแก้ไข IDW? คุณทราบวิธีการแก้ไขที่เหมาะสมสำหรับปัญหานี้อย่างไรδ

ข้อมูลเพิ่มเติม:

สำหรับการแก้ไขจากตาข่ายไปยังจุดที่ฉันใช้การแก้ไขขึ้นอยู่กับพิกัด barcycentric แต่ละเซลล์โพลีฮีดของตาข่ายจะถูกย่อยสลายเป็นเตตราฮีดรา ถือเป็นศูนย์กลางข้อมูลจะสอดแทรกไปยังจุดมือถือโดยใช้IDW แก้ไข การค้นหาจะดำเนินการในแต่ละจุดเพื่อหาจัตุรมุขภายในซึ่งมันอยู่และค่านิยมที่มีการ interpolaed ใช้แก้ไข Barycentric

สำหรับการแก้ไขจากจุดหนึ่งไปยังอีกด้านหนึ่งเป็นไปไม่ได้ ค่าที่อยู่ตรงกลางของเซลล์ไม่เป็นที่รู้จัก ไม่มีทางที่จะรวบรวมองค์ประกอบ tetrahedral ที่จะบังคับใช้ไม่เป็นที่W P Cมีน้ำหนักที่เกี่ยวข้องกับจุดP และศูนย์เซลล์ C นี่มาจากข้อเท็จจริงที่ว่าการกำหนดค่าจุดโดยพลการ ดังนั้นฉันกำลังใช้ IDW สำหรับสิ่งนี้ทำให้แน่ใจว่าฉันไม่ได้รับการยกเว้นจุดลอยตัว มีวิธีการแก้ไขที่เหมาะสมกว่าสำหรับปัญหานี้หรือไม่?pWPC=1WPC


คุณช่วยฟังก์ชั่นการถ่วงน้ำหนักที่คุณใช้เพิ่มขึ้นอีกหน่อยได้ไหม? มีวิธีการแก้ไขหลายวิธีที่ใช้ฟังก์ชั่นการถ่วงน้ำหนักแบบพหุนามซึ่งไม่มีเอกพจน์ที่จุดสิ้นสุด
Pedro

1
หากฟังก์ชั่นการสอดแทรกเป็นไปอย่างราบรื่นคุณเคยคิดว่าจะใช้ฟังก์ชั่นพื้นฐานแบบเรเดียลเพื่อการประมาณค่าแบบโกลบอลจากตาข่ายหรือไม่? คุณสามารถสร้างต้นแบบรวดเร็วโดยใช้ python และ scipy ดูที่นี่: docs.scipy.org/doc/scipy/reference/generated/…
fcruz

ห้องสมุดที่ฉันทำงานอยู่นั้นสนับสนุน RBF (ทั้งขนาดกะทัดรัดและการสนับสนุนระดับโลก) แต่ฉันมีประสบการณ์น้อยมากกับสิ่งนี้ ขอบคุณสำหรับเคล็ดลับ .. :)
tmaric

1
หากคุณลองใช้ห้องสมุด SciPy RBF โปรดระวังข้อผิดพลาดที่
n00b

คุณมีค่าของการไล่ระดับสีของตัวแปรตามที่จุดยอดของเซลล์หรือไม่?
Johntra Volta

คำตอบ:


7

ลิงค์ไปยังชุดซอฟต์แวร์ที่หลากหลายสำหรับการแก้ไขข้อมูลที่กระจัดกระจายอยู่ในหน้าเว็บของฉันhttp://www.mat.univie.ac.at/~neum/stat.html#fit

หนังสือ
GE Fasshauer, วิธีการประมาณแบบไร้รอยต่อโดยใช้ MATLAB, World Scienti 2007 c 2007.
ให้สถานะของศิลปะที่ครอบคลุม (ตั้งแต่ปี 2006)

เอกสารล่าสุดอีกสองสามเรื่องเกี่ยวกับการแก้ไขข้อมูลที่กระจัดกระจาย:
http://www.stanford.edu/group/uq/pdfs/journals/jcp_scattered_2010.pdf
http://www.math.auckland.ac.nz/~waldron/Preprints/ กล่องร่อง / กล่อง splines.pdf

วิธีการใช้ใดขึ้นอยู่กับการใช้งานของผลลัพธ์ที่ได้ วิธีการ Kriging ขึ้นอยู่กับตัวแบบสุ่มดังนั้นจะดีถ้าข้อมูลที่จะถูกแก้ไขนั้นค่อนข้างดัง ฟังก์ชั่นพื้นฐานของเรเดียลนั้นเป็นที่ต้องการหาก (มีเสถียรภาพ) และต้องการผลลัพธ์ที่น่าพอใจ (ต้องการการแก้ไขความโค้งต่ำ)


ศาสตราจารย์ Neumaier ของวิธีการที่คุณรวบรวมในลิงค์บนเว็บไซต์ของคุณและในคำตอบของคุณคุณมีคำแนะนำเฉพาะสำหรับใบสมัครที่อธิบายไว้ในคำถามหรือไม่
Geoff Oxberry

ฉันเดาว่าฉันมีการเรียนรู้ที่จะทำ ... เช่นเคยปริมาณของสิ่งที่ต้องเรียนรู้เพิ่มขึ้นตามเวลาและปริมาณของสิ่งที่ฉันจัดการเพื่อเรียนรู้เติบโตอย่างเป็นเส้นตรง :) ขอบคุณ ฉันจะใช้การแก้ไข IDW สำหรับการเริ่มต้นใช้งานและอ่านเกี่ยวกับการแก้ไขข้อมูลที่กระจัดกระจาย (RBF น่าจะเป็นตัวเลือกที่ทันสมัย) :)
tmaric

1
@GeoffOxberry: ฉันรวบรวมลิงก์เมื่อเวลาผ่านไปโดยไม่ต้องลองแพ็กเกจ ดังนั้นฉันไม่สามารถแนะนำหนึ่งที่เฉพาะเจาะจง แต่ฉันเพิ่มความคิดเห็นเกี่ยวกับคำแนะนำเชิงคุณภาพ
Arnold Neumaier

3

ด้านล่างฉันจะยกตัวอย่างว่าฉันจะสอดแทรกจากจุดหนึ่งไปยังอีกจุดหนึ่งได้อย่างไรบนขอบเขตปริมาณ จำกัด

ฉันมีการจัดเรียงตัวแปร - ข้อมูลที่ฉันจัดเก็บในหน่วยความจำแสดงถึงค่าที่ศูนย์เซลล์ ฉันเก็บตัวแปรฟิลด์และการไล่ระดับสี การไล่ระดับสีพบได้จากค่าโดยรอบการแก้ปัญหากำลังสองน้อยที่สุด (ด้วย QR ผ่านการสะท้อนของเจ้าของบ้าน)

การจัดการของคุณอาจแตกต่างกัน แต่หลักการเหมือนกัน

ϕf

ϕnb1+ϕnb1rnb1,f=ϕf

ϕnb2+ϕnb2rnb2,f=ϕf

...

ϕnbn+ϕnbnrnbn,f=ϕf

nbrnbn,ff

จากนั้นฉันก็เขียน

ϕf=1n(i=1nϕnbi+i=1n(ϕnbirnbi,f))

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

ตัวอย่างเช่น: หากหนึ่งเก็บข้อมูลตัวแทนของค่าที่จุดยอดของเซลล์คุณใช้สมการนี้เพื่อค้นหาค่าศูนย์เซลล์ ฯลฯ ทั้งหมดขึ้นอยู่กับสถานการณ์ที่คุณมี

ดังนั้นนี่คือพื้นฐานของซีรี่ส์เทย์เลอร์รอบจุด เราสามารถใช้อนุพันธ์อันดับสองเพื่อให้ได้นิพจน์ที่แม่นยำยิ่งขึ้น


ϕf1n

1
ฉันเขียนสิ่งนี้ลงในโค้ดทันที ที่นี่มีการสันนิษฐานเท่านั้นว่าข้อมูลแปรผันเป็นเส้นตรงในอวกาศนั่นเป็นเหตุผลว่าทำไมมีเพียงอนุพันธ์แรกของชุด Taylor เท่านั้น ไม่มีข้อสันนิษฐานเกี่ยวกับตาข่ายมันใช้ได้กับทุกตาข่าย
Johntra Volta

1
อย่างไรก็ตามคุณอาจเพิ่มน้ำหนักได้ เช่นเดียวกับการสร้างการไล่ระดับสีน้อยที่สุดที่เรามีทั้งแบบถ่วงน้ำหนักและไม่ถ่วงน้ำหนัก
Johntra Volta

1n

คุณสามารถติดต่อฉันทางอีเมล (คุณสามารถค้นหาได้ในโปรไฟล์ผู้ใช้ของฉัน) สำหรับการสนทนาเพิ่มเติม ฉันสนใจที่จะดูว่าคุณจะแก้ปัญหาได้อย่างไร
Johntra Volta
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.