Saya telah menggunakan Matlab untuk melakukan kuadrat terkecil yang tidak dibatasi (kuadrat terkecil biasa) dan secara otomatis menampilkan koefisien, statistik uji dan nilai-p.
Pertanyaan saya adalah, ketika melakukan kuadrat terkecil yang dibatasi (benar-benar non-negatif koefisien), itu hanya mengeluarkan koefisien, TANPA statistik uji, nilai-p.
Apakah mungkin untuk menghitung nilai-nilai ini untuk memastikan signifikansi? Dan mengapa itu tidak tersedia secara langsung pada perangkat lunak (atau perangkat lunak lain dalam hal ini?)
Jawaban:
Memecahkan kuadrat terkecil non-negatif (NNLS) didasarkan pada algoritma yang membuatnya berbeda dari kuadrat terkecil reguler.
Ekspresi aljabar untuk kesalahan standar (tidak berfungsi)
Dengan kuadrat terkecil reguler, Anda dapat mengekspresikan nilai-p dengan menggunakan uji-t dalam kombinasi dengan estimasi untuk varian koefisien.
Ekspresi ini untuk varians sampel estimasi koefisien θ adalah V sebuah r ( θ ) = σ 2 ( X T X ) - 1 Varians dari kesalahan σ umumnya akan diketahui tetapi dapat diperkirakan dengan menggunakan residual . Ekspresi ini dapat diturunkan secara aljabar mulai dari ekspresi untuk koefisien dalam hal pengukuran yθ^ Va r ( θ^) = σ2( XTX)- 1 σ y
Matriks informasi Invers of Fisher (tidak berlaku)
Varians / distribusi estimasi dari koefisien juga asimtotik mendekati para diamati Fisher informasi matriks :
Tetapi saya tidak yakin apakah ini berlaku baik di sini. Estimasi NNLS bukan estimasi yang tidak bias.
Metode Monte Carlo
Kapan pun ekspresi menjadi terlalu rumit, Anda dapat menggunakan metode komputasi untuk memperkirakan kesalahan. Dengan Metode Monte Carlo Anda mensimulasikan distribusi keacakan percobaan dengan mensimulasikan pengulangan percobaan (menghitung ulang / memodelkan data baru) dan berdasarkan ini Anda memperkirakan varians dari koefisien.
sumber
Jika Anda akan OK menggunakan RI pikir Anda juga bisa menggunakan
bbmle
'smle2
fungsi untuk mengoptimalkan fungsi kuadrat kemungkinan setidaknya dan menghitung interval kepercayaan 95% pada nnls koefisien negatif. Selain itu, Anda dapat memperhitungkan bahwa koefisien Anda tidak dapat menjadi negatif dengan mengoptimalkan log koefisien Anda, sehingga pada skala backtransformed mereka tidak pernah bisa menjadi negatif.Berikut adalah contoh numerik yang menggambarkan pendekatan ini, di sini dalam konteks dekonvolusi suatu superposisi puncak kromatografi berbentuk gaussian dengan derau Gaussian: (ada komentar yang diterima)
Pertama mari kita simulasikan beberapa data:
Sekarang mari kita mendekonvolusi sinyal berisik yang diukur
y
dengan matriks berpita yang berisi salinan yang disalin dari kernel blur berbentuk gaussian yang diketahuibM
(ini adalah matriks kovariat / desain kami).Pertama, mari kita dekonvolusikan sinyal dengan kuadrat terkecil nonnegatif:
Sekarang mari kita optimalkan log-kemungkinan negatif dari tujuan hilangnya gaussian kami, dan optimalkan log koefisien Anda sehingga pada skala backtransformed mereka tidak pernah bisa negatif:
Saya belum mencoba membandingkan kinerja metode ini dibandingkan dengan bootstrap nonparametrik atau parametrik, tapi ini pasti jauh lebih cepat.
Saya juga cenderung berpikir bahwa saya harus dapat menghitung interval kepercayaan Wald untuk
nnls
koefisien nonnegatif berdasarkan pada matriks informasi Fisher yang diamati, dihitung pada skala koefisien transformasi log untuk menegakkan batasan nonnegativitas dan dievaluasi padannls
perkiraan.Saya pikir ini berjalan seperti ini, dan sebenarnya harus identik secara formal dengan apa yang saya gunakan di
mle2
atas:Hasil perhitungan ini dan yang dikembalikan oleh
mle2
hampir identik (tetapi jauh lebih cepat), jadi saya pikir ini benar, dan akan sesuai dengan apa yang kami lakukan secara implisit denganmle2
...Mereparasi kovariat dengan koefisien positif dalam
nnls
fit menggunakan model linier reguler btw tidak berfungsi, karena model linier seperti itu tidak akan memperhitungkan kendala nonnegativitas dan karenanya akan menghasilkan interval kepercayaan yang tidak masuk akal yang bisa menjadi negatif. Makalah ini "Tepat inferensi pemilihan model pos untuk skrining marjinal" oleh Jason Lee & Jonathan Taylor juga menyajikan metode untuk melakukan inferensi seleksi pasca-model pada koefisien nnls (atau LASSO) nonnegatif dan menggunakan distribusi Gaussian terpotong untuk itu. Saya belum melihat implementasi yang tersedia secara terbuka dari metode ini untuk nnls cocok - untuk LASSO cocok ada selektifInferencepaket yang melakukan sesuatu seperti itu. Jika ada orang yang memiliki implementasi, harap beri tahu saya!Dalam metode di atas, seseorang juga dapat membagi data dalam set pelatihan & validasi (mis. Pengamatan aneh & genap) dan menyimpulkan kovariat dengan koefisien positif dari set pelatihan & kemudian menghitung interval kepercayaan & nilai p dari set validasi. Itu akan menjadi sedikit lebih tahan terhadap overfitting meskipun itu juga akan menyebabkan hilangnya daya karena seseorang hanya akan menggunakan setengah dari data. Saya tidak melakukannya di sini karena kendala nonnegativitas itu sendiri sudah cukup efektif dalam menjaga terhadap overfitting.
sumber
Untuk lebih spesifik mengenai metode Monte Carlo @ Martijn yang dimaksud, Anda dapat menggunakan Bootstrap, metode resampling yang melibatkan pengambilan sampel dari data asli (dengan penggantian) beberapa set data untuk memperkirakan distribusi koefisien yang diestimasi dan oleh karena itu setiap statistik terkait, termasuk interval kepercayaan dan nilai-p.
Metode yang banyak digunakan dijelaskan di sini: Efron, Bradley. "Metode bootstrap: lihat lagi jackknife." Terobosan dalam statistik. Springer, New York, NY, 1992. 569-593.
Matlab telah menerapkannya, lihat https://www.mathworks.com/help/stats/bootstrp.html khususnya bagian berjudul Bootstrapping a Regression Model.
sumber