作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从随机 Petri 网模型中估计速率。我不明白为什么,但我得到了零概率错误,即使在给定我为速率定义的初始值的情况下,将数据数据与预期的观察次数完全对应。
例如,以下比率 [0.01, 2, 10, 1] 对应于 [0.33, 0.66, 0.01] 3 种不同结果的概率。如果我观察到 100 个结果,我希望观察到 [33, 66, 1] 落入每个结果之内。
然而,如果我运行以下模型,我会得到一个 ZeroProbability 错误(我正在简化 prob 函数,它连接到一个更大的代码段):
data=[33,66,1]
rates=pymc.Uniform('rates',0,100,size=4,value=[0.01,2,10,1])
@pymc.deterministic
def prob(rates=rates):
return np.array([0.33,0.66,0.01])
likelihood=pymc.Categorical('likelihood',p=prob,value=data,observed=True)
最佳答案
我发现问题是分类分布和多项分布之间的区别。我一直在努力寻找两者之间的实际差异,终于找到了 here :
The categorical distribution is equivalent to a multinomial distribution with the number of trials equal to one.
data=np.array([33,66,1])
rates=pymc.Uniform('rates',0,100,size=4,value=[0.01,2,10,1])
@pymc.deterministic
def prob(rates=rates):
return np.array([0.33,0.66,0.01])
likelihood=pymc.Multinomial('likelihood',n=sum(data),p=prob,value=data,observed=True)
pymc.categorical_like(data/data.sum(),prob.value)
pymc.multinomial_like(data,sum(data),prob.value)
关于distribution - PyMC:获得零或接近零的分类似然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25908845/
我是一名优秀的程序员,十分优秀!