Menerapkan regresi punggungan untuk sistem persamaan yang tidak ditentukan?

9

Ketika , masalah kuadrat terkecil yang memaksakan pembatasan bola pada nilai dapat ditulis sebagai untuk sistem yang ditentukan secara berlebihan. \ | \ cdot \ | _2 adalah norma Euclidean dari suatu vektor.y=Xβ+eδβ

min yXβ22s.t.  β22δ2
2

Solusi yang sesuai untuk β diberikan oleh

β^=(XTX+λI)1XTy ,
yang dapat diturunkan dari metode pengali Lagrange ( λ adalah pengali):
L(β,λ)=yXβ22+λ(β22δ2)

Saya mengerti bahwa ada properti yang

(XTX+λI)1XT=XT(XXT+λI)1 .
Sisi kanan menyerupai pseudo-invers dari matriks regressor X dalam kasus yang tidak ditentukan (dengan parameter regularisasi ditambahkan, λ ). Apakah ini berarti bahwa ekspresi yang sama dapat digunakan untuk memperkirakan β untuk case yang tidak ditentukan? Apakah ada derivasi terpisah untuk ekspresi terkait dalam kasus yang tidak ditentukan, karena batasan pembatasan bola berlebihan dengan fungsi tujuan (norma minimum β ):

min. β2s.t. Xβ=y .
hatmatrix
sumber

Jawaban:

12

Dimulai dengan rumusan masalah regresi ridge sebagai

minXβy22+λx22

Anda dapat menulis masalahnya sebagai

minAβb22

dimana

A=[XλI]

dan

b=[y0].

Matriks memiliki rank kolom penuh karena bagian. Dengan demikian masalah kuadrat terkecil sebagai solusi yang unikAλI

β^=(ATA)1ATb

Menulis ini dalam bentuk dan , dan menyederhanakan banyak 0, kita dapatkanXy

β^=(XTX+λI)1XTy

Tidak ada dalam derivasi ini bergantung pada apakah memiliki lebih banyak baris atau kolom, atau bahkan pada apakah memiliki peringkat penuh. Formula ini berlaku untuk kasus yang tidak ditentukan. XX

Ini adalah fakta aljabar bahwa untuk ,λ>0

(XTX+λI)1XT=XT(XXT+λI)1

Jadi kami juga memiliki opsi untuk menggunakan

β^=XT(XXT+λI)1y .

Untuk menjawab pertanyaan spesifik Anda:

  1. Ya, kedua rumus berfungsi untuk kasus yang tidak ditentukan serta kasus yang ditentukan lebih lanjut. Mereka juga bekerja jika kurang dari minimum jumlah baris dan kolom dari . Versi kedua dapat lebih efisien untuk masalah yang tidak ditentukan karena lebih kecil dari dalam kasus itu. rank(X)XXXTXTX

  2. Saya tidak mengetahui adanya penurunan versi alternatif dari rumus yang dimulai dengan beberapa masalah kuadrat terkecil teredam lainnya dan menggunakan persamaan normal. Dalam kasus apa pun Anda dapat menurunkannya secara langsung menggunakan sedikit aljabar.

Mungkin saja Anda memikirkan masalah regresi ridge dalam formulir

minβ22

tunduk pada

Xβy22ϵ.

Namun, versi masalah regresi ridge ini hanya mengarah ke masalah kuadrat terkecil teredam yang sama .minXβy22+λβ22

Brian Borchers
sumber
2
Patut dicatat apa yang terjadi dalam batas sebagai pergi ke 0 jika memiliki peringkat baris penuh atau peringkat kolom penuh. Jika memiliki peringkat kolom penuh, maka dalam batas, Anda mendapatkan pseudoinverse . Demikian pula, jika memiliki peringkat baris penuh, maka dalam batas Anda mendapatkan pseudoinverse . Jadi, ini berhasil seperti yang kita harapkan. λXX(XTX)1XTXXT(XXT)1
Brian Borchers
Ini adalah jawaban yang luar biasa komprehensif dan derivasi dari array yang ditambah (ditambah aljabar yang saya lewatkan) sangat memuaskan. Saya tidak memikirkan masalah regresi ridge dalam bentuk yang Anda sajikan di bagian akhir, tetapi menarik untuk melihat bahwa itu mengarah ke fungsi tujuan yang sama. Terima kasih banyak!
hatmatrix
1
Terima kasih. Saya akan memasukkan plug tak tahu malu di sini- Anda dapat menemukan ini (dan banyak materi terkait) di buku teks tentang estimasi parameter dan masalah terbalik yang saya tulis bersama dengan Rick Aster dan Cliff Thurber.
Brian Borchers
1
Izinkan saya juga menambahkan bahwa sebenarnya menghitung invers matriks ini biasanya bukan cara terbaik untuk menggunakan rumus ini. Tergantung pada ukuran dan kemungkinan sparsity dari Anda mungkin akan lebih baik menggunakan skema berulang atau hanya menggunakan Cholesky faktorisasi matriks . XXTX+λI
Brian Borchers
Terima kasih atas saran Anda! Saya menghargai referensi ke buku Anda karena saya kesulitan menemukan buku teks pada materi ini. Ukuran data kami sebenarnya tidak terlalu besar (hanya bahwa kami mungkin harus menerapkan ini berkali-kali untuk memisahkan set data), jadi mungkin setuju dengan invers langsung, tetapi terima kasih atas petunjuk tambahan!
hatmatrix