(Yıllar sonra) parçalı doğrusal fonksiyonlar, çoğu spline tesisatçısının yapması söylenebilen 1. derece splinelardır.
Örneğin scipy.interpolate.UnivariateSpline ile oynamak k=1
ve bir düzeltme parametresi ile çalışabilirsiniz s
- bkz.
scipy-interpolation-univariate-splines .
Matlab'da,
nasıl seçileceğini öğrenin .
Eklendi: optimal düğüm bulmak kolay değil, çünkü birçok yerel optima olabilir. Bunun yerine, UnivariateSpline'a bir hedef s
, hata ^ 2 toplamı verir ve düğüm sayısını belirlemesine izin verirsiniz . Taktıktan sonra get_residual()
, hata ^ 2 ve get_knots()
düğümlerin gerçek toplamını alırsınız . Küçük bir değişiklik s
, özellikle yüksek gürültülü - ymmv'de düğümleri çok değiştirebilir.
Grafik, rastgele parçalı doğrusal fonksiyona + çeşitli parazitlere uyum gösterir s
.
Parçalı sabitleri takmak için bkz.
Adım algılama . Bu pw linear için kullanılabilir mi? Bilmiyorum; gürültülü verileri ayırarak başlamak gürültüyü artıracaktır, yanlış.
Diğer test fonksiyonları ve / veya bildiri veya kod bağlantıları memnuniyetle karşılanacaktır. Birkaç bağlantı:
parça olarak düğümler ile parçalı-doğrusal-regresyon
Doğrusal kamalar, düğümlerin kübik regresyon kamaları için düğüm seçimi yerleştirildiği yere çok duyarlıdır
Bu zor bir sorundur ve çoğu insan düğümleri deneme yanılma yoluyla seçer.
Popülerliği artan bir yaklaşım, bunun yerine cezalandırılmış regresyon spline'larını kullanmaktır.
Mart 2014 eklendi:
Dinamik programlama
, aşağıdaki gibi iç içe alt problemlerle ilgili genel bir yöntemdir:
optimal k lines
= optimal k - 1 lines up to some x
+ cost of the last line x to the end
over x (all x in theory, nearby x in practice)
Dinamik programlama çok zekidir, ancak bu görev için kaba kuvvet + buluşsal yöntemi yenebilir mi?
Erik Demaine tarafından MIT 6.006 Algoritmalara giriş altında
google segmentli lineer regresyon ve
John Henry sendromu altında mükemmel ders notlarına bakın
.