В двух словах:
Мне нужно построить байесовскую логистическую регрессию, установив строго отрицательные априорные распределения для некоторых коэффициентов и определив их вне модели. Как можно обойтись без 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'>
. Каковы возможные решения? Заранее спасибо!