- 授权协议: Academic
- 开发语言: Python
- 操作系统: 跨平台
- 软件首页: http://pymc-devs.github.io/pymc/index.html
- 软件文档: http://pymc-devs.github.io/pymc/index.html
软件介绍
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序列化数据库中。
菜鸟侦探挑战数据分析
[日] 石田基广 / 支鹏浩 / 人民邮电出版社 / 2017-1 / 42
本书以小说的形式展开,讲述了主人公俵太从大学文科专业毕业后进入征信所,从零开始学习数据分析的故事。书中以主人公就职的征信所所在的商业街为舞台,选取贴近生活的案例,将平均值、t检验、卡方检验、相关、回归分析、文本挖掘以及时间序列分析等数据分析的基础知识融入到了生动有趣的侦探故事中,讲解由浅入深、寓教于乐,没有深奥的理论和晦涩的术语,同时提供了大量实际数据,使用免费自由软件RStudio引领读者进一步......一起来看看 《菜鸟侦探挑战数据分析》 这本书的介绍吧!
