Saya biasanya mendengar tentang "kotak paling tidak biasa". Apakah itu algoritma yang paling banyak digunakan digunakan untuk regresi linier? Apakah ada alasan untuk menggunakan yang berbeda?
42
Saya biasanya mendengar tentang "kotak paling tidak biasa". Apakah itu algoritma yang paling banyak digunakan digunakan untuk regresi linier? Apakah ada alasan untuk menggunakan yang berbeda?
Jawaban:
Mengenai pertanyaan pada judul, tentang apa algoritma yang digunakan:
Dalam perspektif aljabar linier, algoritma regresi linier adalah cara untuk menyelesaikan sistem linear dengan lebih banyak persamaan daripada yang tidak diketahui. Dalam sebagian besar kasus tidak ada solusi untuk masalah ini. Dan ini karena vektor tidak termasuk dalam ruang kolom , .Ax=b b A C(A)
Inie=Ax−b ∥e∥2 b∈C(A)
best straight line
adalah salah satu yang membuat kesalahan keseluruhan sekecil yang diperlukan. Dan nyaman untuk berpikir kecil sebagai panjang kuadrat, , karena itu tidak negatif, dan sama dengan 0 hanya ketika b \ dalam C (\ mathbf {A}) .Memproyeksikan (secara orthogonal) vektor ke titik terdekat dalam ruang kolom memberikan vektor yang memecahkan sistem (komponennya terletak pada garis lurus terbaik) dengan kesalahan minimum.b A b∗
dan vektor yang diproyeksikan diberikan oleh:b∗
Mungkin metode kuadrat terkecil tidak secara eksklusif digunakan karena
squaring
kelebihan kompensasi untuk pencilan.Biarkan saya memberikan contoh sederhana dalam R, yang memecahkan masalah regresi menggunakan algoritma ini:
sumber
could not find inv
?!lm
QR, ada alasan untuk itu, dapatkah Anda menjelaskan mengapa?Untuk menjawab surat pertanyaan, "kuadrat terkecil" bukan merupakan algoritma; melainkan merupakan jenis masalah dalam aljabar linear komputasi, yang salah satu contohnya adalah regresi linier. Biasanya seseorang memiliki data dan fungsi sementara ("model") agar sesuai dengan data, dari bentuk . The disebut "fungsi dasar" dan dapat berupa apa saja dari monomial hingga fungsi trigonometrik (misalnya , ) dan fungsi eksponensial ( ). Istilah "linear" dalam "regresi linier" di sini tidak merujuk pada fungsi dasar,{(x1,y1),…,(xm,ym)} f(x)=c1f1(x)+⋯+cnfn(x) fj(x) xj sin(jx) cos(jx) exp(−jx) cj , dalam mengambil turunan parsial model sehubungan dengan salah satu dari memberi Anda faktor mengalikan ; yaitu, .cj cj fj(x)
Satu sekarang memiliki matriks persegi panjang ("matriks desain") yang (biasanya) memiliki lebih banyak baris daripada kolom, dan setiap entri berbentuk , menjadi indeks baris dan menjadi indeks kolom. OLS sekarang tugas untuk menemukan vektor yang meminimalkan kuantitas (dalam notasi matriks, ; di sini, biasanya disebut "vektor respons").m×n A fj(xi) i j c=(c1…cn)⊤ ∑j=1m(yj−f(xj))2−−−−−−−−−−−−−√ ∥Ac−y∥2 y=(y1…ym)⊤
Setidaknya ada tiga metode yang digunakan dalam praktik untuk menghitung solusi kuadrat-terkecil: persamaan normal, dekomposisi QR, dan dekomposisi nilai singular. Secara singkat, mereka adalah cara untuk mengubah matriks menjadi produk dari matriks yang mudah dimanipulasi untuk memecahkan untuk vektor .A c
George sudah menunjukkan metode persamaan normal dalam jawabannya; satu hanya memecahkan set persamaan linearn×n
untuk . Karena kenyataan bahwa matriks adalah simetris positif (semi) pasti, metode yang biasa digunakan untuk ini adalah dekomposisi Cholesky, yang merupakan faktor ke dalam formulir , dengan matriks segitiga lebih rendah. Masalah dengan pendekatan ini, terlepas dari keuntungan karena dapat mengompres matriks desain menjadi matriks (biasanya) jauh lebih kecil matriks, adalah bahwa operasi ini rentan terhadap kehilangan angka-angka signifikan (ini memiliki sesuatu untuk lakukan dengan "nomor kondisi" dari matriks desain).c A⊤A A⊤A GG⊤ G m×n n×n
Cara yang sedikit lebih baik adalah dekomposisi QR, yang langsung bekerja dengan matriks desain. Itu faktor sebagai , di mana adalah matriks ortogonal (mengalikan matriks tersebut dengan transposnya memberikan matriks identitas) dan adalah segitiga atas. selanjutnya dihitung sebagai . Untuk alasan saya tidak akan masuk (hanya melihat teks aljabar linear numerik yang layak, seperti ini ), ini memiliki sifat numerik yang lebih baik daripada metode persamaan normal.A A=QR Q R c R−1Q⊤y
Salah satu variasi dalam menggunakan dekomposisi QR adalah metode persamaan seminormal . Secara singkat, jika seseorang memiliki dekomposisi , sistem linear yang harus dipecahkan mengambil bentukA=QR
Secara efektif, seseorang menggunakan dekomposisi QR untuk membentuk segitiga Cholesky dari dalam pendekatan ini. Ini berguna untuk kasus di mana jarang, dan penyimpanan eksplisit dan / atau pembentukan (atau versi yang difaktorkan) tidak diinginkan atau tidak praktis.A⊤A A Q
Akhirnya, cara memecahkan OLS yang paling mahal, namun paling aman adalah dekomposisi nilai singular (SVD). Kali ini, diperhitungkan sebagai , di mana dan keduanya ortogonal , danA A=UΣV⊤ U V Σ adalah matriks diagonal, yang entri diagonalnya disebut "nilai singular". Kekuatan dekomposisi ini terletak pada kemampuan diagnostik yang diberikan kepada Anda oleh nilai-nilai singular, di mana jika seseorang melihat satu atau lebih nilai-nilai singular kecil, maka kemungkinan Anda telah memilih set basis yang tidak sepenuhnya independen, sehingga memerlukan reformulasi model Anda. ("Angka kondisi" yang disebutkan sebelumnya sebenarnya terkait dengan rasio nilai singular terbesar dengan yang terkecil; rasio tentu saja menjadi besar (dan matriksnya dengan demikian tidak terkondisi) jika nilai singular terkecil adalah "kecil" .)
Ini hanyalah sketsa dari ketiga algoritma ini; buku bagus apa pun tentang statistik komputasi dan aljabar linear numerik harus dapat memberi Anda detail yang lebih relevan.
sumber
R^{-1} Q^T y
jika A tidak kuadrat? Apakah Anda menjatuhkan baris nol dalam R?Tautan wiki: Metode Estimasi untuk Regresi Linier memberikan daftar metode estimasi yang cukup komprehensif termasuk OLS dan konteks di mana metode estimasi alternatif digunakan.
sumber
Sangat mudah untuk bingung antara definisi dan terminologi. Kedua istilah tersebut digunakan, terkadang secara bergantian. Pencarian cepat di Wikipedia akan membantu:
Ordinary Least Squares (OLS) adalah metode yang digunakan untuk menyesuaikan model regresi linier. Karena konsistensi dan efisiensi yang dapat dibuktikan (dengan asumsi tambahan) dari metode OLS, itu adalah pendekatan yang dominan. Lihat artikel untuk petunjuk lebih lanjut.
sumber
Saya cenderung menganggap 'kuadrat terkecil' sebagai kriteria untuk menentukan garis regresi pas terbaik (yaitu, yang membuat jumlah dari 'kuadrat' residu 'paling sedikit') dan 'algoritma' dalam konteks ini sebagai serangkaian langkah yang digunakan untuk menentukan koefisien regresi yang memenuhi kriteria itu. Perbedaan ini menunjukkan bahwa dimungkinkan untuk memiliki algoritma yang berbeda yang akan memenuhi kriteria yang sama.
Saya ingin tahu apakah orang lain membuat perbedaan ini dan terminologi apa yang mereka gunakan.
sumber
Sebuah buku tua, namun saya menemukan diri saya berulang kali beralih ke, adalah
Lawson, CL dan Hanson, RJ Memecahkan Masalah Kuadrat Terkecil , Prentice-Hall, 1974.
Ini berisi diskusi terinci dan sangat mudah dibaca dari beberapa algoritma yang telah disebutkan sebelumnya. Anda mungkin ingin melihatnya.
sumber