我有一个A
变量,该变量是Bernoulli分发的,A = pymc.Bernoulli('A', p_A)
,但是我对p_A
并没有一个硬值,因此想对其采样。我确实知道它应该很小,所以我想使用指数分布p_A = pymc.Exponential('p_A', 10)
。
但是,指数分布可以返回大于1的值,这将抛出A
。有没有一种方法可以限制p_A
的输出而不必在我自己的@pymc.stochastic
装饰函数中重新实现Bernoulli或指数分布?
最佳答案
PyMC提供界限。以下内容也应该起作用:
p_A = pymc.Bound(pymc.Exponential, upper=1)('p_A', lam=10)