Sorunuza Bayesci yaklaşım bir dizi veri noktası verildiğinde modelleri üzerindeki poster olasılığını dikkate almak olacaktır ,M∈{Normal,Log-normal}X={x1,...,xN}
P(M∣X)∝P(X∣M)P(M).
Zor olan kısım marjinal olabilirlik ,
P(X∣M)=∫P(X∣θ,M)P(θ∣M)dθ.
Bazı seçimleri için Gauss'un marjinal olasılığı kapalı biçimde elde edilebilir . Diyerek bu yana dağıtılmış-normalde günlük söyleyerek aynıdır olan normalde dağıtılır}, sizin için aynı marjinal olasılığını kullanmak mümkün olmalıdır log-normal bir modeli , yerine uygulayarak . Sadece dönüşümden Jacobian'ı dikkate almayı unutmayın ,p(θ∣M)XY={logx1,...,logxNYX
P(X∣M=Log-Normal)=P(Y∣M=Normal)⋅∏i∣∣∣1xi∣∣∣.
Bu yaklaşım için, parametreleri üzerinde bir dağılım seçmeniz gerekir - burada, muhtemelen - ve önceki olasılıklar .P(θ∣M)P(σ2,μ∣M=Normal)P(M)
Misal:
İçin bir seçim , normal, ters-gama dağılımını parametreleri ile .P(μ,σ2∣M=Normal)m0=0,v0=20,a0=1,b0=100
Göre Murphy (2007) (203 denklemi), normal dağılımın marjinal olasılığı aşağıdaki formülle verilir:
P(X∣M=Normal)=|vN|12|v0|12ba00baNnΓ(aN)Γ(a0)1πN/22N
burada ve , arka (Denklemler 196 ila 200) parametreleridir ,aN,bN,vNP(μ,σ2∣X,M=Normal)
vNmNaNbN=1/(v−10+N),=(v−10m0+∑ixi)/vN,=a0+N2,=b0+12(v−10m20−v−1Nm2N+∑ix2i).
Log-normal dağılım için aynı hiperparametreleri kullanıyorum,
P(X∣M=Log-normal)=P({logx1,...,logxN}∣M=Normal)⋅∏i∣∣∣1xi∣∣∣.
Önceki log-normal olasılığı için , ve aşağıdaki log-normal dağılımından alınan veriler,P ( M = Günlük normal ) = 0.10.1P(M=Log-normal)=0.1
posterior şöyle davranır:
Kesintisiz çizgi, veri noktalarının farklı çekimleri için ortanca posterior olasılığı gösterir . Çok az veya hiç veri için inançların önceki inançlara yakın olduğunu unutmayın. Yaklaşık 250 veri noktası için, algoritma neredeyse her zaman verinin log-normal dağılımından alındığından emindir.N
Denklemleri uygularken, yoğunluk yerine kütle yoğunluklarıyla çalışmak iyi bir fikir olacaktır. Ama aksi halde oldukça basit olmalı. İşte araziler oluşturmak için kullanılan kod:
https://gist.github.com/lucastheis/6094631