#pymc #pymc3
#pymc #pymc3
Вопрос:
Я пытаюсь перенести модель из Infer.NET, и я борюсь с тем, как я могу создать детерминированную переменную, наблюдаемую в pymc3?
M, L ~ Бернулли
# doesn't work ...
Deterministic("U %i" % i, switch(M[i], ~L[i], L[i]), observed=True)
Ответ №1:
Не совсем понятно, что вы пытаетесь смоделировать (вы, скорее всего, получите ответы с полным описанием проблемы и попыткой кода), но в pymc3 вы передаете данные через аргумент ‘observed’, чтобы указать функцию правдоподобия. Например, если вы хотите оценить вероятность успеха для случайной величины, распределенной по Бернулли, вероятность для модели будет равна
likelihood = pm.Bernoulli('likelihood', prior_p_success, observed=data)
где prior_p_success
— априорная вероятность успеха и data
вектор ваших двоичных данных.