L-sonsuzluk normu doğrusal regresyonu çözmek için yazılım paketi [kapalı]


10

L-sonsuzluk normunu en aza indirgemek amacıyla doğrusal regresyonu çözmek için herhangi bir yazılım paketi var mı?


1
Herhangi bir doğrusal programlama paketi işe yarayacaktır. Bu size birçok seçenek sunuyor. :)
kardinal

1
@Cardinal Bunu doğrusal bir program olarak nasıl yeniden yaparsınız? Önemsiz durumlarda bile (iki veri noktası ve bir parametre gibi) nasıl yapılacağı açık değildir: kısıtlama yoktur ve nesnel işlev doğrusal değildir.
whuber

1
Anahtar sözcük : Chebyshev yaklaşımı. (Takip edilecek daha fazla. Fikir, ekstra bir değişken sunmak ve daha sonra nesneyi kısıtlamalara dönüştürmek.)
kardinal

@cardinal Bunu demek istediniz: mathworld.wolfram.com/ChebyshevApproximationFormula.html Oldukça karmaşık görünüyor.
Fan Zhang

Biraz ilgili, ama bu sorun için almanca değil. Sorununuz basit bir LP ile çözülebilir. Bir bilgisayara ulaşabildiğim anda bir cevap göndereceğim.
kardinal

Yanıtlar:


19

Kısa cevap : Sorununuz, görev için en sevdiğiniz LP çözücüsünü seçmenize izin veren doğrusal bir program (LP) olarak formüle edilebilir. Sorunun LP olarak nasıl yazılacağını görmek için okumaya devam edin.

Bu minimizasyon problemine genellikle Chebyshev yaklaşımı denir .

Let , satır ile ile gösterilen ve . Sonra fonksiyonu minimize etmeye göre . En uygun değeri y=(yi)RnXRn×pixiβRpf(β)=yXββ

f=f(β)=inf{f(β):βRp}.

Bunu LP olarak yeniden biçimlendirmenin anahtarı sorunu epigraf formunda yeniden yazmaktır . Aslında, olduğuna ikna etmek zor değildir

f=inf{t:f(β)t,tR,βRp}.

Şimdi, işlevinin tanımını kullanarak, yukarıdaki sağ tarafı olarak yeniden yazabiliriz ve bu nedenle bir regresyon ayarında normunu en aza indirmenin LP ile eşdeğer olduğunu görüyoruz. burada optimizasyon yapılır üzerinde ve uzunluğunda bir vektörü belirtir . Okuyucu için yukarıdaki LP'yi standart formda yeniden düzenlemeyi (kolay) bir egzersiz olarak bırakıyorum.f

f=inf{t:tyixiβt,tR,βRp,1in},
minimizetsubject toyXβt1nyXβt1n,
(β,t)1nn

Doğrusal regresyonun (toplam varyasyon) versiyonu ile ilişki1

normunda çok benzer bir şeyin yapılabileceğini . Let . Ardından, benzer argümanlar böylece karşılık gelen LP 1g(β)=yXβ1

g=inf{tT1n:tiyixiβti,t=(ti)Rn,βRp,1in},
minimizetT1nsubject toyXβtyXβt.

artık durumunda olduğu gibi skaler yerine uzunluğunda bir vektör olduğunu unutmayın .tn

Bu iki problemdeki benzerlik ve her ikisinin de LP olarak atılabilmeleri elbette tesadüf değildir. İki normları olduklarını şu şekilde ilişkilidir ikili normlar birbirinden.


Parametreler ve / veya tahminler için bazı kesinlik ölçülerini nasıl bulabilirdiniz? Şu son soru yüzünden soruyorum: mathematica.stackexchange.com/questions/214226/… .
JimB

3

Malab cvx kullanarak bunu yapabilir. cvx (ücretsiz) almak için:

http://cvxr.com/cvx/download/

CVX'de şöyle yazarsınız:

cvx_begin
   variable x(n);
   minimize( norm(A*x-b,Inf) );
cvx_end

( kılavuzun 12. sayfasına bakınız )

CVX'in bir Python uygulaması var ( burada ) ama komutlar biraz farklı ...


1

@ cardinal'in cevabı iyi ifade edilmiş ve kabul edilmiştir, ancak bu konuyu tamamen kapatmak için aşağıdakileri sunacağım: IMSL Sayısal Kütüphaneleri , L-sonsuz norm regresyonunu gerçekleştirmek için bir rutin içerir. Rutin Fortran, C, Java, C # ve Python'da mevcuttur. I Yöntem ayrıca, genel destekler arama lnorm_regression, olduğu C ve Python sürümlerini kullandık -norm regresyon, .Lpp>=1

Bunların ticari kütüphaneler olduğunu, ancak Python sürümlerinin ticari olmayan kullanım için ücretsiz (biradaki gibi) olduğunu unutmayın.


Maalesef, bağlantı artık çalışmıyor. Güncelleyebilir misiniz?
COOLSerdash
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.