首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PymC3特定示例中的自定义分布

PymC3特定示例中的自定义分布
EN

Stack Overflow用户
提问于 2017-01-28 03:41:00
回答 2查看 941关注 0票数 1

我对自定义发行版感到困惑,基本上是因为我无法理解它是如何工作的。也许在上面贴一篇文章会非常有用。

我正在尝试创建一个发行版,它是

-15%至-5%,概率为25% 0%到5%,概率为75 %

本质上是试图解决水晶球Tutorial.pdf第3-11页给出的问题.

你能帮我怎么做吗?

EN

回答 2

Stack Overflow用户

发布于 2017-01-30 12:45:23

做这样的事怎么样:

代码语言:javascript
运行
复制
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)
票数 1
EN

Stack Overflow用户

发布于 2017-01-30 14:34:50

您可以在pymc3Mixture发行版中这样做,如下所示:

代码语言:javascript
运行
复制
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)

生成以下发行版,我认为这就是您要寻找的发行版。

分布直方图

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41906091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档