M∈{Normal,Log-normal}X={x1,...,xN}
P(M∣X)∝P(X∣M)P(M).
La parte difficile è ottenere la probabilità marginale ,
P(X∣M)=∫P(X∣θ,M)P(θ∣M)dθ.
p(θ∣M)XY={logx1,...,logxNYX,
P(X∣M=Log-Normal)=P(Y∣M=Normal)⋅∏i∣∣∣1xi∣∣∣.
P(θ∣M)P(σ2,μ∣M=Normal)P(M)
Esempio:
P(μ,σ2∣M=Normal)m0=0,v0=20,a0=1,b0=100
Secondo Murphy (2007) (equazione 203), la probabilità marginale della distribuzione normale è quindi data da
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).
Uso gli stessi iperparametri per la distribuzione log-normal,
P(X∣M=Log-normal)=P({logx1,...,logxN}∣M=Normal)⋅∏i∣∣∣1xi∣∣∣.
0.1P(M=Log-normal)=0.1
il posteriore si comporta così:
N
Quando si implementano le equazioni, sarebbe una buona idea lavorare con densità di registro anziché densità. Ma per il resto dovrebbe essere piuttosto semplice. Ecco il codice che ho usato per generare i grafici:
https://gist.github.com/lucastheis/6094631