我对自定义发行版感到困惑,基本上是因为我无法理解它是如何工作的。也许在上面贴一篇文章会非常有用。
我正在尝试创建一个发行版,它是
-15%至-5%,概率为25% 0%到5%,概率为75 %
本质上是试图解决水晶球Tutorial.pdf第3-11页给出的问题.
你能帮我怎么做吗?
发布于 2017-01-30 12:45:23
做这样的事怎么样:
with pm.Model() as model:
idx = pm.Uniform('idx', 0, 1)
a = pm.Uniform('a', np.array([-15, 0]), np.array([-5, 5]), shape=2)
b = pm.Deterministic('b', pm.math.switch(idx < 0.25, a[0], a[1]))
step = pm.Metropolis()
trace = pm.sample(1000, step)
发布于 2017-01-30 14:34:50
您可以在pymc3
的Mixture
发行版中这样做,如下所示:
import numpy as np
import pymc3 as pm
with pm.Model() as model:
dist = pm.Mixture('dist', np.array([0.25, 0.75]),
[pm.Uniform.dist(-0.15, -0.05), pm.Uniform.dist(0., 0.05)])
N = 10000
samples = dist.random(size=10000)
生成以下发行版,我认为这就是您要寻找的发行版。
https://stackoverflow.com/questions/41906091
复制相似问题