คำถามการประมาณกำลังสองน้อยที่สุด


11

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

คำถามของฉันคือคุณจะตัดสินใจอย่างไรในการใช้พหุนามในระดับใด มีกฎง่ายๆหรือขึ้นอยู่กับปัญหาที่เกิดขึ้นเพียงลำพัง? เราต้องคำนึงถึงการแลกเปลี่ยนที่หลากหลายเมื่อตัดสินใจระหว่างองศาที่มากหรือน้อย? หรือฉันเข้าใจผิดบางอย่างที่นี่?

ขอบคุณล่วงหน้า.


2
ฉันคิดว่าในทางปฏิบัติแล้วผู้คนใช้สิ่งต่าง ๆ เช่น spline interpolation en.wikipedia.org/wiki/Spline_interpolationเพื่อที่จะใช้ polys ลำดับต่ำ แต่พวกเขาเหมาะสมกับโดเมนอื่นโดยรวม วิธีนี้ไม่จำเป็นต้องเดาคำสั่งพหุนามโดยรวม
นัสเซอร์

ขอบคุณสำหรับลิงค์ เรายังไม่ได้ไปบนเส้นโค้งดังนั้นการอ่านที่น่าสนใจ
Uday Pramod

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

คุณอาจจะสนใจในคำตอบของคำถามนี้ในการตรวจสอบข้าม
Bort

คำตอบ:


18

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

ปัญหาเล็กน้อยที่มีพหุนามคำสั่งสูง:

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

  • พหุนามเข้าหาอนันต์ +/- ที่อัตราเท่ากับลำดับพหุนามขณะที่ x ไปที่ +/- อนันต์ สิ่งนี้มักจะไม่ใช่พฤติกรรมที่ต้องการ

  • การคำนวณสัมประสิทธิ์พหุนามสำหรับพหุนามลำดับสูงมักเป็นปัญหาที่มีเงื่อนไข ซึ่งหมายความว่าข้อผิดพลาดเล็ก ๆ (เช่นการปัดเศษในคอมพิวเตอร์ของคุณ) สามารถสร้างการเปลี่ยนแปลงครั้งใหญ่ในคำตอบ ระบบเชิงเส้นที่จะต้องแก้ไขเกี่ยวข้องกับเมทริกซ์ Vandermondeซึ่งสามารถถูกปรับอากาศได้อย่างง่ายดาย

ผมคิดว่าอาจจะเป็นหัวใจของปัญหานี้คือความแตกต่างระหว่างเส้นโค้งและการแก้ไข

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

x = 1   2   3   4   5   6   7   8   9  10
y = 1   1 1.1   1   1   1   1   1   1   1

การแก้ไข
พหุนามพอดีมีความผันผวนมากโดยเฉพาะอย่างยิ่งใกล้กับขอบของชุดข้อมูลมากกว่าเส้นโค้ง Hermite

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

ในที่สุดการเลือกฟังก์ชั่นที่ถูกต้องเพื่อให้พอดีกับข้อมูลของคุณมีความสำคัญเท่ากับการดำเนินการแก้ไขอย่างถูกต้องหรือการคำนวณกำลังสองน้อยที่สุด การทำเช่นนั้นยังช่วยให้มีความเป็นไปได้ของการคาดการณ์ (ระมัดระวัง) พิจารณาสถานการณ์ต่อไปนี้ ได้รับข้อมูลประชากร (ในล้านคน) สำหรับสหรัฐอเมริกาตั้งแต่ปี 2543-2553:

Year:  2000   2001   2002   2003   2004   2005   2006   2007   2008   2010
Pop.: 284.97 287.63 290.11 292.81 295.52 298.38 301.23 304.09 306.77 309.35

การใช้กำลังสองน้อยที่สุดในการอธิบายเชิงเส้นแบบเชิงเส้นN(t)=A*exp(B*t)หรือโพลีโนเมียลลำดับที่ 10 ลำดับให้ผลลัพธ์ดังนี้:
พล็อตประชากร

การเติบโตของประชากรสหรัฐไม่ได้อธิบายอย่างชัดเจน แต่ฉันจะให้คุณเป็นผู้ตัดสินที่เหมาะสมยิ่งขึ้น


1
จุดหนึ่งที่ฉันจะทำกับกราฟของประชากรสหรัฐของคุณจากหน่วยความจำแบบที่ดีในโดเมนไม่ได้หมายความว่ามันจะคาดการณ์ได้ดี ในแง่ที่อาจทำให้เข้าใจผิดเพื่อแสดงข้อผิดพลาดพหุนามขนาดใหญ่นอกภูมิภาคที่คุณมีข้อมูล
Daryl

@Daryl เห็นด้วยนั่นคือเหตุผลที่ฉันย้ำว่าการคาดการณ์ควรทำอย่างระมัดระวังและการเลือกฟังก์ชั่นที่เหมาะสมนั้นมีความสำคัญอย่างยิ่งในกรณีนี้
Doug Lipinski

@DougLipinski ขอบคุณสำหรับคำตอบที่ลึกซึ้ง คุณสามารถอธิบายสิ่งที่คุณหมายถึงโดย linearized น้อยที่สุดกำลังสองในการต่อต้านเป็นสี่เหลี่ยมน้อยที่สุด?
bela83

@ bela83 ตอบรับอย่างถูกต้องซึ่งอาจยาวเกินไปสำหรับความคิดเห็น ฉันคิดว่ามันจะเป็นคำถามใหม่ที่ดีมากถ้าคุณต้องการถาม
Doug Lipinski

@DougLipinski ฉันจะลองดู!
bela83

2

หลักการทางวิทยาศาสตร์ที่ดีมาก แต่กฎง่ายๆก็คือโดยทั่วไปแล้วชื่อพหุนามระดับ 3 นั้นเป็นจุดเริ่มต้นที่ดีและในทางปฏิบัติฉันไม่เคยเห็นใครใช้งานเกินกว่าระดับ 6 คนหนึ่งเพื่อให้ได้ผลลัพธ์ที่ดี

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

หากข้อมูลของคุณมีขนาดเล็กพอที่จะอนุญาต (โดยปกติจะเป็น) คุณสามารถลองปรับให้พอดีกับชื่อพหุนามคำสั่งที่สูงขึ้นจนกว่าคุณจะเริ่มเห็นความผันผวนซึ่งมักจะเป็นสัญญาณของ "การมีส่วนเกิน"

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


1

วิธีที่มีประสิทธิภาพ decently ที่ฉันใช้กับพหุนามประมาณคือการคำนวณพหุนามน้อยที่สุดสำหรับหลายองศา (เช่นจาก 1 ถึง 10) จากนั้นเลือกเส้นโค้งที่ลดข้อผิดพลาดกำลังสองเฉลี่ยที่จุดระหว่างครึ่งติดต่อกัน (เมื่อ จัดเรียงตาม x) คะแนนในชุดข้อมูลของคุณ สิ่งนี้ช่วยในการแยกแยะเส้นโค้งด้วยการแกว่งที่รุนแรงเกินไป

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