Apakah ada paket perangkat lunak untuk menyelesaikan regresi linier dengan tujuan meminimalkan norma L-infinity.
Apakah ada paket perangkat lunak untuk menyelesaikan regresi linier dengan tujuan meminimalkan norma L-infinity.
Jawaban:
Jawaban singkat : Masalah Anda dapat dirumuskan sebagai program linier (LP), membuat Anda memilih solver LP favorit Anda untuk tugas itu. Untuk melihat cara menulis masalah sebagai LP, baca terus.
Masalah minimisasi ini sering disebut sebagai pendekatan Chebyshev .
Biarkan , dengan baris dilambangkan dengan dan . Kemudian kami berusaha untuk meminimalkan fungsi sehubungan dengan . Nyatakan nilai optimal dengan
Kunci untuk menyusun kembali ini sebagai LP adalah menulis ulang masalah dalam bentuk epigraf . Tidaklah sulit meyakinkan diri sendiri bahwa, pada kenyataannya,
Sekarang, dengan menggunakan definisi fungsi , kita dapat menulis ulang sisi kanan di atas sebagai jadi kita melihat bahwa meminimalkan norm dalam pengaturan regresi sama dengan LP mana optimasi dilakukan lebih , dan menunjukkan vektor yang panjangnya . Saya meninggalkannya sebagai latihan (mudah) bagi pembaca untuk menyusun kembali LP di atas dalam bentuk standar.f ⋆ = inf { t : - t ≤ y i - x i β ≤ t ,ℓ ∞ kecilkan t subjek pada y - X β ≤ t 1 n
Hubungan dengan versi (variasi total) dari regresi linier
Sangat menarik untuk dicatat bahwa sesuatu yang sangat mirip dapat dilakukan dengan norma . Biarkan . Kemudian, argumen serupa membuat orang menyimpulkan bahwa sehingga LP yang sesuai adalah g ( β ) = ‖ y - X β ‖ 1 g ⋆ = inf { t T 1 n : - t i ≤ y iminimalkan t T 1 n dengan subjek y - X β ≤ t
Perhatikan di sini bahwa sekarang merupakan vektor dengan panjang alih-alih skalar, seperti pada kasus . n ℓ ∞
Kesamaan dalam dua masalah ini dan fakta bahwa keduanya dapat dicor sebagai piringan hitam, tentu saja, bukan kecelakaan. Kedua norma tersebut saling berkaitan karena keduanya merupakan norma ganda .
Jawaban @ kardinal dinyatakan dengan baik dan telah diterima, tetapi, demi menutup utas ini sepenuhnya, saya akan menawarkan yang berikut: Perpustakaan Angka IMSL berisi rutin untuk melakukan regresi norma L-infinity. Rutin tersedia dalam Fortran, C, Java, C # dan Python. Saya telah menggunakan versi C dan Python yang metodenya adalah panggilan lnorm_regress, yang juga mendukung regresi L_p umum , . p > = 1
Perhatikan bahwa ini adalah perpustakaan komersial tetapi versi Python gratis (seperti bir) untuk penggunaan non-komersial.