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

Posted zxcv1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyMC:马尔科夫链蒙特卡洛采样工具相关的知识,希望对你有一定的参考价值。

技术分享图片

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

加qq群813622576或vx;tanzhouyiwean免费领取Python学习资料

特性

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())来运行采样器:

技术分享图片

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

加qq群813622576或vx;tanzhouyiwean免费领取Python学习资料

 

以上是关于PyMC:马尔科夫链蒙特卡洛采样工具的主要内容,如果未能解决你的问题,请参考以下文章

马尔科夫链蒙特卡洛采样(MCMC)入门

MCMC马尔科夫链

MCMC蒙特卡罗方法

MCMCMCMC采样和M-H采样

一份数学小白也能读懂的「马尔可夫链蒙特卡洛方法」入门指南

机器学习之MCMC算法