自定义分布在PymC3的具体示例中

时间:2017-01-28 03:41:00

标签: pymc3

我对自定义发行版感到困惑,主要是因为我无法理解其工作原理。也许关于它的帖子会非常有用。

我正在尝试创建一个

组合的发行版
  

-15%至-5%,概率为25%

     

0到5%,概率为75%

基本上尝试解决第{3}页Crystal Ball Tutorial.pdf中给出的问题。

请你帮我解决一下这个问题。

2 个答案:

答案 0 :(得分:1)

您可以使用pymc3的{​​{1}}分发执行此操作,如下所示:

Mixture

产生以下分布,我认为这就是你要找的东西

distribution histogram

答案 1 :(得分:0)

做这样的事情怎么样:

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)