У меня есть модель с pm.NormalMixture()
, и когда я выбираю нормальную смесь, я также хочу знать, из какого из смешанных распределений выбирается эта точка.
import numpy as np
import pymc3 as pm
obs = np.concatenate([np.random.normal(5,1,100),
np.random.normal(10,2,200)])
with pm.Model() as model:
mu = pm.Normal('mu', 10, 10, shape=2)
sd = pm.Normal('sd', 10, 10, shape=2)
x = pm.NormalMixture('x', mu=mu, sd=sd, observed=obs)
Я делаю выборку из этой модели, затем использую эту трассировку для выборки из апостериорного прогностического распределения, и я хочу знать для каждого x
в апостериорной прогностической трассе, к какому из двух выбранных из него нормальных распределений принадлежит. Возможно ли это в PyMC3, не делая этого вручную?