Câu hỏi xấp xỉ bình phương nhỏ nhất


11

Tôi đang tham gia một khóa học về tính toán khoa học, và chúng tôi chỉ đi qua xấp xỉ bình phương nhỏ nhất. Câu hỏi của tôi là đặc biệt về xấp xỉ bằng cách sử dụng đa thức. Tôi hiểu rằng nếu bạn có n + 1 điểm dữ liệu, bạn có thể tìm thấy một đa thức duy nhất của độ n mô tả tất cả các điểm này. Nhưng tôi cũng có thể thấy tại sao điều này không phải lúc nào cũng lý tưởng. Bạn có thể nhận được rất nhiều tiếng ồn ở giữa các điểm dữ liệu với cách tiếp cận như vậy. Tôi cho rằng thật tuyệt khi có được một đa thức bậc thấp hơn ước tính dữ liệu của bạn đủ tốt.

Câu hỏi của tôi là: làm thế nào để bạn quyết định trong thực tế mức độ đa thức bạn sẽ sử dụng? Có một quy tắc của ngón tay cái, hoặc nó chỉ phụ thuộc vào vấn đề trong tay? Chúng ta có phải tính đến sự đánh đổi khác nhau khi quyết định giữa nhiều hay ít độ? Hay tôi đang hiểu nhầm một cái gì đó ở đây?

Cảm ơn trước.


2
Tôi nghĩ trong thực tế mọi người sử dụng những thứ như phép nội suy spline en.wikipedia.org/wiki/Spline_interpolation để các polys bậc thấp được sử dụng, nhưng chúng phù hợp với nhau trên toàn bộ miền. Bằng cách này, người ta không phải đoán cho một trật tự đa thức tổng thể.
Nasser

Cảm ơn các liên kết. Chúng tôi chưa đi qua splines, vì vậy đây là cách đọc thú vị.
Uday Pramod

Chính xác thì bạn muốn làm gì? Bạn đang cố gắng nội suy các điểm hoặc phù hợp với dữ liệu nhất định? Ví dụ, việc nội suy dữ liệu bao gồm phân phối bình thường có nhiễu là vô ích. Đối với trước đây, câu trả lời của Nasser là tốt. Đối với sau này, chức năng phù hợp chỉ phụ thuộc vào vấn đề trong tay và trong nhiều trường hợp không phải là đa thức.
viết thư từ

Bạn có thể quan tâm đến câu trả lời của câu hỏi này trên xác nhận chéo .
Bort

Câu trả lời:


18

Khía cạnh quan trọng nhất của phép nội suy và khớp đường cong là để hiểu tại sao sự phù hợp đa thức bậc cao có thể là một vấn đề và các tùy chọn khác là gì và sau đó bạn có thể hiểu khi nào chúng không phải là một lựa chọn tốt.

Một vài vấn đề với đa thức bậc cao:

  • Đa thức là các hàm dao động tự nhiên. Khi thứ tự của đa thức tăng, số lượng dao động tăng lên và những dao động này trở nên nghiêm trọng hơn. Tôi đang đơn giản hóa ở đây, khả năng nhiều gốc và tưởng tượng làm cho nó phức tạp hơn một chút, nhưng điểm giống nhau.

  • Đa thức tiếp cận +/- vô cực với tốc độ bằng thứ tự đa thức khi x đi tới +/- vô cùng. Đây thường không phải là một hành vi mong muốn.

  • Tính hệ số đa thức cho đa thức bậc cao thường là một vấn đề không có điều kiện. Điều này có nghĩa là các lỗi nhỏ (chẳng hạn như làm tròn trong máy tính của bạn) có thể tạo ra những thay đổi lớn trong câu trả lời. Hệ thống tuyến tính phải được giải quyết liên quan đến Ma trận Vandermonde có thể dễ dàng bị điều hòa.

Tôi nghĩ rằng có lẽ cốt lõi của vấn đề này là sự phân biệt giữa khớp đường congnội suy .

Nội suy được sử dụng khi bạn tin rằng dữ liệu của bạn rất chính xác nên bạn muốn chức năng của mình khớp chính xác với các điểm dữ liệu. Khi bạn cần các giá trị giữa các điểm dữ liệu của mình, tốt nhất là sử dụng chức năng trơn tru phù hợp với xu hướng cục bộ của dữ liệu. Các spline hình khối hoặc Hermite thường là một lựa chọn tốt cho loại vấn đề này vì chúng ít nhạy cảm hơn với các điểm không cục bộ (nghĩa là tại các điểm dữ liệu cách xa một điểm nhất định) thay đổi hoặc lỗi trong dữ liệu và ít dao động hơn so với đa thức. Hãy xem xét các tập dữ liệu sau:

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

Nội suy
Một sự phù hợp đa thức có dao động lớn hơn nhiều, đặc biệt là gần các cạnh của tập dữ liệu, hơn là một spline Hermite.

Mặt khác, xấp xỉ bình phương tối thiểu là khớp đường congkỹ thuật. Phù hợp đường cong được sử dụng khi bạn có một số ý tưởng về chức năng dự kiến ​​của dữ liệu của mình, nhưng bạn không cần chức năng của mình để vượt qua chính xác tất cả các điểm dữ liệu. Điều này là điển hình khi dữ liệu có thể chứa lỗi đo lường hoặc các quy định khác hoặc khi bạn muốn trích xuất xu hướng chung của dữ liệu. Xấp xỉ xấp xỉ bình phương thường được giới thiệu nhất trong một khóa học bằng cách sử dụng đa thức cho khớp đường cong vì điều này dẫn đến một hệ thống tuyến tính tương đối đơn giản để giải quyết bằng cách sử dụng các kỹ thuật bạn có thể học trước đó trong khóa học. Tuy nhiên, các kỹ thuật bình phương tối thiểu là tổng quát hơn nhiều so với chỉ phù hợp đa thức và có thể được sử dụng để phù hợp với bất kỳ chức năng mong muốn nào đối với tập dữ liệu. Ví dụ: nếu bạn mong đợi xu hướng tăng trưởng theo cấp số nhân trong tập dữ liệu của mình,

Cuối cùng, việc chọn hàm chính xác để phù hợp với dữ liệu của bạn cũng quan trọng như thực hiện chính xác phép tính nội suy hoặc phép tính bình phương nhỏ nhất. Làm như vậy thậm chí cho phép khả năng ngoại suy (thận trọng). Hãy xem xét tình huống sau đây. Dữ liệu dân số (tính bằng triệu người) cho Hoa Kỳ từ 2000-2010:

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

Sử dụng một bình phương tối thiểu tuyến tính theo cấp số nhân phù hợp N(t)=A*exp(B*t)hoặc phép nội suy đa thức bậc 10 cho kết quả như sau:
Khu dân cư

Tăng trưởng dân số Hoa Kỳ không hoàn toàn theo cấp số nhân, nhưng tôi sẽ để bạn là người đánh giá mức độ phù hợp hơn.


1
Một điểm tôi sẽ đưa ra với biểu đồ dân số Hoa Kỳ của bạn, từ bộ nhớ phù hợp tốt trong miền không có nghĩa là nó sẽ ngoại suy tốt. Trong ánh sáng đó, có thể sai lệch khi hiển thị các lỗi đa thức lớn bên ngoài khu vực nơi bạn có dữ liệu.
Daryl

@Daryl Đồng ý, đó là lý do tại sao tôi nhấn mạnh rằng phép ngoại suy nên được thực hiện thận trọng và việc chọn một chức năng phù hợp là rất quan trọng trong trường hợp đó.
Doug Lipinski

@DougLipinski Cảm ơn câu trả lời sâu sắc. Bạn có thể giải thích những gì bạn có nghĩa là bằng cách bình phương tối thiểu hình vuông đối lập với hình vuông nhỏ nhất?
bela83

@ bela83 Trả lời đúng cách sẽ quá dài cho một nhận xét. Tôi nghĩ nó sẽ là một câu hỏi mới rất hay nếu bạn muốn hỏi nó.
Doug Lipinski

@DougLipinski Tôi sẽ thử!
bela83

2

Rất không khoa học, nhưng một nguyên tắc nhỏ là đa thức bậc 3 thường là một khởi đầu tốt, và trong thực tế tôi chưa bao giờ thấy ai sử dụng nhiều hơn một bậc 6 một kết quả tốt.

Đa thức "lý tưởng" sẽ là thứ tự thấp nhất đại diện cho dữ liệu ồn ào đủ cho mục đích của bạn.

Nếu dữ liệu của bạn đủ nhỏ để cho phép (thường là như vậy), bạn có thể chỉ cần thử điều chỉnh với đa thức bậc cao hơn cho đến khi bạn bắt đầu thấy dao động, có xu hướng là dấu hiệu của "quá mức".

Một thay thế sẽ là một spline làm mịn , nhưng nó phụ thuộc rất nhiều vào ứng dụng. Splines và làm mịn splines chỉ tốt cho nội suy. Đối với dữ liệu nhiễu, tôi có xu hướng thích các đa thức phù hợp để làm mịn các spline, nhưng dữ liệu tôi làm việc thường được xấp xỉ bằng các đa thức.


1

Một cách tiếp cận hiệu quả mà tôi đã sử dụng với phép tính gần đúng đa thức là tính toán các đa thức bình phương nhỏ nhất cho các mức độ khác nhau (ví dụ: từ 1 đến 10) và sau đó chọn đường cong giảm thiểu sai số bình phương trung bình tại các điểm giữa chừng (khi được sắp xếp theo x) điểm trong tập dữ liệu của bạn. Điều này giúp loại trừ các đường cong với dao động quá nghiêm trọng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.