Komputasi kesalahan standar untuk masalah regresi linier tanpa menghitung invers

11

Apakah ada cara yang lebih cepat untuk menghitung kesalahan standar untuk masalah regresi linier, daripada dengan membalik ? Di sini saya berasumsi kita mengalami regresi:XX

y=Xβ+ε,

di mana adalah matriks dan adalah vektor.Xn×kyn×1

Untuk menemukan solusi masalah kuadrat terkecil, tidak praktis untuk melakukan apa pun dengan , Anda dapat menggunakan dekomposisi QR atau SVD pada matriks secara langsung. Atau sebagai alternatif, Anda dapat menggunakan metode gradien. Tetapi bagaimana dengan kesalahan standar? Kita benar-benar hanya memerlukan diagonal (dan tentu saja solusi LS untuk menghitung estimasi kesalahan standar ). Apakah ada metode khusus untuk perhitungan kesalahan standar?XXX(XX)1ε

mpiktas
sumber

Jawaban:

5

Misalkan Anda memecahkan masalah kuadrat terkecil Anda menggunakan dekomposisi nilai singular (SVD) , yang diberikan olehX

X=UΣV,

di mana dan adalah kesatuan, dan diagonal.UVΣ

Kemudian

XX=VΣ2V.

(XX)1 ada jika adalah peringkat penuh (atau memiliki nilai singular yang positif), dalam hal iniX

(XX)1=VΣ2V.

(Lihat jawaban yang saya berikan pada pertanyaan terkait tentang Math.SE. )

Jika Anda sudah memiliki dan , menghitung membutuhkan pembalikan dan kuadratkan matriks diagonal ( operasi untuk matriks ), penskalaan kolom (atau baris) dari matriks ( operasi), dan satu matriks tunggal berkembang biak (sayangnya ). Metode ini akan berperilaku baik secara numerik.ΣV(XX)1nn×nn2O(n3)

Ada metode cepat untuk mendapatkan elemen diagonal dari kebalikan dari matriks jarang (lihat karya oleh kelompok Yousef Saad dan karya Lin Lin, dkk ). Namun, dalam kasus Anda, mungkin tidak jarang (bahkan jika ), dan bahkan jika itu, kemungkinan besar akan cukup terkondisi sehingga metode cepat ini akan menghasilkan hasil yang tidak akurat.XXX

Geoff Oxberry
sumber
+1, saya lupa tentang properti SVD yang bagus itu. Jika tidak ada jawaban lain yang akan datang, saya akan menerima jawaban ini, karena itu cukup dekat dengan yang saya ingin dapatkan (dan tentu saja magnitude lebih baik daripada yang saya harapkan :))
mpiktas
Saya harus menambahkan bahwa jika Anda hanya ingin menghitung elemen diagonal , maka proses ini jika Anda sudah memiliki SVD dari . Saya bisa menuliskan formula penjumlahan dalam jawaban saya jika Anda mau. (XX)1O(n2)X
Geoff Oxberry
Tidak ada referensi; itu hanya memperluas rumus untuk elemen diagonal dalam hal penjumlahan elemen-bijaksana. (XX)1
Geoff Oxberry
Saya bisa menyelesaikannya tanpa masalah. Jumlah baris V dibagi dengan kuadrat diagonal . Rapi. Σ
mpiktas
Abaikan komentar terakhir, ada kesalahan di sana. Saya mendapat formula yang benar.
mpiktas