Estimasi ketidakpastian dalam masalah inferensi dimensi tinggi tanpa sampel?

9

Saya sedang mengerjakan masalah inferensi dimensi tinggi (sekitar 2000 parameter model) yang kami mampu melakukan estimasi MAP dengan kuat dengan menemukan maksimum global log-posterior menggunakan kombinasi optimasi berbasis gradien dan algoritma genetika.

Saya sangat ingin dapat membuat beberapa estimasi ketidakpastian pada parameter model selain menemukan estimasi MAP.

Kami dapat menghitung gradien log-posterior secara efisien berkenaan dengan parameter, sehingga jangka panjang kami bertujuan untuk menggunakan Hamiltonian MCMC untuk melakukan beberapa pengambilan sampel, tetapi untuk saat ini saya tertarik pada perkiraan berbasis non-sampling.

Satu-satunya pendekatan yang saya tahu adalah untuk menghitung kebalikan dari Hessian pada mode untuk memperkirakan posterior sebagai multivariat normal, tetapi bahkan ini tampaknya tidak mungkin untuk sistem besar seperti itu, karena bahkan jika kita menghitung elemen 4×106 dari Hessian Saya yakin kami tidak dapat menemukan kebalikannya.

Adakah yang bisa menyarankan pendekatan seperti apa yang biasanya digunakan dalam kasus seperti ini?

Terima kasih!

EDIT - informasi tambahan tentang masalah tersebut

Latar Belakang
Ini adalah masalah terbalik yang terkait dengan eksperimen fisika besar. Kami memiliki mesh segitiga 2D yang menggambarkan beberapa bidang fisik, dan parameter model kami adalah nilai fisik dari bidang tersebut di setiap simpul mesh. Mesh memiliki sekitar 650 simpul, dan kami memodelkan 3 bidang, jadi dari situlah parameter model 2000 kami berasal.

Data eksperimental kami berasal dari instrumen yang tidak mengukur bidang ini secara langsung, tetapi jumlah yang merupakan fungsi non-linier rumit dari bidang tersebut. Untuk masing-masing instrumen yang berbeda kami memiliki model-maju yang memetakan parameter model untuk prediksi data eksperimen, dan perbandingan antara prediksi dan pengukuran menghasilkan kemungkinan log.

Kami kemudian merangkum kemungkinan log dari semua instrumen yang berbeda ini, dan juga menambahkan beberapa nilai log sebelumnya yang menerapkan beberapa kendala fisik ke bidang.

Karenanya saya ragu 'model' ini masuk ke dalam kategori - kita tidak punya pilihan apa model itu, itu ditentukan oleh bagaimana instrumen yang sebenarnya berfungsi yang mengumpulkan data eksperimental kita.

Kumpulan
data Kumpulan data terdiri dari 500x500 gambar, dan ada satu gambar untuk setiap kamera sehingga total poin data adalah 500x500x4 = 106 .

Model kesalahan
Kami menganggap semua kesalahan dalam masalah menjadi Gaussian saat ini. Pada titik tertentu saya mungkin mencoba untuk beralih ke model kesalahan siswa-t hanya untuk beberapa fleksibilitas ekstra, tetapi hal-hal masih berfungsi dengan baik hanya dengan orang Gaussi.

Contoh
kemungkinan Ini adalah eksperimen fisika plasma, dan sebagian besar data kami berasal dari kamera yang menunjuk ke plasma dengan filter khusus di depan lensa untuk hanya melihat bagian spesifik dari spektrum cahaya.

Untuk mereproduksi data ada dua langkah; pertama-tama kita harus memodelkan cahaya yang berasal dari plasma di mesh, kemudian kita harus memodelkan cahaya itu kembali ke gambar kamera.

Pemodelan cahaya yang berasal dari plasma sayangnya tergantung pada apa yang secara efektif menilai koefisien, yang mengatakan berapa banyak cahaya yang dipancarkan oleh berbagai proses yang diberikan ladang. Angka-angka ini diprediksi oleh beberapa model numerik yang mahal, jadi kami harus menyimpan outputnya di grid, dan kemudian menginterpolasi untuk mencari nilai. Data fungsi tingkat hanya dihitung sekali - kita menyimpannya kemudian membangun spline darinya ketika kode mulai, dan kemudian spline itu digunakan untuk semua evaluasi fungsi.

Misalkan R1 dan R2 adalah fungsi tingkat (yang kita mengevaluasi dengan interpolasi), maka emisi pada i 'th titik dari mesh Ei diberikan oleh

Ei=R1(xi,yi)+ziR2(xi,yi)
mana (x,y,z)adalah 3 bidang yang kami model pada mesh. Mendapatkan vektor emisi ke gambar kamera itu mudah, itu hanya perkalian dengan matriks G yang mengkodekan bagian mana dari setiap piksel kamera yang terlihat.

Karena kesalahan adalah Gaussian, kemungkinan log untuk kamera khusus ini adalah

L=12(GEd)Σ1(GEd)

di mana d adalah data kamera. Total log-likelihood adalah jumlah 4 dari ekspresi di atas, namun untuk kamera yang berbeda, yang semua memiliki versi yang berbeda dari fungsi tingkat R1,R2 karena mereka sedang melihat bagian yang berbeda dari spektrum cahaya.

Contoh sebelumnya
Kami memiliki berbagai prior yang secara efektif hanya menetapkan batas atas dan bawah tertentu pada berbagai kuantitas, tetapi ini cenderung tidak bertindak terlalu kuat pada masalah. Kami memiliki satu sebelum yang bertindak kuat, yang secara efektif menerapkan perataan tipe Laplacian untuk bidang. Itu juga mengambil bentuk Gaussian:

log-prior=12xSx12ySy12zSz

CBowman
sumber
1
Model apa yang Anda pas? Regresi linier? Dokter umum? Model penghitungan hierarkis? Kalibrasi Bayesian model komputer? Harap tambahkan detail lebih lanjut tentang masalah yang Anda selesaikan, dan saya akan menulis jawaban dengan pro dan kontra VI.
DeltaIV
1
@DeltaIV Saya telah memperbarui pertanyaan dengan beberapa info lagi - mungkin karena saya tidak menguraikan dengan tepat apa yang Anda cari. Jika demikian beri tahu saya dan saya akan mengedit lagi, terima kasih!
CBowman
1
@DeltaIV Terima kasih lagi! Info lebih lanjut ditambahkan, beri tahu saya jika ada hal lain yang dapat saya tambahkan.
CBowman
1
@DeltaIV gambar data adalah 500x500, dan ada satu untuk setiap kamera sehingga total poin data adalah 500x500x4 = . Data fungsi tingkat hanya dihitung sekali - kita menyimpannya kemudian membangun spline darinya ketika kode mulai, dan kemudian spline itu digunakan untuk semua evaluasi fungsi. 106
CBowman
1
Saya tidak punya referensi, tetapi ada banyak perkiraan peringkat rendah untuk menghitung invers matriks. mis. temukan nilai eigen terbesar , anggap sisa 2000 - k sama, dan gunakan perkiraan kasar untuk vektor eigen yang sesuai dengan nilai eigen rendah. Saya cukup yakin ada juga dekomposisi Cholesky perkiraan / iteratif yang konvergen ke nilai yang tepat. cukup hentikan iterasinya setelah Anda menunggu waktu maksimalnyak2000k
probabilityislogic

Jawaban:

4

Pertama-tama, saya pikir model statistik Anda salah. Saya mengubah notasi Anda menjadi lebih dikenal oleh ahli statistik, jadi mari

d=y=(y1,,yN), N=106

menjadi vektor pengamatan Anda (data), dan

x=θ=(θ1,,θp)y=ϕ=(ϕ1,,ϕp)z=ρ=(ρ1,,ρp), p650

vektor parameter Anda, dari total dimensi d=3p2000 . Kemudian, jika saya mengerti dengan benar, Anda menganggap model

y=Gr1(θ,ϕ)+ρGr2(θ,ϕ))+ϵ, ϵN(0,IN)

GN×d

Ini jelas salah. Tidak mungkin kesalahan pada titik yang berbeda dalam gambar dari kamera yang sama, dan pada titik yang sama dalam gambar dari kamera yang berbeda, bersifat independen. Anda harus melihat statistik spasial dan model seperti kuadrat terkecil umum, estimasi semivariogram, kriging, Proses Gaussian, dll.


Karena itu, karena pertanyaan Anda bukanlah apakah modelnya merupakan perkiraan yang baik dari proses pembuatan data aktual, tetapi bagaimana memperkirakan model seperti itu, saya akan menunjukkan kepada Anda beberapa opsi untuk melakukan itu.

HMC

106

Pro : "tepat", dalam batas jumlah sampel tak terbatas dari rantai.

Cons : tidak ada batasan ketat pada kesalahan estimasi, ada beberapa metrik diagnostik konvergensi, tetapi tidak ada yang ideal.

Perkiraan sampel besar

θp(θ|y)N(θ0^n,In1(θ0))θ0θ0^nθ0In1(θ0)θ0θ0In1(θ0^n)R1,R2 valid, jika data Anda benar-benar iid seperti yang Anda asumsikan, tapi saya tidak percaya itu, seperti yang saya jelaskan di awal.

p<<Nθ0

p(θ|y)

Inferensi variabel

p(θ|y)dpqϕ(θ)qQϕϕϕqp

ϕ=argminϕΦDKL(qϕ(θ)||p(θ|y))

qϕ(θ)

  • ϕ
  • p(θ|y)ϕq

qϕ(θ)d

qϕ(θ)=i=1dqϕi(θi)

qϕj(θj)

logqj(θj)=Eij[logp(y,θ)]+const.

p(y,θ)q1(θ1),,qj1(θj1),qj+1(θj+1),,qd(θd)qi(θi)(d1)

qqiqNtitik data. Untuk mengamortisasi biaya inferensi, jaringan saraf digunakan untuk memetakan ruang input ke ruang parameter variasional. Lihat makalah untuk penjelasan terperinci dari algoritma: Implementasi VAE kembali tersedia di semua kerangka kerja Pembelajaran Mendalam.

DeltaIV
sumber
s2
@DeltaIV Model statistik umumnya cukup baik sebenarnya, kesalahan antara kamera yang berbeda sangat sangat independen, dan piksel yang berbeda pada kamera yang sama pada dasarnya akan independen juga kecuali mereka secara harfiah berdekatan. Kita dapat menyandikan beberapa korelasi spasial dalam piksel yang berdekatan dengan menggunakan kemungkinan proses Gaussian, tetapi itu akan mengharuskan kita untuk secara langsung membalikkan matriks kovarians, atau menyelesaikan sistem linear yang jarang setiap kali kita ingin mengevaluasi kemungkinan, yang lebih banyak lagi mahal (meskipun tidak keluar dari pertanyaan).
CBowman
2

Anda mungkin ingin memeriksa beberapa perangkat lunak "bayesX" dan mungkin juga perangkat lunak "inla". keduanya kemungkinan memiliki beberapa ide yang dapat Anda coba. Google itu

keduanya sangat bergantung pada mengeksploitasi sparsity dalam parameterisasi matriks presisi (yaitu independensi kondisional, model tipe markov) - dan memiliki algoritma inversi yang dirancang untuk ini. sebagian besar contoh didasarkan pada model guassian multi level atau auto regressive. harus cukup mirip dengan contoh yang Anda posting

probabilityislogic
sumber