Использование предыдущих дистрибутивов в pymc3 - PullRequest
0 голосов
/ 30 мая 2019

В двух словах: Мне нужно построить байесовскую логистическую регрессию, установив строго отрицательные априорные распределения для некоторых коэффициентов и определив их вне модели. Как можно обойтись без pm.Bound?

Описание: Мне нужно создать байесовскую логистическую регрессию, используя pymc3, где некоторые из коэффициентов обязательно будут ниже 0. Поскольку pymc3 не предоставляет опций для отражения распределений (например, используйте pm.Lognormal, который, безусловно, выше нуля, и отражайте его, умножая на - 1), мне нужно сделать регрессию, где объекты с этими отрицательными коэффициентами будут отрицательными (потому что коэффициенты будут положительными), поэтому я не могу использовать pm.glm.GLM.from_formula. Однако, если я использую likelihood = pm.Bernoulli(), я не могу использовать свои предыдущие дистрибутивы, так как я определяю их вне модели и, следовательно, должен устанавливать их как pm.Lognormal.dist(...). Использование таких коэффициентов в регрессии дает AssertionError: <class 'pymc3.distributions.continuous.Lognormal'>. Каковы возможные решения? Заранее спасибо!

...