total_churn = [101]
with pm.Model() as model:
family = pm.glm.families.Normal()
fitted_θ = pm.glm.GLM.from_formula(formula, data = x_train, family = family)
churn_trials = pm.Bernoulli('churn_trials',p=θ,shape = (len(x)) )
λ = theano.tensor.sum(churn_trials)
observations = pm.Poisson('observations',λ, observed = total_churn)
trace = pm.sample(10000,tune =10000 ,cores = 4)
Я пытаюсь решить проблему, когда пытаюсь предсказать вероятность того, что человек покинет компанию, основываясь на его ответах в конкретном опросе. Однако у меня нет данных о том, какой конкретный c человек покинул компанию, у меня есть только net изменение числа сотрудников в конкретном отделе. Поэтому я решил рассмотреть вопрос о том, уйдет ли сотрудник в течение года в качестве испытания Бернулли, и попытаться определить вероятность каждого испытания Бернулли $ theta $ как меру вероятности. Идея состоит в том, чтобы использовать количество успешных испытаний в качестве среднего для распределения Пуассона, которое представляет доказательства (количество сотрудников, покинувших компанию). Однако мне также необходимо представить условную вероятность P ($ theta $ | ответы на опрос) в виде байесовской линейной модели, но целевые значения $ theta $ неизвестны. Как мне go сделать что-то подобное? Может кто-нибудь показать мне пример, где это сделано? Спасибо!