En küçük kareler yaklaşım sorusu


11

Bilimsel hesaplama üzerine bir ders alıyorum ve en küçük kareler yaklaşımını aştık. Benim sorum özellikle polinomları kullanarak yaklaşmakla ilgili. N + 1 veri noktanız varsa, tüm bu noktaları tanımlayan benzersiz bir n derece polinomu bulabileceğinizi anlıyorum. Ama bunun neden her zaman ideal olmadığını da görebiliyorum. Böyle bir yaklaşımla veri noktaları arasında çok fazla gürültü alabilirsiniz. Verilerinizi yeterince iyi tahmin eden daha düşük dereceli bir polinom elde etmek güzel bir şey.

Sorum şu: Uygulamada ne kadar polinom kullanacağınıza nasıl karar veriyorsunuz? Temel bir kural var mı, yoksa sadece eldeki probleme mi bağlı? Daha fazla veya daha az derece arasında karar verirken çeşitli ödünleşmeleri hesaba katmamız gerekir mi? Yoksa burada bir şeyi yanlış mı anlıyorum?

Şimdiden teşekkürler.


2
Ben spline enterpolasyon gibi şeyler kullanmak pratik kişilerde düşünüyorum en.wikipedia.org/wiki/Spline_interpolation düşük sipariş poliler kullanılır, böylece, ancak genel etki üzerinde her başkaları ile iyi uyum. Bu şekilde genel bir polinom düzeni için tahmin etmek zorunda kalmazsınız.
Nasser

Bağlantı için teşekkürler. Henüz spline geçmedik, bu ilginç bir okuma.
Uday Pramod

Tam olarak yapmak istediğiniz şey nedir? Noktaları enterpole etmeye mi yoksa verilen verilere uymaya mı çalışıyorsunuz? Örneğin, normal parazit dağılımından oluşan verileri enterpole etmek işe yaramaz. Birincisi için, Nasser'ın cevabı iyidir. İkincisi için, uyum fonksiyonu sadece eldeki probleme bağlıdır ve çoğu durumda polinom değildir.
hauntergeist

Çapraz doğrulanmış olarak bu sorunun cevaplarıyla ilgilenebilirsiniz .
Bort

Yanıtlar:


18

İnterpolasyon ve eğri uydurmanın en önemli yönü, yüksek dereceli polinom uyumlarının neden bir sorun olabileceğini ve diğer seçeneklerin ne olduğunu anlamaktır ve daha sonra iyi bir seçim olmadığında anlayabilirsiniz.

Yüksek mertebeden polinomlarla ilgili birkaç sorun:

  • Polinomlar doğal olarak salınımlı işlevlerdir. Polinom sırası arttıkça salınımların sayısı artar ve bu salınımlar daha şiddetli hale gelir. Burada basitleştiriyorum, çoklu ve hayali köklerin olasılığı onu biraz daha karmaşık hale getiriyor, ancak nokta aynı.

  • Polinomlar x, +/- sonsuza giderken polinom düzenine eşit bir oranda +/- sonsuza yaklaşır. Bu genellikle istenen bir davranış değildir.

  • Yüksek mertebeden polinomlar için polinom katsayılarının hesaplanması tipik olarak kötü şartlandırılmış bir sorundur. Bu, küçük hataların (bilgisayarınızda yuvarlama gibi) yanıtta büyük değişiklikler yaratabileceği anlamına gelir. Çözülmesi gereken lineer sistem , kolayca hastalanabilen bir Vandermonde Matrisi içerir .

Belki de bu sorunun kalbinin eğri uydurma ve enterpolasyon arasındaki ayrım olduğunu düşünüyorum .

Enterpolasyon , verilerinizin çok doğru olduğuna inandığınız zaman kullanılır, böylece işlevinizin veri noktalarıyla tam olarak eşleşmesini istersiniz. Veri noktalarınız arasında değerlere ihtiyaç duyduğunuzda, genellikle verilerin yerel eğilimiyle eşleşen düzgün bir işlev kullanmak en iyisidir. Kübik veya Hermite kamaları genellikle bu tür problemler için iyi bir seçimdir çünkü yerel olmayanlara (belirli bir noktadan çok uzaktaki veri noktalarında) değişikliklere veya hatalara daha az duyarlıdırlar ve bir polinomdan daha az salınımlıdırlar. Aşağıdaki veri kümesini göz önünde bulundurun:

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

İnterpolasyon
Bir polinom uyumu, özellikle veri setinin kenarlarının yakınında, bir Hermite spline'dan çok daha büyük salınımlara sahiptir.

Öte yandan, en küçük kareler yaklaşımı bir eğri uydurmadırtekniği. Eğri uydurma, verilerinizin beklenen işlevselliği hakkında bir fikriniz olduğunda kullanılır, ancak tüm veri noktalarından tam olarak geçmek için işlevinize ihtiyacınız yoktur. Bu, veriler ölçüm hataları veya başka belirsizlikler içerebiliyorsa veya verilerin genel eğilimini çıkarmak istediğinizde tipiktir. En küçük kareler yaklaşımı çoğunlukla bir kursa eğri uydurma için polinomlar kullanılarak sokulur, çünkü bu, kursunuzda daha önce öğrendiğiniz teknikler kullanılarak çözülmesi nispeten basit olan doğrusal bir sistemle sonuçlanır. Bununla birlikte, en küçük kareler teknikleri, sadece polinom uydurmalarından çok daha geneldir ve bir veri kümesine istenen herhangi bir işlevi uydurmak için kullanılabilir. Örneğin, veri kümenizde üstel bir büyüme eğilimi bekliyorsanız,

Son olarak, verilerinize uyacak doğru işlevi seçmek enterpolasyonu veya en küçük kareler hesaplamalarını doğru yapmak kadar önemlidir. Bunu yapmak bile (temkinli) ekstrapolasyon olasılığına izin verir. Aşağıdaki durumu düşünün. 2000-2010 arasında ABD için nüfus verileri (milyonlarca insanda) verildi:

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

Üstel doğrusallaştırılmış en küçük karelere uyum N(t)=A*exp(B*t)veya 10. dereceden bir polinom interpolant kullanmak aşağıdaki sonuçları verir:
Nüfus grafiği

ABD'nin nüfus artışı oldukça üstel değil, ama daha iyi bir uyumun hakimi olmanıza izin vereceğim.


1
ABD nüfusu grafiğinizle yapacağım bir nokta, hafızadan etki alanına iyi uyum sağladığı iyi tahmin edileceği anlamına gelmez. Bu ışık altında, verilerinizin bulunduğu bölgenin dışındaki büyük polinom hatalarını göstermek yanıltıcı olabilir.
Daryl

@Daryl kabul etti, bu yüzden ekstrapolasyonun dikkatli yapılması gerektiğini ve bu durumda uygun bir işlev seçmenin çok önemli olduğunu vurguladım.
Doug Lipinski

@DougLipinski Anlayışlı cevap için teşekkürler. En küçük karelere karşıt olarak doğrusallaştırılmış en küçük kareler ile ne demek istediğinizi açıklayabilir misiniz?
bela83

@ bela83 Bir yorum için çok uzun olan doğru cevaplama. Bence sormak istersen çok iyi bir soru olurdu.
Doug Lipinski

@ DoLLipinski Bir deneyeceğim!
bela83

2

Çok bilimsel değil, ama iyi bir kural, 3. derece polinomların tipik olarak iyi bir başlangıç ​​olduğudur ve pratikte hiç kimsenin 6. dereceden fazla bir tane kullandığını görmedim.

"İdeal" polinom, gürültüsüz verileri amacınız için yeterince iyi temsil eden en düşük sıralı olacaktır.

Verileriniz buna izin verecek kadar küçükse (genellikle), "aşırı sığdırmanın" işareti olan salınımları görmeye başlayana kadar daha yüksek mertebeden polinomlarla takmayı deneyebilirsiniz.

Bir alternatif yumuşatıcı bir spline olacaktır , ancak uygulamaya çok bağlıdır. Kamalar ve düzleme kamalar sadece enterpolasyon için iyidir. Gürültülü veriler için eğri çizgileri yumuşatmak için polinom uyumlarını tercih etme eğilimindeyim, ancak birlikte çalıştığım veriler genellikle polinomlar tarafından iyi yaklaşıyor.


1

Ben polinom yaklaşımla kullandım olduğu bir insanca-etkili bir yaklaşım, çeşitli derecelerde (ör 1 ile 10 arasında) için en küçük kareler polinomları hesaplamak ve sonra eğri seçmek için olduğu en aza indirir noktalarında ortalama karesel hata yarım arasında üst üste (zaman veri kümenizdeki x) noktalarına göre sıralanır. Bu, çok şiddetli salınımlara sahip eğrileri dışlamaya yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.