据我了解,logp 应该 b2 <= 0,否则概率将 > 1(这是不可能的)。
有人可以解释为什么我会得到如此奇怪的结果。我正在下面编写代码的相关部分。
parameters = pm.Dirichlet('parameters',[1,1,1,1], doc='parameters')
print parameters.value, parameters.logp
我得到以下输出
[ 0.29402696 0.64604328 0.04713606] 1.79175946923
这是一件很奇怪的事情。我没有在 pymc 中使用 dirichlet 随机变量的经验。我只是在文档中查找了语法并编写了它。我可能是错的,如果是,请纠正我。
另一个小问题
无论我采用多少随机值,即使我每次都得到不同的值,对数概率也不会改变。