Menggunakan MCMC untuk mengevaluasi nilai yang diharapkan dari fungsi dimensi tinggi

10

Saya sedang mengerjakan proyek penelitian yang terkait dengan optimasi dan baru-baru ini punya ide untuk menggunakan MCMC dalam pengaturan ini. Sayangnya, saya cukup baru untuk metode MCMC jadi saya punya beberapa pertanyaan. Saya akan mulai dengan menjelaskan masalahnya dan kemudian mengajukan pertanyaan saya.

Masalah kita bermuara memperkirakan nilai yang diharapkan dari fungsi biaya di mana adalah -dimentional variabel acak dengan kepadatan .c(ω)ω=(ω1,ω2,...ωh)hf(ω)

Dalam kasus kami, versi bentuk tertutup dari tidak ada. Ini berarti bahwa kita harus menggunakan metode Monte Carlo untuk memperkirakan nilai yang diharapkan. Sayangnya, ternyata estimasi yang dihasilkan menggunakan metode MC atau QMC memiliki terlalu banyak varian untuk digunakan dalam pengaturan praktis.c(ω)E[c(ω)]

Satu gagasan bahwa kami harus menggunakan distribusi sampling yang penting untuk menghasilkan titik sampel yang akan menghasilkan estimasi varians rendah . Dalam kasus kami, distribusi pengambilan sampel kepentingan yang ideal, , harus sebanding dengan c (\ omega) f (\ omega) . Melihat bagaimana g (\ omega) diketahui hingga konstan, saya bertanya-tanya apakah saya dapat menggunakan MCMC bersama dengan distribusi proposal c (\ omega) f (\ omega) untuk akhirnya menghasilkan sampel dari g (\ omega) .g ( ω ) c ( ω ) f ( ω ) g ( ω ) c ( ωE[c(ω)]g(ω)c(ω)f(ω)g(ω)g ( ω )c(ω)f(ω)g(ω)

Pertanyaan saya di sini adalah:

  • Bisakah MCMC digunakan dalam pengaturan ini? Jika demikian, metode MCMC apa yang sesuai? Saya bekerja di MATLAB, jadi saya memiliki preferensi untuk apa pun yang sudah memiliki implementasi MATLAB.

  • Apakah ada teknik yang bisa saya gunakan untuk mempercepat periode burn-in untuk MCMC. Dan bagaimana saya bisa tahu bahwa distribusi stasioner telah tercapai? Dalam kasus ini, sebenarnya dibutuhkan sedikit waktu untuk menghitung untuk diberikan .ωc(ω)ω

Berk U.
sumber
salah ketik pada paragraf terakhir? bukan ? c ( w )C(w)c(w)
mpiktas
Anda tidak harus menggunakan metode Monte Carlo untuk integral dimensi tinggi hanya karena bentuk tertutup tidak ada. Anda bisa menggunakan metode berdasarkan grid jarang . Saya tidak tahu pro dan kontra sendiri.
onestop
@onestop - Anda adalah grid yang jarang bekerja sedikit lebih baik dalam kasus saya, meskipun saya juga ingin menguji ide ini.
Berk U.
Kedengarannya seperti keuangan.
Wok
1
Itu bisa diterapkan pada keuangan. Kami menggunakannya untuk manajemen sistem daya yang optimal :)
Berk U.

Jawaban:

4

Saya akan selalu ingat, bahwa MCMC hanyalah alat integrasi numerik (dan yang agak tidak efisien pada saat itu). Ini bukan sihir / mistis. Ini sangat berguna karena cukup mudah diterapkan. Tidak memerlukan banyak pemikiran dibandingkan dengan beberapa teknik integrasi numerik lainnya. Misalnya, Anda tidak harus melakukan turunan apa pun. Anda hanya perlu membuat "angka acak".

Namun, seperti metode integrasi numerik apa pun, ini bukan alat universal catch all. Ada kondisi saat itu berguna, dan kondisi saat tidak.

Mungkin lebih bijaksana untuk mengatur teknik lain. Bergantung pada seberapa besar , dan seberapa cepat komputer Anda, dan berapa lama Anda siap untuk menunggu hasil. Grid yang seragam dapat melakukan pekerjaan itu (meskipun ini membutuhkan kecil atau lama menunggu). "Pekerjaan" adalah mengevaluasi integral - persamaan tidak peduli apa artinya Anda atau saya lampirkan pada hasilnya (dan karenanya tidak peduli apakah kami memperoleh hasilnya secara acak atau tidak).hhh

Selain itu, jika perkiraan cukup akurat, akan memuncak tajam dan sangat mirip dengan fungsi delta, sehingga integralnya secara efektif menggantikan .f ( ω ) ω ω m a xωf(ω)ωωmax

Teknik integrasi numerik lainnya menggunakan seri taylor di bawah integral. f(ω)f(ωmax)+(ωωmax)f(ωmax)+12(ωωmax)2f(ωmax)+

Ini adalah strategi yang berguna ketika momen mudah diperoleh.ω

Edwin Jaynes memiliki kutipan yang bagus tentang ini:

setiap kali ada cara acak untuk melakukan sesuatu, ada cara non-acak yang menghasilkan hasil yang lebih baik, tetapi membutuhkan lebih banyak pemikiran

Satu cara "lebih banyak berpikir" adalah menggunakan "MCMC bertingkat" untuk melakukan integral. Jadi alih-alih "secara acak" pilih tempat di seluruh ruang parameter: bagilah menjadi "strata". "Strata" ini harus dipilih sehingga Anda mendapatkan kisaran yang baik dari bagian integral yang tinggi. Kemudian sampel secara acak dalam setiap strata. Tetapi ini akan mengharuskan Anda untuk menulis kode Anda sendiri yang saya bayangkan (yaitu lebih banyak berpikir).

probabilityislogic
sumber
Terimakasih banyak atas postingan anda. Saya sangat menyukai ide MC bertingkat Anda. Saya bertanya-tanya apakah Anda tahu tentang sumber daya di dalamnya sehingga saya bisa membacanya? Apa pun dengan contoh dalam tindakan akan sangat dihargai.
Berk U.
Ini adalah ide yang saya miliki, jadi saya tidak tahu sumber daya apa pun. Itu bisa dimasukkan ke dalam kerangka MCMC, dengan menambahkan lapisan lain yang mendefinisikan strata. Dan salah satu kelemahan utama saya adalah melakukan hal-hal - Saya seorang pemikir! Saya tahu ini tidak banyak membantu Anda dan saya minta maaf untuk itu. Tetapi tentunya saya bukan satu-satunya orang yang memikirkan hal ini. Siapa pun yang telah melakukan statistik "berbasis desain" dan "statistik Bayesian" pasti akan memikirkan hal ini.
probabilityislogic
2

Tidak ada indikasi bahwa variabel Anda di sini berkorelasi jadi saya tidak tahu mengapa Anda akan menggunakan MCMC sebagai lawan dari Monte Carlo biasa. Ada banyak metode pengambilan sampel yang berbeda termasuk pengambilan sampel bertingkat (Latin hypercube) dan QMC. Metode kuadratur jarang sangat baik jika dimensi masalahnya tidak terlalu tinggi (tidak lebih dari 10) karena kisi kuadratur jarang tumbuh secara geometris (kutukan dimensi).

Tapi sepertinya Anda berada di jalur yang benar sehubungan dengan pentingnya pengambilan sampel. Kuncinya di sini adalah untuk memilih distribusi yang bias yang memiliki probabilitas besar terkonsentrasi di dekat daerah yang Anda minati dan memiliki ekor yang lebih tebal daripada distribusi nominal.

Saya ingin menambahkan bahwa ini adalah masalah penelitian terbuka jadi jika Anda dapat menemukan sesuatu yang baik itu akan sangat menarik bagi masyarakat!

Gary
sumber
Terima kasih untuk ini! Bisakah Anda menguraikan sedikit lebih banyak tentang hubungan antara efektivitas MCMC dan korelasi antara variabel? Saya selalu berpikir bahwa MCMC akan memberikan keuntungan lebih dari teknik integrasi numerik yang ada ketika variabel berkorelasi - meskipun saya tidak bisa memberikan alasan yang bagus mengapa itu.
Berk U.
0

Karena tidak ada yang benar-benar menjawab pertanyaan secara langsung: ya, Anda dapat menggunakan MCMC untuk mengambil sampel dari . MCMC dapat digunakan untuk mengambil sampel dari distribusi mana pun di mana distribusi hanya diketahui hingga konstan proporsionalitas.g(ω)

Selain itu, Anda mungkin ingin mencari teknik reduksi varians di bidang integrasi MC. Seperangkat sumber daya mandiri yang lengkap adalah bab buku gratis yang tersedia dari Art Owen di Stanford. Khususnya bab 8, 9, dan 10.

Di sana Anda akan menemukan perawatan mendalam untuk pengambilan sampel adaptif, rekursi, dan teknik lainnya.

JKnight
sumber