在pymc3中,从分类分布中绘制二项式n参数会引发错误

时间:2017-02-15 01:48:56

标签: pymc3

要解决问题,请考虑以下简单模型:

import numpy as np
import pymc3 as pm
#(a few other stuff)

obsv = np.array([12., 45., 64., 34., 57.])
M = 400
with pm.Model() as model:
    p_cat = (1/M)*np.ones(M)
    theta = pm.Beta('rate', 1,1)
    num = pm.Categorical('n', p_cat)

    #likelihood
    resp = pm.Binomial('resp', n=num, p=theta, observed=obsv)

现在,如果我尝试查找MAP,则会引发以下错误:

  

ValueError:优化错误:max处的max,logp或dlogp具有非有限值。某些值可能不在分发支持中。 max:{' count&#39 ;: array(0),' rate_logodds _&#39 ;: array(0.0)} ..等等。

乍一看似乎从count变量中取样有问题。

当然,当我跑步时:

count.tag.test_value  # -> 0

(我的库是最新的。我使用的是python3)

0 个答案:

没有答案