R或Python的分层贝叶斯

时间:2009-07-28 02:43:04

标签: python r statistics

分层贝叶斯模型常用于市场营销,政治科学和计量经济学。然而,我所知道的唯一一个包是bayesm,它实际上是一本书的伴侣(贝叶斯统计和市场营销,Rossi等人)我错过了什么?是否有用于R或Python的软件包在那里完成工作,和/或相关语言中的一个成熟的例子?

7 个答案:

答案 0 :(得分:13)

有OpenBUGS和R帮助程序包。查看Gelman网站上的书,其中包含大部分相关链接:

在Python方面,我只知道PyMC:

编辑:在线提供了Gelman书中相应附录的链接,以获取使用R和BUGS的示例。

答案 1 :(得分:11)

这里有四本关于分层建模和贝叶斯分析的书籍,这些书都是用R代码编写的。

空间数据的层次建模和分析(统计和应用概率专着)(精装) http://www.amazon.com/gp/product/158488410X

使用回归和多级/分层模型进行数据分析(平装) http://www.amazon.com/Analysis-Regression-Multilevel-Hierarchical-Models/dp/052168689X/ref=pd_sim_b_1

使用R(使用R)进行贝叶斯计算(平装本) http://www.amazon.com/Bayesian-Computation-R-Use/dp/0387922970/ref=pd_bxgy_b_img_c

环境科学的分层建模:统计方法和应用(牛津生物学)(平装本)(我假设这个有R代码,因为两位作者都广泛使用R)

我知道一些python书涉及多变量分析(例如集体智慧),但我还没有看到任何真正深入研究贝叶斯或分层建模。

答案 2 :(得分:3)

MCMCpack中有一些R的层次模型,据我所知,这是许多常见模型类型中最快的采样器。 (我在其中写了[层次项目响应] [2]模型。)

[RJAGS] [3]的名字听起来像。编写一个jags风格的.bug模型,在R中提供数据,并从R调用Jags。

答案 3 :(得分:3)

这个答案来晚了将近十年,但希望它将在将来对某人有所帮助。

R的sudo rm -rf /usr/local/var/run/watchman/* 包对于贝叶斯层次/多级模型是一个很好的选择,其语法与brms包非常相似。

lme4包在背面使用了概率编程语言Stan进行推断。 Stan使用比JAGS和BUGS更为先进的采样方法,例如Hamiltonian Monte Carlo,后者从后验分布中提供了更有效和可靠的样本。

如果您希望对更复杂的现象建模,则可以使用brms包从R编译Stan模型。还有Python替代rstan。但是,为此,您必须学习如何使用Stan。

答案 4 :(得分:2)

在python中,尝试PyMC。这里有一个多级建模的例子:http://groups.google.com/group/pymc/browse_thread/thread/c6ce37a80edf7f85/1bfd9138c8db891d

答案 5 :(得分:2)

我将R中的分层Bayes模型与JAGS(Linux)或WinBUGS(Windows或Wine)结合使用。查看上面提到的Andrew Gelman一书。

答案 6 :(得分:0)

使用频率方法估计层次模型的lme4包具有一个名为mcmcsamp的函数,允许您使用MCMC从模型的后验分布中进行采样。不幸的是,这目前仅适用于线性模型。