我有一个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)

10-08 04:37