PyMC:马尔科夫链蒙特卡洛采样工具

pymc

PyMC是一个实现贝叶斯统计模型和马尔科夫链蒙塔卡洛采样工具拟合算法的Python库。PyMC的灵活性及可扩展性使得它能够适用于解决各种问题。除了包含核心采样功能,PyMC还包含了统计输出、绘图、拟合优度检验和收敛性诊断等方法。

特性

PyMC使得贝叶斯分析尽可能更加容易。以下是一些PyMC库的特性:

  • 用马尔科夫链蒙特卡洛算法和其他算法来拟合贝叶斯统计分析模型。
  • 包含了大范围的常用统计分布。
  • 尽可能地使用了NumPy的一些功能。
  • 包括一个高斯建模过程的模块。
  • 采样循环可以被暂停和手动调整,或者保存和重新启动。
  • 创建包括表格和图表的摘要说明。
  • 算法跟踪记录可以保存为纯文本,pickles,SQLite或MySQL数据库文档或HDF5文档。
  • 提供了一些收敛性诊断方法。
  • 可扩展性:引入自定义的步骤方法和非常规的概率分布。
  • MCMC循环可以嵌入在较大的程序中,结果可以使用Python进行分析。

安装

PyMC可以运行在Mac OS X,Linux和Windows系统中。安装一些其他预装库可以更大程度地提高PyMC的性能和功能。

预装库

PyMC的运行要求一些预装库的安装及配置。

使用EasyInstall安装

安装PyMC最简单的方式是在终端输入以下代码:

确保用户具有适合的权限进行安装。

使用预编译二进制文件进行安装

  1. PyPI下载安装器。
  2. 双击可执行安装包,按照向导进行安装。

编译源码安装

用户可以从the GitHub download page中下载源代码并解压。

从GitHub上安装

用户可以在GitHub中查找PyMC,并执行:

历史版本在/tags目录中可以找到。

执行测试套件

pymc中包含了一测试用例来确保代码中的关键组件能够正常运行。在运行这个测试之前,用户需要保证nose已经在本地安装好,在Python编译器中执行以下代码:

如果测试失败,将会显示错误的具体信息。

使用

首先,在文件中定义你的模型,并命名为mymodel.py。

保存此文件,在Python编译器或者相同目录下的其他文件中调用:

这个例子会产生10000个后验样本。这个样本会存储在Python序列化数据库中。

教程示例

教程会指导用户完成常见的PyMC应用。

如何用MCMC来拟合模型

PyMC提供了一些可以拟合概率模型的方法。最主要的拟合模型方法是MCMC,即马尔科夫蒙特卡洛算法。生成一个MCMC对象来处理我们的模型,导入disaster_model.py并将其作为MCMC的参数。

调用MCMC中的sample()方法(或者交互采样函数isample())来运行采样器:

等待几秒钟后,便可以看到采样过程执行完成,模型已经完成拟合。

其他教程

建模教程

拟合模型:

保存和管理采样结果

模型检验与诊断

扩展PyMC

概率分布

开发者资源

官方网站:http://pymc-devs.github.io/pymc/index.html
开源地址:https://github.com/pymc-devs/pymc

5 12 收藏

资源整理者简介:赵叶宇

Python技术学习者,主要集中数据分析领域和机器学习。 个人主页 · 贡献了7个资源 · 1


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1440 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer