Optimalisasi model komputer stokastik

11

Ini adalah topik yang sulit bagi saya untuk Google karena memiliki kata optimasi dan stokastik dalam pencarian hampir secara otomatis default untuk mencari optimasi stokastik. Tetapi apa yang saya benar-benar ingin tahu adalah metode apa yang ada untuk optimasi model komputer ketika output model komputer stochastic, yaitu, tidak deterministik?

Misalnya, jika Anda mempertimbangkan model komputer di mana ada beberapa fungsi tidak diketahui yang mewakili output dari model komputer, maka ada banyak metode statistik untuk menyelesaikan masalah sepertif(x)

minf(x)xX

ketika f(x) bersifat deterministik. Tetapi apa yang terjadi ketika f(x) adalah stokastik? Apakah ada solusi untuk masalah tersebut, atau paling-paling hanya bisa kita pecahkan

minE[f(x)]xX

di mana E() adalah operator ekspektasi yang biasa.

Ahli Statistik Rusty
sumber
1
Ini pertanyaan yang sangat menarik. Optimalisasi adalah satu-satunya hal yang benar-benar mungkin. Aplikasi statistik yang terkait dengan pertanyaan ini adalah algoritma MCEM, di mana fungsi kemungkinan penuh hanya dapat diamati dengan kesalahan MCMC di atasnya. Demikian pula, algoritma filter partikel MCMC memiliki masalah yang sama. Saya belum cukup membaca di kedua literatur untuk mengetahui apa metode canggih untuk menjawab ini. E[f(x)]
Cliff AB
2
Itu tergantung pada tujuan Anda. hanya satu dari banyak pilihan yang mungkin. Dalam beberapa aplikasi Anda mungkin ingin memiliki solusi "andal", bukan hanya satu yang "rata-rata bagus". Dalam skenario ini Anda akan mengoptimalkan wrt ke beberapa kuantil dari distribusi . Optimalisasi Bayesian berkaitan dengan evaluasi fungsi yang mahal (dan terkadang berisik). Lihat contoh pertanyaan ini . f ( x )E[f(x)]f(x)
lacerbi
1
@ lacerbi, apakah ada contoh yang berisik? Saya pikir mereka hanya deterministik.
RustyStatistician
@RustyStatistician: Anda benar, sebagian besar contoh bersifat deterministik atau berbicara tentang pengoptimalan Bayesian secara umum. Lihat di bawah untuk referensi yang lebih fokus pada bagian "berisik".
lacerbi
Apakah Anda mengakses program komputer sehingga Anda dapat menjalankannya sendiri untuk input yang dipilih ? Maka metode untuk desain eksperimen menjadi tersedia untuk digunakan! Cari situs ini. x
kjetil b halvorsen

Jawaban:

10

( Memperluas komentar saya ke jawaban yang tepat. )

Seperti yang saya sebutkan, itu tergantung pada tujuan Anda.

Nilai yang diharapkan hanya satu dari banyak pilihan yang mungkin untuk target optimisasi. Misalnya, dengan asumsi bahwa terdistribusi normal, Anda dapat melakukan:f ( x )E[f(x)]f(x)

κRκ>0κκ

xopt=argminx{E[f(x)]+κVar[f(x)]}
untuk beberapa yang memanipulasi sensitivitas risiko. Jika Anda mencari solusi yang kuat yang mungkin yang terbaik dan mencegah fluktuasi positif yang besar. Begitu juga sebaliknya, negatif akan mendukung optimisasi "optimistis" yang mencari fluktuasi negatif yang besar (negatif baik karena kami meminimalkan). Anda dapat memilih berdasarkan pada kuantil dari distribusi normal (lihat referensi 2 di bawah).κRκ>0κκ

Secara umum, optimasi Bayesian (BO, yang terkait dengan proses Gaussian dan kriging ) berkaitan dengan evaluasi fungsi yang mahal dan terkadang bising; meskipun sebagian besar fokus literatur telah pada bagian sebelumnya. Anda dapat menemukan ulasan untuk optimasi Bayesian di pertanyaan ini .

Beberapa orang telah menerapkan BO ke fungsi bising. Sebagai pengantar topik, David Ginsbourger memberikan pidato yang bagus berjudul "Variasi pada Peningkatan yang Diharapkan" di Workshop Proses Gaussian untuk Optimasi Global (Sheffield, 17 September 2015). Anda dapat menemukan ceramahnya di sini , dan semua pembicaraan tersedia di halaman ini (saya juga merekomendasikan semua pembicaraan lainnya sebagai pengantar umum yang sangat baik untuk BO.)

Sebagai referensi, saya akan mulai dengan pekerjaan yang dilakukan oleh Ginsbourger dan kolega, dan Gramacy dan kolega:

  1. Picheny, V. dan Ginsbourger, D., 2014. "Metode optimisasi berbasis bising kriging: implementasi terpadu dalam paket DiceOptim". Statistik Komputasi & Analisis Data , 71, hal.1035-1053. ( tautan )

  2. Picheny, V., Ginsbourger, D., Richet, Y. dan Caplin, G., 2013. "Optimasi berbasis kuantil dari eksperimen komputer berisik dengan presisi yang dapat ditala". Technometrics , 55 (1), hal.2-13. ( tautan )

  3. Gramacy, RB dan Lee, HK, 2012. "Bayesian mengamati model proses Gaussian dengan aplikasi untuk pemodelan komputer". Jurnal Asosiasi Statistik Amerika . ( tautan )

  4. Gramacy, RB and Apley, DW, 2015. "Perkiraan proses Gaussian lokal untuk eksperimen komputer besar". Jurnal Statistik Komputasi dan Grafik , 24 (2), hlm.561-578. ( tautan )

Kedua Ginsburger dan Gramacy memiliki paket R yang menerapkan metode BO mereka, masing-masing DiceOptim dan TGP .

Lacerbi
sumber
1
Di mana dalam jawaban Anda, atau maksud Anda ? κkκ
RustyStatistician
1
Satu lagi algoritma, yang belum saya gunakan * tetapi menang di departemen nama yang lucu, adalah SNOBFIT . (* Penulis adalah penting dalam komunitas optimasi namun, dan perangkat lunak melakukan OK pada patokan deterministik , jadi rekomendasi tersebut tidak hanya didasarkan pada nama keren!)
GeoMatt22
4

Jawaban saat ini fokus pada definisi yang tepat (matematis) dari target optimasi stokastik - Saya ingin memberikan perspektif yang sedikit lebih terapan.

Masalah ini sering terjadi ketika memasang model stokastik, misalnya menggunakan kemungkinan informal atau sintetis. Referensi (1) memberi Anda daftar opsi yang dapat digunakan untuk menentukan jarak antara model stokastik dan data.

Setelah menetapkan target Anda dengan cara ini, masalah yang tersisa adalah menemukan optimal dari beberapa rata-rata target yang berisik. Ada dua rute yang harus ditempuh, a) optimisasi, dan b) pengambilan sampel MCMC. Anda bertanya secara spesifik tentang pengoptimalan, tetapi saya ingin memasukkan MCMC karena mereka sering berperilaku lebih baik untuk tugas ini.

a) Jika Anda tetap dengan optimasi, Anda perlu memastikan bahwa Anda tidak terjebak dan bahwa optimizer dapat menangani target stokastik. Bab 4 dalam tesis PhD Matteo Fasiolo memberikan beberapa petunjuk, lihat (2).

b) Seperti yang kita catat dalam (1), MCMC umumnya lebih kuat terhadap target stokastik - dalam kondisi ringan mengenai distribusi kebisingan, MCMC akan meratakan kebisingan secara rata-rata, dan target sampel akan dapat dibedakan dari yang tidak berisik. target dengan rata-rata target berisik. Namun, MCMC juga bisa macet ketika menghadapi evaluasi yang sangat baik. Apa yang TIDAK HARUS Anda LAKUKAN sekarang adalah mendapatkan gagasan "jelas" berikut: cukup hitung nilai saat ini dan yang diusulkan dalam setiap iterasi MCMC. Kata kunci untuk mencari di sini adalah "pseudo-marginal", lihat juga di sini dan di sini .

1) Hartig, F .; Calabrese, JM; Reineking, B .; Wiegand, T. & Huth, A. (2011) Kesimpulan statistik untuk model simulasi stokastik - teori dan aplikasi . Ecol. Lett., 14, 816-827.

2) Fasiolo, M. (2016) Metode Statistik untuk Dinamika Populasi Kompleks . Universitas Bath

Florian Hartig
sumber
4

Katakanlah kita berada dalam ruang probabilitas diskrit sehingga . Secara intuitif, Anda memerlukan beberapa fungsi sehingga Anda dapat mengoptimalkan . Anda hanya dapat mengoptimalkan satu tujuan! U : R nR U ( f ( x ) )f(x)RnU:RnRU(f(x))

Mengoptimalkan fungsi obyektif tunggal mungkin terdengar cukup menghambat, tetapi ternyata tidak ! Alih-alih satu tujuan dapat mewakili preferensi yang sangat beragam yang mungkin Anda miliki atas apa yang merupakan solusi yang lebih baik atau lebih buruk.

Melompati ke depan, tempat sederhana untuk memulai mungkin memilih variabel acak kemudian menyelesaikan:λ

minimize (over x)E[λf(x)]subject toxX
Ini adalah pembobotan linear ulang sederhana dari . Lagi pula, inilah argumen mengapa runtuh beberapa tujuan ke satu tujuan biasanya ok.E[f(x)]

Pengaturan dasar:

  • Anda memiliki variabel pilihan dan himpunan layak .xX
  • Pilihan menghasilkan hasil acakxy~=f(x)
  • Anda memiliki preferensi rasional sebelum hasil acak. (Pada dasarnya, Anda dapat mengatakan apakah Anda lebih suka satu hasil acak dari yang lain.)y~

Masalah Anda adalah memilih sedemikian rupa sehingga:xX

xXf(x)f(x)
Dalam bahasa Inggris, Anda ingin memilih sehingga tidak ada pilihan yang layak mengarah ke hasil yang disukai dari .xxf(x)

Kesetaraan dengan memaksimalkan utilitas (dalam kondisi teknis tertentu)

Untuk kesederhanaan teknis, saya akan mengatakan kita berada dalam ruang probabilitas diskrit dengan hasil sehingga saya dapat mewakili hasil acak dengan vektor .ny~yRn

Dalam kondisi teknis tertentu (yang tidak membatasi dalam arti praktis), masalah di atas setara dengan memaksimalkan fungsi utilitas . (Fungsi utilitas memberikan hasil yang lebih disukai jumlah yang lebih tinggi.)U(y)

Logika ini akan berlaku untuk masalah di mana pilihan Anda mengarah ke beberapa variabel hasil.

maximize (over x)U(f(x))subject toxX

Memberikan lebih banyak struktur ke fungsi utilitas : Hipotesis Utilitas yang Diharapkan :U

Jika kita berada dalam pengaturan probabilistik dan kita menerima aksioma Neumann-Morgernstern , fungsi utilitas keseluruhan harus mengambil bentuk khusus:U

U(y)=E[u(yi)]=ipiu(yi)
Di mana adalah probabilitas status dan adalah fungsi utilitas cekung. Kelengkungan mengukur keengganan terhadap risiko. Cukup dengan mengganti bentuk khusus Anda dapatkan ini:piiuuU

maximize (over x)ipiu(yi)subject toxXy=f(x)

Perhatikan bahwa kasus sederhana memaksimalkan nilai yang diharapkan (yaitu, tidak ada penghindaran risiko).u(yi)=yi

Pendekatan lain: bobotλ

Hal lain yang harus dilakukan adalah:

maximize (over x)iλiyisubject toxXy=f(x)

Secara intuitif, Anda dapat memilih bobot yang lebih besar atau lebih kecil dari probabilitas keadaan yang terjadi, dan ini menangkap pentingnya suatu keadaan.p iλipi

Pembenaran yang lebih dalam dari pendekatan ini adalah bahwa dalam kondisi teknis tertentu, terdapat bobot lambda sehingga masalah di atas dan masalah sebelumnya (mis. Memaksimalkan ) memiliki solusi yang sama.U ( f ( x ) )λU(f(x))

Matthew Gunn
sumber
Tetapi dalam pengaturan ini tidak semua fungsi utilitas mengarah ke jawaban yang sama benar?
RustyStatistician
Dan adakah pilihan khas untuk fungsi utilitas? Masalah saya adalah simulator komputer stokastik, yang sebenarnya merupakan simulator kotak hitam, jadi saya tidak tahu informasi tentang mekanisme yang mendasarinya sehingga dapatkah saya bahkan menetapkannya sebagai fungsi utilitas?
RustyStatistician
Anda perlu memikirkan logika masalah Anda, apa yang merupakan hasil yang baik, dan kemudian menemukan beberapa fungsi obyektif yang memberikan hasil yang lebih baik pada angka yang lebih tinggi. (Atau setara, Anda dapat mengatur ini sebagai masalah minimisasi dan menetapkan hasil yang lebih buruk nomor yang lebih tinggi. Mis. Meminimalkan beberapa gagasan tentang kesalahan kuadrat dll.)
Matthew Gunn