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

码农软件 · 软件分类 · 机器学习/深度学习 · 2019-08-06 22:27:51

软件介绍

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

特性

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

  • 用马尔科夫链蒙特卡洛算法和其他算法来拟合贝叶斯统计分析模型。

  • 包含了大范围的常用统计分布。

  • 尽可能地使用了NumPy的一些功能。

  • 包括一个高斯建模过程的模块。

  • 采样循环可以被暂停和手动调整,或者保存和重新启动。

  • 创建包括表格和图表的摘要说明。

  • 算法跟踪记录可以保存为纯文本,pickles,SQLite或MySQL数据库文档或HDF5文档。

  • 提供了一些收敛性诊断方法。

  • 可扩展性:引入自定义的步骤方法和非常规的概率分布。

  • MCMC循环可以嵌入在较大的程序中,结果可以使用Python进行分析。

安装

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

预装库

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

使用方法:

1. 模型定义:

# Import relevant modules
import pymc
import numpy as np

# Some data
n = 5*np.ones(4,dtype=int)
x = np.array([-.86,-.3,-.05,.73])

# Priors on unknown parameters
alpha = pymc.Normal('alpha',mu=0,tau=.01)
beta = pymc.Normal('beta',mu=0,tau=.01)

# Arbitrary deterministic function of parameters
@pymc.deterministic
def theta(a=alpha, b=beta):
"""theta = logit^{-1}(a+b)"""
return pymc.invlogit(a+b*x)

# Binomial likelihood for data
d = pymc.Binomial('d', n=n, p=theta, value=np.array([0.,1.,3.,5.]),\
              observed=True)

调用模型:

import pymc
import mymodel

S = pymc.MCMC(mymodel, db='pickle')
S.sample(iter=10000, burn=5000, thin=2)
pymc.Matplot.plot(S)

以上代码运行会产生10000个后验样本。这个样本会存储在Python序列化数据库中。

本文地址:https://codercto.com/soft/d/11806.html

C程序设计题解与上机指导

C程序设计题解与上机指导

谭浩强 / 清华大学 / 2000-9-1 / 19.50元

《C程序设计题解与上机指导(第2版)》是和谭浩强编著的《C程序设计》(第二版)(清华大学出版社1999年出版)配合使用的参考书,内容包括:(1)《程序设计》(第二版)一书的习题和参考解答,包括了该书各章的全部习题,共约150题,对全部编程题都给出了参考解答;(2)上机指南,详细介绍了在当前广泛使用的Turbo C集成环境下编辑、编译、调试和运行程序的方法,并简要介绍了Borland C++的使用方......一起来看看 《C程序设计题解与上机指导》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具