python - 设计一个简单的二项式分布会在 pymc 中抛出核心转储

标签 python pymc

我正在尝试在 pymc 中设计一个简单的二项式分布。但是,它失败并出现以下错误,如果我使用泊松分布而不是二项分布,相同的代码可以正常工作

import pymc as pm
from pymc import Beta,Binomial,Exponential
import numpy as np
from pymc.Matplot import plot as mcplot

data = pm.rbinomial(5,0.01,size=100)
p = Beta("p",1,1)
observations = Binomial("obs",5,p,value=data,observed=True)
model = pm.Model([p,observations])
mcmc = pm.MCMC(model)
mcmc.sample(400,100,2)
mcplot(mcmc)

错误

venki@venki-HP-248-G1-Notebook-PC:~/Desktop$ python perf_testing.py 
*** glibc detected *** python: free(): corrupted unsorted chunks: 0x0000000003cb0d40 ***
*** glibc detected *** python: malloc(): memory corruption: 0x00000000038bf2e0 ***

我还在 github pymc 中创建了一个问题。我虽然不确定,如果我错了还是一个错误?

OS

Python 2.7.3
pymc 2.3.4
Ubuntu 12.04.5 LTS

最佳答案

我认为这是一个错误(这里是a link to the issue you opened,谢谢!)。

这里有一个您现在可以使用的解决方法:不要像上面那样创建观察,而是使用np维度匹配data的参数:

observations = Binomial("obs", 5*np.ones_like(data),
                        p*np.ones_like(data), value=data,observed=True)

关于python - 设计一个简单的二项式分布会在 pymc 中抛出核心转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28778725/

相关文章:

statistics - 使用 PyMC 估计随机变量的参数,该随机变量是均匀随机变量的总和

python - PyMC 最简单的线性模型

python - 将混合模型移植到 pymc3

python - 使用 pyMCMC/pyMC 将非线性函数拟合到数据/观察值

python - 如何解决此问题元素不可交互的 Selenium Python

python - urlopen 是否被延迟评估?

python - hmac-sha1 哈希总是 20 个字节长吗? Python代码

Python 请求模块 GET/POST + 各种 REST 客户端请求耗时比 curl 长

python - 调试pymc概率计算

python - 列表中多个最小元素的索引