M∈{Normal,Log-normal}X={x1,...,xN}
P(M∣X) ∝P(X∣M)P(M) .
La partie difficile est d'obtenir la probabilité marginale ,
P( X∣ M) = ∫P( X∣ θ , M) P( θ ∣ M)réθ .
p ( θ ∣ M)XY={logx1,...,logxNYX . N'oubliez pas de prendre en compte le jacobien de la transformation
P( X∣ M= Log-Normal ) = P( O∣ M= Normal ) ⋅ ∏je∣∣∣1Xje∣∣∣.
P( θ ∣ M)P( σ2, μ ∣ M= Normal )P( M)
Exemple:
P( μ , σ2∣ M= Normal )m0= 0 , v0= 20 , a0= 1 , b0= 100
Selon Murphy (2007) (équation 203), la probabilité marginale de la distribution normale est alors donnée par
P( X∣ M= Normal ) = | vN|12| v0|12bune00buneNnΓ ( aN)Γ ( a0)1πN/ 22N
où uneN, bN, et vN sont les paramètres de la partie postérieure P( μ , σ2∣ X, M= Normal ) (Équations 196 à 200),
vNmNuneNbN= 1 / ( v- 10+ N) ,= ( v- 10m0+ ∑jeXje) / vN,= a0+ N2,= b0+ 12( v- 10m20- v- 1Nm2N+ ∑jeX2je) .
J'utilise les mêmes hyperparamètres pour la distribution log-normale,
P( X∣ M= Log-normal ) = P( { logX1, . . . , connectez-vousXN} ∣ M= Normal ) ⋅ ∏je∣∣∣1Xje∣∣∣.
Pour une probabilité antérieure de la log-normale de 0,1, P( M= Log-normal ) = 0,1et des données tirées de la distribution log-normale suivante,
le postérieur se comporte comme ceci:
La ligne continue montre la probabilité postérieure médiane de différents tirages de Npoints de données. Notez que pour peu ou pas de données, les croyances sont proches des croyances antérieures. Pour environ 250 points de données, l'algorithme est presque toujours certain que les données ont été tirées d'une distribution log-normale.
Lors de la mise en œuvre des équations, ce serait une bonne idée de travailler avec des densités logarithmiques au lieu de densités. Mais sinon, cela devrait être assez simple. Voici le code que j'ai utilisé pour générer les tracés:
https://gist.github.com/lucastheis/6094631