Я хотел бы, чтобы смоделировать распределение, которое представляет собой смесь нормального и константа 0.Смесь модель нормальной и постоянной
я не смог найти решение, потому что во всех примерах смеси я что класс распределения одинаковый для каждой категории.
Вот код, чтобы проиллюстрировать то, что я ищу:
with pm.Model() as model:
x_non_zero = pm.Normal(...)
zero_rate = pm.Uniform('zero_rate', lower=0.0, upper=.0, testval=0.5)
fr = pm.Bernoulli('fr', p=zero_rate)
x = pm.???('x', pm.switch(pm.eq(fr, 0), x_non_zero, 0), observed=data['x'])
Я заинтересован в скорости данных точно равна нулю и параметры нормальной, когда она отлична от нуля.
Вот как данные я моделирования примерно выглядит следующим образом:
Спасибо вам ответить! Считаете ли вы возможным расширить свою модель с помощью prior на 'p'' категории'? – smatting
Добро пожаловать. Конечно, вы можете использовать дистрибутив Дирихле как предыдущий для категориального, например 'p = pm.Dirichlet ('p', a = np.array ([1., 1.]))' – aloctavodia