M.∈ { Normalny , log-normalny }X= { x1, . . . , xN.}
P.( M∣ X) ∝ P( X∣ M.) P( M) .
Trudną częścią jest uzyskanie marginalnego prawdopodobieństwa ,
P.( X∣ M.) = ∫P.( X∣ θ , M) P( θ ∣ M)reθ .
p ( θ ∣ M)XY= { logx1, . . . , logxN.YX,
P(X∣M=Log-Normal)=P(Y∣M=Normal)⋅∏i∣∣∣1xi∣∣∣.
P(θ∣M)P(σ2,μ∣M=Normal)P(M)
Przykład:
P(μ,σ2∣M=Normal)m0=0,v0=20,a0=1,b0=100
Według Murphy'ego (2007) (równanie 203) krańcowe prawdopodobieństwo rozkładu normalnego podaje następnie
P(X∣M=Normal)=|vN|12|v0|12ba00baNnΓ(aN)Γ(a0)1πN/22N
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).
Używam tych samych hiperparametrów do rozkładu log-normalnego,
P(X∣M=Log-normal)=P({logx1,...,logxN}∣M=Normal)⋅∏i∣∣∣1xi∣∣∣.
0.1P(M=Log-normal)=0.1 oraz danych pochodzących z następującego rozkładu log-normalnego,
tylny zachowuje się tak:
Linia ciągła pokazuje środkowe prawdopodobieństwo z tyłu dla różnych losowań N
Podczas implementacji równań dobrze byłoby pracować z gęstością logarytmiczną zamiast gęstości. Ale w przeciwnym razie powinno być całkiem prosto. Oto kod, którego użyłem do wygenerowania wykresów:
https://gist.github.com/lucastheis/6094631