MCMC örneklemesinden posterior çıkarım için Etkili Numune Boyutu


13

Belirli bir parametrede çıkarsama yapmak için MCMC numuneleri alırken , hedeflenmesi gereken minimum etkili örnek sayısı için iyi kılavuzlar nelerdir?

Ve bu tavsiye, model az çok karmaşık hale geldikçe değişir mi?


Benim tahminim, muhtemelen modeller arasında değişecek hatası "sabit" bağlıdır . O(n12)
probabilityislogic

Yanıtlar:


15

Sorduğunuz soru "yakınsama teşhisi" nden farklıdır. Diyelim ki tüm yakınsama teşhislerini çalıştırdınız (favorilerinizi seçin) ve şimdi arkadan örneklemeye başlamaya hazırsınız.

Etkili örnek boyutu (ESS) açısından iki seçenek vardır, tek değişkenli bir ESS veya çok değişkenli bir ESS seçebilirsiniz. Tek değişkenli bir ESS, her parametre için ayrı ayrı etkili bir örnek boyutu sağlayacaktır ve konservatif yöntemler, en küçük tahmini seçeceğinizi belirtir. Bu yöntem , bileşenler arasındaki tüm çapraz korelasyonları yoksayar . Muhtemelen çoğu insan bir süredir kullanıyor.

Son zamanlarda, ESS'nin çok değişkenli bir tanımı getirildi. Çok değişkenli ESS, tahmin etmek istediğiniz miktarlar için etkili örnek boyutu için bir sayı döndürür; ve bunu süreçteki tüm çapraz korelasyonları hesaba katarak yapar. Şahsen, çok değişkenli ESS'yi tercih ederim. Posterior dağılımın vektörü ile ilgilendiğinizi varsayalım . MESS şu şekilde tanımlanır BurayamESS = n ( | Λ |p

mESS=n(|Λ||Σ|)1/p.
  1. Λ , posteriorun kovaryans yapısıdır (bağımsız örnekleriniz varsa CLT'deki asimtotik kovaryans)
  2. ΛΣ , Markov zinciri CLT'deki asimptotik kovaryans matrisidir ( numuneler ilişkili olduğundan farklıdır .Λ
  3. p , tahmin edilen miktarların sayısıdır (veya bu durumda posteriorun boyutu).
  4. ||belirleyicidir.

mESS tahmin etmek için örnek kovaryans matrisi kullanılarak tahmin edilebilir ve toplu araçlar kovaryans matrisi tahmin etmek . Bu, mcmcse paketindeki fonksiyonda kodlanmıştır .ΣΛΣmultiESS

Bu son makale, gerekli olan etkili örnek sayısının teorik olarak geçerli bir alt sınırını sunmaktadır. Simülasyondan önce karar vermeniz gerekir

  1. ϵϵ : hassasiyet. , Monte Carlo'nun posterior hataya kıyasla olmasını istediğiniz hatanın bölümüdür. Bu, klasik ortamda örneklem büyüklüğü hesaplamaları yaparken hata payı marjına benzer.ϵ
  2. α : güven aralıkları oluşturma düzeyi.
  3. p : tahmin ettiğiniz miktarların sayısı.

Bu üç miktarla, kaç tane etkili örneğe ihtiyacınız olduğunu bileceksiniz. Kağıt, simülasyonu ilk kez

mESS22/pπ(pΓ(p/2))2/pχ1α,p2ϵ2,

burada gama işlevidir. Bu alt sınır , R paket mcmcse kullanılarak hesaplanabilir .Γ()minESS

Şimdi diyelim ki posteriorda parametreniz var ve tahmininize güven istiyorsunuz ve Monte Carlo hatasının posterior hatanın % 5 ( ) olmasını istiyorsanız, ihtiyacınız olacak% 20 95 ϵ = .05p=2095%ϵ=.05

> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716

Bu, herhangi bir sorun için geçerlidir (düzenlilik koşulları altında). Bu yöntemin problemden probleme uyum sağlama yolu, Markov zincirlerinin yavaşça karıştırılmasının bu alt sınıra ulaşması daha uzun sürmesidir, çünkü mESS daha küçük olacaktır. Şimdi multiESSMarkov zincirinizin bu sınıra ulaşıp ulaşmadığını kullanarak birkaç kez kontrol edebilirsiniz ; değilse daha fazla örnek alın.


(+1) Mükemmel cevap. Fonksiyonun multiESSMATLAB gibi diğer diller için kodlanıp kodlanmadığını biliyor musunuz ? (veya yeniden uygulamak zor olur mu?)
lacerbi

1
Basit olmalı, sadece matrislerle oynamalı. Önemli olan tahmin C ++ kodlanmış olduğunu düşünüyorum. Bu yüzden transfer edilebilir (Matlab'ı fazla bilmiyorum). Σ
Greenparker

1
Teşekkürler @Greenparker. Aslında, Matlab'da uygulamak gerçekten kolaydı (bazı kontroller yapar yapmaz muhtemelen GitHub'ımda yayınlayacağım). tahmini hakkında bir sorum var , ama ayrı bir gönderide soracağım. Σ
lacerbi

1
@ lacerbi Matlab'da kodlayabildiğinize sevindim. Mümkünse, bittiğinde bu yorumu yanıtlayın, böylece kullanabilirim. Teşekkürler
Greenparker

1
Benim MATLAB multiESS uygulamasını burada bulabilirsiniz . Her ne kadar biraz daha teste ihtiyaç duysa da çalışan bir versiyonudur (R'ye aşina değilim, aksi takdirde R uygulamasına karşılaştırırdım).
lacerbi

2

Yakınsama birkaç şeye bağlıdır: parametre sayısı, modelin kendisi, örnekleme algoritması, veriler ...

Herhangi bir genel kuraldan kaçınmayı ve her bir belirli örnekteki uygun yanma ve incelme sayısını tespit etmek için birkaç yakınsama tanılama aracı kullanmanızı öneririm. Ayrıca bakınız http://www.johnmyleswhite.com/notebook/2010/08/29/mcmc-diagnostics-in-r-with-the-coda-package/, http://users.stat.umn.edu/~geyer/mcmc/diag.html.

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.