Metropolis-Hastings entegrasyonu - stratejim neden çalışmıyor?


16

entegre etmek istediğim bir fonksiyonum olduğunu varsayın Tabii ki 'nin uç noktalarda sıfıra gittiğini varsayarsak , patlama olmaz, güzel işlev. I ile ilgilenmek oldum bir yolu örnekleri bir listesini oluşturmak için Metropolis- Hastings yapısı kullanmaktır dağılımından orantılı için normalleştirme sabit eksik, N = \ int _ {- \ infty} ^ {\ infty} g (x) dx p (x) diyeceğim ve sonra bu x 'lerde bazı istatistik f (x) hesaplayacağım : g(x)

g(x)dx.
g(x)x1,x2,,xng(x)
N=g(x)dx
p(x)f(x)x
1ni=0nf(xi)f(x)p(x)dx.

Yana p(x)=g(x)/N , içinde yerini alabilir f(x)=U(x)/g(x) iptal etmek g formunun bir ifade ile sonuçlanır entegrali gelen

1N--U(x)g(x)g(x)dx=1N--U(x)dx.
Bu nedenle, U (x) bu bölge boyunca 1 ile U(x)bütünleşirse , istediğim cevabı almak için karşılık alabileceğim 1 / N sonucunu almalıyım. Bu nedenle numunemin menzilini alabilirim (noktaları en etkili şekilde kullanmak için) r = x_ \ max - x_ \ min ve çizdiğim her numune için U (x) = 1 / r olsun . Bu şekilde U (x)11/N-r=xmaksimum-xminU(x)=1/rU(x)örneklerimin olmadığı bölgenin dışında sıfır olarak değerlendirilir, ancak o bölgede 1 ile bütünleşir . Şimdi beklenen değeri alırsam, şunu almalıyım:
E[U(x)g(x)]=1N-1nΣben=0nU(x)g(x).

Bunu örnek fonksiyonu için R'de test etmeyi denedim . Bu örnekte Metropolis-Hastings'i örnek üretmek için kullanmıyorum ama gerçek olasılıkları örnek üretmek için kullanıyorum (sadece test etmek için). Aradığım sonuçları tam olarak alamıyorum. Temel olarak hesaplayacağım şeyin tam ifadesi: Bu benim . Yaklaşıyor ama kesinlikle beklenen şekilde birleşmiyor, yanlış bir şey mi yapıyorum? 1g(x)=e-x2rnorm1 /

1n(xmaxxmin)i=0n1exi2.
1/π
ys = rnorm(1000000, 0, 1/sqrt(2))
r = max(ys) - min(ys)
sum(sapply(ys, function(x) 1/( r * exp(-x^2))))/length(ys)
## evaluates to 0.6019741. 1/sqrt(pi) = 0.5641896

CliffAB için düzenle

Aralığı kullanmamın nedeni, noktalarımın bulunduğu bölgede sıfır olmayan ancak aralığında ile bütünleşen bir işlevi kolayca tanımlamaktır . Fonksiyonun tam özellikleri: Bu eşit yoğunluk olarak kullanmak zorunda kalmadım. bütünleştirilmiş başka bir yoğunluk kullanabilirdim , örneğin olasılık yoğunluğu Ancak bu, bireysel örneklerin toplanmasını önemsiz hale getirecektir. [ - , ] U ( x ) = { 11[,]U(x)1P(x)=1

U(x)={1xmaxxminxmax>x>xmin0otherwise.
U(x)11
P(x)=1πex2.
1ni=0nP(x)g(x)=1ni=0nexi2/πexi2=1ni=0n1π=1π.

Bu tekniği entegre olan diğer dağıtımlar için deneyebilirim . Ancak yine de neden düzgün bir dağıtım için işe yaramadığını bilmek istiyorum.1


Sadece hızlı bir şekilde bunu gözden geçiriyorum, bu yüzden neden aralığı (x) kullanmaya karar verdiğinizden emin değilim. Şartlı olarak geçerli olması üzerine, son derece verimsiz! Bu boyuttaki bir örneğin aralığı, alabileceğiniz en dengesiz istatistiktir.
Cliff AB

@CliffAB Puanlarımın kullanıldığı aralıkta düzgün bir dağılım tanımlamanın yanı sıra, menzili kullanmamla ilgili özel bir şey yok. Düzenlemelere bakın.
Mike Flynn

1
Buna daha sonra daha ayrıntılı olarak bakacağım. Ancak dikkate alınması gereken bir şey, x'in tek tip gibi, , range . Ancak x, dejenere olmayan normal RV'ler kümesiyse, , . n(x)1nAralık(x)
Cliff AB

@CliffAB haklı olabilirsiniz, bence neden integralin sınırları sabit değildi ve bu yüzden tahmin edicinin varyansı asla birleşmeyecek ...
Mike Flynn

Yanıtlar:


13

Bu yoğunluk bir normalleştirme sabit aşağı yukarı sorunu ile ilgilidir çok ilginç bir soru, , aynı yoğunlukta bir MCMC çıkışına göre . (Bir yan açıklama, yapılacak doğru varsayımın entegre olduğu, sonsuzda sıfıra gitmenin yeterli olmadığıdır.)ggg

Bence, Öneriniz konusunda bu konuda en uygun girişi olan kağıt Gelfand ve Dey (1994, tarafından JRSS B yazarlar bulmak için bir çok benzer bir yaklaşım geliştirmek), ,

Xg(x)dx
üretirken . Bu makaledeki sonuçlardan biri, herhangi bir olasılık yoğunluğu için α ( x ) [bu, U ( x ) değerinize eşittir], böylece { x ; α ( x ) > 0 }p(x)αg(x)α(x)U(x) aşağıdaki kimlik X α ( x )
{x;α(x)>0}{x;g(x)>0}
bir örnek olduğu Şekilpbir üretebilirtarafsız değerlendirmebölgesinin1/Nnumune tahmin önemine göre η =1
Xα(x)g(x)p(x)dx=Xα(x)N-dx=1N-
p1/N- Açıkçası, tahmin edicinin performansları (yakınsama hızı, bir varyans varlığı, ve tc). η yapmak seçimine bağlıdır a [beklentisini yapar halde değil]. Bayesci bir çerçevede,Gelfand ve Deytarafından savunulan bir seçim, önceki yoğunluk olan a = π almaktır. Bu α ( x )
η^=1nΣben=1nα(xben)g(xben)xben~iidp(x)
η^αα=π burada(x)olabilirlik fonksiyonudur, çünküg(x)=π(x)(x). Ne yazık ki, elde edilen tahmin N =N
α(x)g(x)=1(x)
(x)g(x)=π(x)(x) olduğuharmonik ortalama tahmincisiolarak da adlandırılan,kötü Monte Carlo tahmincisi hiçToronto Üniversitesi'nden Radford Neal tarafından. Bu yüzden her zaman iyi çalışmaz. Hatta neredeyse hiç.
N-^=nΣben=1n1/(xben)

(min(xben),maksimum(xben))tecrübe{x2}

α(q0,25(xben),q.75(xben))g

Kodunuzu bu yeni yoğunluğa uyarlarken, yaklaşım çok daha yakın1/π

ys = rnorm(1e6, 0, 1/sqrt(2))
r = quantile(ys,.75) - quantile(ys,.25)
yc=ys[(ys>quantile(ys,.25))&(ys<quantile(ys,.75))]
sum(sapply(yc, function(x) 1/( r * exp(-x^2))))/length(ys)
## evaluates to 0.5649015. 1/sqrt(pi) = 0.5641896

Bu yöntemi Darren Wraith ve Jean-Michel Marin ile iki makalede ayrıntılı olarak tartışıyoruz .

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.