pymc中dirichlet随机变量的logp大于1

2024-04-29 17:31:40 发布

您现在位置:Python中文网/ 问答频道 /正文

据我所知,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随机变量的经验。我只是在文档中查找语法并编写了它。我可能错了,如果是请纠正我。你知道吗

又一个小问题

不管我取了多少个随机值,对数概率都不会改变,即使每次得到的值不同。你知道吗


Tags: 代码ltgtdocvalue经验概率b2
1条回答
网友
1楼 · 发布于 2024-04-29 17:31:40

狄里克莱分布是连续分布,所以它的密度可能大于1。记住,连续密度必须是非负的,其积分必须是1。但并不要求密度处处小于1。你知道吗

关于你的第二个问题,我的建议是用一个新问题来回答,不要把两个问题混为一谈。你知道吗

相关问题 更多 >