İnsanların bayesian çıkarım için kullandıkları ders kitabı MCMC algoritmaları üzerindeki iyi bilinen bazı gelişmeler nelerdir?


21

Bazı problemler için bir Monte Carlo simülasyonu kodlarken ve model yeterince basit olduğunda, Gibbs örneklemesi için çok basit bir ders kitabı kullanıyorum. Gibbs örneklemesini kullanmak mümkün olmadığında, yıllar önce öğrendiğim Metropolis-Hastings ders kitabını kodlarım. Ona verdiğim tek düşünce atlama dağılımını veya parametrelerini seçmek.

Bu ders kitabı seçeneklerinde gelişen yüzlerce yüzlerce özel yöntem olduğunu biliyorum, ancak genellikle bunları kullanmayı / öğrenmeyi asla düşünmem. Genellikle, zaten çok iyi çalışanı geliştirmek için çok fazla çaba harcıyormuş gibi hisseder.

Ancak son zamanlarda, yaptığım işi geliştirebilecek yeni genel yöntemler olmadığını düşünüyorum. Bu yöntemler keşfedildiğinden beri on yıllardır. Belki de gerçekten modası geçmişimdir!

Metropolis-Hastings'in bilinen iyi alternatifleri var mı:

  • Uygulanması oldukça kolay,
  • MH kadar evrensel olarak uygulanabilir
  • ve MH'nin sonuçlarını bir anlamda her zaman iyileştirir (hesaplama performansı, doğruluk vb.)?

Çok özel modeller için bazı özel geliştirmelerden haberim var, fakat herkesin bilmediğim bazı genel özellikleri var mı?


1
Markov zinciri Monte Carlo'yu mu kastediyorsun? Ders kitabı Monte Carlo simülasyonlarında, antitetik ve / veya tabakalı örneklemenin yanı sıra yarı-Monte Carlo'yu içerebileceğini düşündüğüm iyileştirmeler yaptı. Bununla birlikte, yalnızca Gibbs ve Metropolis-Hastings'ten bahsetmeniz, Bayesian hesaplamanın bir göstergesi.
12'de

@StasK, Evet, esas olarak bayes modelleri ve istatistiksel fizik modelleri ile ilgileniyorum. Bunu söyleyemediğim için üzgünüm.
Rafael S. Calsaverini

3
(1) Tamam, güzel bir genel amaçlı uyarlamalı algoritma "son zamanlarda" yayınlanmış ve zaten R, Python ve Matlab uygulanan olduğu twalk . İyi çalışıyor ancak başka bir yöntem kullanarak tekrar kontrol etmek her zaman iyi bir uygulamadır. BTW, MH R mcmc paketinde uygulanır . Tabii ki, başkaları da var ama çoğu bu genel seviyede uygulanmıyor ve / veya uygulanması zor. Günümüzde bir başka popüler bölge Sıralı Monte Carlo'dur. Umarım bu yardımcı olur.

2
Bunu zaten biliyor olabilirsiniz, ancak dilim örneklemenin uygulanması oldukça kolaydır ve tipik bir "rastgele yürüme" Metropolis algoritmasının bazı tuzaklarından kaçınır. Geleneksel Metropolis algoritmalarıyla ilgili bir problem rastgele-yürüyüş tipi davranışıdır; kasten iyi durumlara doğru ilerlemek yerine, yavaşça iyi alanlara doğru hareket ederek yanılmak zorunda kalıyorlar. Bu, HMC gibi degradedeki bilgileri kullanan yöntemlerin arkasındaki motivasyondur, ancak dilim örneklemesi de bu kampa düşer ve daha otomatiktir.
Adam

1
ABC hakkında neredeyse hiçbir şey bilmiyorum ama ABC ve MCMC yöntemleri arasındaki farkları biraz açıklayabilirseniz sevinirim ...
Manoel Galdino

Yanıtlar:


20

Bunların hiçbirinde uzman değilim, ama yine de topluluğun ne düşündüğünü görmek için onları oraya koyacağımı düşündüm. Düzeltmeler kabul edilir.

Uygulanması son derece kolay olmayan ve giderek daha popüler olan yöntemlerden birine Hamiltonian Monte Carlo (ya da bazen Hybrid Monte Carlo) denir . Radford Neal'in bu makalesinde anlatıldığı gibi, parametre alanı etrafında dönen bir bilyeyi simüle etmek için potansiyel ve kinetik enerjili bir fiziksel model kullanır . Fiziksel model oldukça fazla miktarda hesaplama kaynağı gerektirir, bu nedenle daha az sayıda güncelleme elde etme eğilimindesiniz, ancak güncellemeler daha az ilişkilendirilme eğilimindedir. HMC, istatistiksel modelleme için BUGS veya JAGS'a daha verimli ve esnek bir alternatif olarak geliştirilen yeni STAN yazılımının arkasındaki motordur.

Ayrıca, modele termal gürültü eklemek ve düşük olasılıklı örnekleme şansını artırmak olarak düşünebileceğiniz Markov zincirini "ısıtmayı" içeren bir dizi yöntem vardır. İlk bakışta, bu kötü bir fikir gibi görünüyor, çünkü modelin arka olasılıkla orantılı olarak örneklemesini istiyorsunuz. Ama aslında sadece zincirin daha iyi karışmasına yardımcı olmak için "sıcak" durumları kullanmanız yeterli. Gerçek örnekler sadece zincir "normal" sıcaklıktayken toplanır. Doğru yaparsanız, sıradan bir zincirin elde edemeyeceği modları bulmak için moddan moda geçişi engelleyen düşük olasılıklı büyük vadiler nedeniyle ısıtılmış zincirleri kullanabilirsiniz. Bu yöntemlerin birkaç örneği, Metropolis ile birleşmiş MCMC’yi ,, paralel tavlama ve tavlanmış önemi örnekleme .

Son olarak, reddetme oranı bu diğer yöntemlerin başarısız olacağı kadar yüksek olduğunda ardışık Monte Carlo veya parçacık filtreleme kullanabilirsiniz . Bu yöntem ailesi hakkında en az bilgim var, bu yüzden açıklamam burada yanlış olabilir , ancak benim anladığım da bu şekilde çalışması. Reddetme şansı esasen bir olsa bile, favori örnekleyicinizi çalıştırarak işe başlarsınız. Tüm numunelerinizi reddetmek yerine, en az sakıncalı olanları seçersiniz ve oradan yeni örnekleyicileri başlatırsınız, işlemi gerçekten kabul edebileceğiniz bazı örnekleri bulana kadar tekrarlayın. Daha sonra geri dönüp numunelerinizin eski olmadığından emin olun, çünkü örnekleyicileri rastgele konumlardan başlatmadınız.

Bu yardımcı olur umarım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.