首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用pymc3中的实际假设-将示例从ThinkBayes移植到pymc3

使用pymc3中的实际假设-将示例从ThinkBayes移植到pymc3
EN

Stack Overflow用户
提问于 2016-06-05 07:39:57
回答 1查看 152关注 0票数 2

我正在复制艾伦·唐尼( Allen )在“想想贝斯”(Think)中向pymc3展示的一些例子。

他的伟大著作为我们提供了一些关于贝叶斯方法的介绍性例子,并且是使用Allen自己的库完成的。

有一个“火车问题”,你需要根据你在每列火车上看到的数量来预测一家公司的列车数量(每列列车编号从1到N)。

这个问题的可能性基本上是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def likelihood(self, data, hypo):
    if data > hypo:
        return 0
    return 1/hypo

for data in stream:
    for hypo in hypothesis:
        self.posterior[hypo] *= likelihood(data, hypo)

你在火车上看到的号码是data

我如何定义自定义的可能性是pymc3?我用DensityDist来创建我自己的似然函数,但是我正在复制的这个函数依赖于从1到N的假设(假设N= 100),而在pymc3中,我找不到从张量得到X的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-17 16:48:57

这个问题也被称为德国坦克问题。自从第二次世界大战期间,盟军就试图根据被俘坦克的编号来寻找德国坦克的数量。

我认为这个问题可以用下面的模型来解决

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with pm.Model() as model:
    N = pm.DiscreteUniform('N', lower=y.max(), upper=y.max()*10)
    y_obs = pm.DiscreteUniform('y', lower=0, upper=N, observed=y)

    trace = pm.sample(10000)

根据您的实际问题,您可以放宽离散假设(这是非常合理的),并使用像Uniform那样的连续分布。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with pm.Model() as model:
    N = pm.Uniform('N', lower=y.max(), upper=y.max()*10)
    y_obs = pm.Uniform('y', lower=0, upper=N, observed=y)

    trace = pm.sample(1000)

放松离散假设的一个好处是现在你可以使用坚果了。相反,在以前的模型中,由于您使用的是离散变量,所以您被限制在大都会。

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

https://stackoverflow.com/questions/37643697

复制
相关文章
使用pymc3遇到的问题
PyMC3机器学习库,基于heano, NumPy, SciPy, Pandas, 和 Matplotlib。 安装 pip install pymc3,pip命令可以安装pymc3并安装其依赖库 首次运行报错 这可能是缺少某些依赖库导致的,根据报错信息安装即可 运行出现一长串c代码,或者说c代码被存放在某个目录 解决方案:conda install mingw libpython 提示不能导入pyqt4 解决方案:conda install pyqt=4,如果提示不能安装则进入https://www.l
听城
2018/04/27
1.8K0
独家 | ​PyMC3 介绍:用于概率编程的Python包
我们经常从天气预报中听到:明天的降水率是80%。这意味着什么?我们很难直白地解释这种说法,尤其是从概率学派的角度:无限次(或非多次)地重复下雨/不下雨实验是不现实的。
数据派THU
2021/01/28
1.6K0
独家 | ​PyMC3 介绍:用于概率编程的Python包
Python用 PyMC3 贝叶斯推理案例研究:抛硬币和保险索赔发生结果可视化
在这里,我们将帮助客户将 PyMC3 用于两个贝叶斯推理案例研究:抛硬币和保险索赔发生(点击文末“阅读原文”获取完整代码数据)。
拓端
2023/08/31
2540
Python用 PyMC3 贝叶斯推理案例研究:抛硬币和保险索赔发生结果可视化
Python用 PyMC3 贝叶斯推理案例研究:抛硬币和保险索赔发生结果可视化
在这里,我们将帮助客户将 PyMC3 用于两个贝叶斯推理案例研究:抛硬币和保险索赔发生。
拓端
2023/08/11
2040
贝叶斯回归:使用 PyMC3 实现贝叶斯回归
PyMC3(现在简称为PyMC)是一个贝叶斯建模包,它使数据科学家能够轻松地进行贝叶斯推断。
deephub
2022/11/11
7480
贝叶斯回归:使用 PyMC3 实现贝叶斯回归
Python/PyMC3/ArviZ贝叶斯统计实战(上)
如果你认为贝叶斯定理是反直觉的,那么建立在贝叶斯定理基础上的贝叶斯统计就很难理解。在这一点上我和你的感受完全一致。
AiTechYun
2019/09/10
2.8K0
Python/PyMC3/ArviZ贝叶斯统计实战(上)
Python用PyMC3实现贝叶斯线性回归模型
在本文中,我们将在贝叶斯框架中引入回归建模,并使用PyMC3 MCMC库进行推理。
拓端
2020/08/20
1.7K0
Python用PyMC3实现贝叶斯线性回归模型
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
贝叶斯统计是一种基于概率的统计分析方法,它在Python数据分析领域的应用日益广泛。与传统频率学派不同,贝叶斯统计充分利用先验信息,并根据新的数据不断更新对参数的估计。本文将详细介绍贝叶斯统计在Python数据分析中的高级技术点,包括贝叶斯推断、概率编程和马尔科夫链蒙特卡洛等。
网络技术联盟站
2023/07/03
8100
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
数据分享|Python用PyMC3贝叶斯模型平均BMA:采样、信息准则比较和预测可视化灵长类动物的乳汁成分数据
一种替代方法是执行模型选择,但讨论所有不同的模型以及给定信息准则的计算值。重要的是要将所有这些数字和测试放在我们问题的背景下,以便我们和客户能够更好地了解方法可能存在的局限性和缺点。如果你在学术界,你可以使用这种方法向论文、演示文稿、论文等的讨论部分添加元素。
拓端
2023/08/31
6700
数据分享|Python用PyMC3贝叶斯模型平均BMA:采样、信息准则比较和预测可视化灵长类动物的乳汁成分数据
为什么贝叶斯统计如此重要?
即使对于一个非数据科学家来说,贝叶斯统计这个术语也已经很流行了。你可能在大学期间把它作为必修课之一来学习,而没有意识到贝叶斯统计有多么重要。事实上,贝叶斯统计不仅仅是一种特定的方法,甚至是一类方法;它是一种完全不同的统计分析范式。
郭好奇同学
2021/05/28
6750
为什么贝叶斯统计如此重要?
贝叶斯深度学习——基于PyMC3的变分推理
原文链接:Bayesian Deep Learning (http://twiecki.github.io/blog/2016/06/01/bayesian-deep-learning/) 作者:Thomas Wiecki,关注贝叶斯模型与Python 译者:刘翔宇 校对:赵屹华 责编:周建丁(zhoujd@csdn.net) 目前机器学习的发展趋势 目前机器学习有三大趋势:概率编程、深度学习和“大数据”。在概率编程(PP)方面,有许多创新,它们大规模使用变分推理。在这篇博客中,我将展示如何使用Py
用户1737318
2018/06/06
5.4K0
为什么贝叶斯统计如此重要?
即使对于一个非数据科学家来说,贝叶斯统计这个术语也已经很流行了。你可能在大学期间把它作为必修课之一来学习,而没有意识到贝叶斯统计有多么重要。事实上,贝叶斯统计不仅仅是一种特定的方法,甚至是一类方法;它是一种完全不同的统计分析范式。
Datawhale
2021/06/01
1.5K0
为什么贝叶斯统计如此重要?
Python用PyMC3贝叶斯模型平均BMA:采样、信息准则比较和预测可视化灵长类动物的乳汁成分数据
当面对多个模型时,我们有多种选择。模型选择因其简单性而具有吸引力,但我们正在丢弃有关模型中不确定性的信息。
拓端
2023/08/17
3280
贝叶斯深度学习:桥接PyMC3和Lasagne构建层次神经网络
编辑部翻译组 编译:西西、wally 作者:Thomas Wiecki 今天,我们将使用Lasagne构建一个更有趣的模型,这是一个灵活的Theano图书馆,用于构建各种类型的神经网络。你可能知道,PyMC3还使用了Theano,因此在Lasagne中建立了人工神经网络(ANN),将贝叶斯先验放在参数上,然后在PyMC3中使用变分推理(ADVI)来估计模型。 由于Lasagne的优秀表现,我们可以轻松地建立一个具有最大汇集层的分层贝叶斯卷积ANN,在MNIST上实现98%的准确性。 数据集:MNIS
量化投资与机器学习微信公众号
2018/01/29
7540
贝叶斯深度学习:桥接PyMC3和Lasagne构建层次神经网络
使用2to3将代码移植到Python 3
几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下。为了简化这个转换过程,Python 3自带了一个叫做2to3的实用脚本(Utility Script),这个脚本会将你的Python 2程序源文件作为输入,然后自动将其转换到Python 3的形式。案例研究:将chardet移植到Python 3(porting chardet to Python 3)描述了如何运行这个脚本,然后展示了一些它不能自动修复的情况。这篇附录描述了它能够自动修复的内容。
py3study
2020/01/06
7910
【高能】用PyMC3进行贝叶斯统计分析(代码+实例)
问题类型1:参数估计 真实值是否等于X? 给出数据,对于参数,可能的值的概率分布是多少? 例子1:抛硬币问题 硬币扔了n次,正面朝上是h次。 参数问题 想知道 p 的可能性。给定 n 扔的次数和 h 正面朝上次数,p 的值很可能接近 0.5,比如说在 [0.48,0.52]? 说明 参数的先验信念:p∼Uniform(0,1) 似然函数:data∼Bernoulli(p) import pymc3 as pmimport numpy.random as nprimport numpy as
量化投资与机器学习微信公众号
2018/01/30
4.4K0
【高能】用PyMC3进行贝叶斯统计分析(代码+实例)
如何使用Katoolin3将Kali中的所有程序轻松移植到Debian和Ubuntu
Katoolin3是一款功能强大的工具,可以帮助广大研究人员将Kali Linux中的各种工具轻松移植到Debian和Ubuntu等Linux操作系统中。
FB客服
2022/04/11
1.7K0
自动代码移植:从Caffe到Tensorflow
参考这个开源项目: Convert Caffe models to TensorFlow 安装好所需依赖后,具体执行起来只需要一句命令行: convert.py
JNingWei
2018/09/28
9220
理解情感 :从 Keras 移植到 pyTorch
该文章介绍了在深度学习模型中,不同框架之间的区别和优劣。文章首先讨论了Keras和PyTorch这两个框架在深度学习模型开发中的优缺点,然后介绍了两种框架在特定场景下的使用方式。作者认为,尽管Keras和PyTorch的基本功能相似,但Keras更倾向于简化和自动化,而PyTorch则倾向于灵活性和动态计算。在特定场景下,比如需要快速原型设计或需要与PyTorch生态系统兼容的情况下,Keras可能更适合。然而,在需要更灵活、动态的模型构建,以及需要深入了解模型构建和调试的情况下,PyTorch可能更适合。
钱曙光
2017/10/13
4.4K0
理解情感 :从 Keras 移植到 pyTorch
手把手 | Python代码和贝叶斯理论告诉你,谁是最好的棒球选手
大数据文摘作品 编译:李雷、张馨月、王梦泽、小鱼 除了文中所附的代码块,你也可以在文末找到整个程序在Jupyter Notebook上的链接。 在数据科学或统计学领域的众多话题当中,我觉得既有趣但又难理解的一个就是贝叶斯分析。在一个课程中,我有机会学习了贝叶斯统计分析,但我还需要对它做一些回顾和强化。 从个人观点出发,我就是想更好地理解贝叶斯理论,以及如何将它应用于现实生活中。 本文主要是受到了RasmusBååth在Youtube上的系列节目“贝叶斯数据分析入门”的启发。RasmusBååth非常善于让你
大数据文摘
2018/05/23
6700

相似问题

通过变量枚举(将PyMC移植到PyMC3)

12

混合模型在pymc3中的移植

13

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

26

将PyMC2代码移植到PyMC3 --运动分析的层次模型

32

pymc3:使用螺母

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文