Байєсівським підходом до вашої проблеми було б врахувати задню ймовірність над моделями урахуванням набору точок даних ,M∈{Normal,Log-normal}X={x1,...,xN}
P(M∣X)∝P(X∣M)P(M).
Важкою частиною є отримання граничної ймовірності ,
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)
Приклад:
Для я вибираю нормально-зворотний гамма-розподіл з параметрами .P(μ,σ2∣M=Normal)m0=0,v0=20,a0=1,b0=100
Відповідно до Мерфі (2007) (рівняння 203), гранична ймовірність нормального розподілу задається значенням
P(X∣M=Normal)=|vN|12|v0|12ba00baNnΓ(aN)Γ(a0)1πN/22N
де і - параметри заднього (рівняння 196 до 200),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).
Я використовую ті ж гіперпараметри для нормально розподіленого журналу,
P(X∣M=Log-normal)=P({logx1,...,logxN}∣M=Normal)⋅∏i∣∣∣1xi∣∣∣.
Для попередньої ймовірності нормального журналу , , і даних, отриманих із наступного нормально-нормального розподілу,P ( M = норма-норма ) = 0,10.1P(M=Log-normal)=0.1
задній веде себе так:
Суцільна лінія показує середню задню ймовірність для різних креслень точок даних. Зауважте, що за малопомітними даними, вірування близькі до попередніх. Для приблизно 250 точок даних алгоритм майже завжди впевнений, що дані отримані з нормального розподілу журналу.N
Реалізуючи рівняння, було б хорошою ідеєю працювати з log-щільності замість щільності. Але в іншому випадку це повинно бути досить прямо вперед. Ось код, який я використовував для створення сюжетів:
https://gist.github.com/lucastheis/6094631