Free Software for Bayesian Statistical Inference
Regression and classification:
for Flexible Bayesian Modeling and Markov Chain Sampling, by Radford
Neal. Includes neural networks, Gaussian processes, and other models.
- Tpros: Gaussian
Processes Papers and Software, by Mark Gibbs.
- gp-mc-1: Gaussian processes for regression, fully Bayesian approach,
by Carl Rasmussen. Note: The link for the paper describing the
algorithms used in the paper is wrong;
is the correct link.
- gp-map-1: Gaussian processes for regression, MAP approach, by Carl
Rasmussen. Note: The link for the paper describing the
algorithms used in the paper is wrong;
is the correct link.
- An Octave-based demo
of Gaussian Processes (Gzipped tar file).
— Wray Buntine's Bayesian decision tree software, based on his
Logistic Regression Software for sparse models. This software can pick
out an appropriate set of features from a set of tens of thousands of
predictors; it was developed with text categorization in mind, with the
features being presence or absence of a word.
- Bayesian Essay Test Scoring System -
BETSY. A text classification tool.
General statistical analysis:
- BUGS / WinBUGS
(Bayesian Inference Using Gibbs Sampling). Probably the most popular and
flexible software for Bayesian statistics around. Has a powerful model
description language, and uses Markov Chain Monte Carlo to do a full
- BayesX. Software for semiparametric regression using MCMC, inference
for STAR (structured additive predictor) models, model selection for
Gaussian and non-Gaussian DAGs, etc.
- R. An open-source
implementation of the S language for data analysis. Mostly oriented towards
frequentist statistics, but there are some packages for Bayesian
Functions for running WinBUGS from R.
- Bayesian Output
Analysis Program. Convergence diagnostics for Markov Chain Monte Carlo.
- R-CODA. Convergence
diagnostics for Markov Chain Monte Carlo.
for Bayesian meta-analysis: hblm in S-plus. Hierarchical Bayes
Linear Models. Used to combine the results from several independent studies.
S-plus code and documentation.
- BACC: Bayesian Analysis,
Computation, and Communication. A collection of statistical routines
implemented for R, S-plus, and Matlab.
and Datasets (Adrian Raftery). A collection of S functions for various
statical analyses, many of them Bayesian or useful as part of a full
Model Selection Software (Adrian Raftery). S functions for computing
posterior probabilities of models.
- Bayesian Model
Averaging Home Page. Software in S for model averageing, which
accounts for uncerty in model selection when making predictions.
- Kevin Murphy's list of
Packages for Graphical Models / Bayesian Networks.
- Intel's Open Source
Probabilistic Networks Library (PNL). Both learning of and inference with
- Bayesian Network Tools in
Java Both inference from network, and learning of network.
- JavaBayes: Bayesian Networks
in Java. Software for inference with Bayesian networks; as of June 18
2004 it does not include facilities for learning structure or parameters of
- J. Cheng's
Bayesian Belief Network Software. KDDCup 2001 Data Mining Competition
winner. BN PowerConstructor, BN PowerPredictor, DataPreprocessor.
Learns Bayesian networks, both structures and parameters.
Toolkit Home Page. Data mining software. Learns both structure and
parameters of Bayesian networks.
- MSBNx: Microsoft
Bayesian Network Editor and ToolKit. Can be used to both create and
evaluate a Bayesian network. Alternate link.
- BNG: Bayesian Network
Generator. Knowledge-based construction of Bayesian networks.
- jBNC: Bayesian Network
Classifier Toolbox. Java toolkit for training, testing, and applying
Bayesian network classifiers.
- Kevin Murphy's Bayes Net
ToolBox for Matlab. Includes a variety of algorithms for both inference
(evaluation of net), parameter learning, and structure learning. Has
support for some kinds of continuous conditional distributions, as well as
utility nodes (influence diagrams).
- GeNIe 2.0 & SMILE.
SMILE is a library of C++ classes for manipulating and evaluating Bayesian
networks and influence diagrams. GeNIe is a graphical end-user
application built on top of SMILE.
- DEAL: Learning Bayesian
Networks in R. Can handle discrete and/or continuous variables
(continous nodes must be conditionally Gaussian). Can learn parameters of
network, and has some ability to learn structure (improve on an initial
- Coco. Analysis of
associations between discrete variables (log-linear interactions). Runs
A suite of functions in R for probability propagation in discrete graphical
- TETRAD: Causal
Models and Statistical Data. Program for creating, simulating data
from, estimating, testing, predicting with, and searching
for causal/statistical models (Bayesian networks or graphical
- Stochastic Computation
For Gaussian Graphical Models. Software to evaluate models.
- GDAGSim. C library for conditional simulation of Gaussian DAG models.
C library for fast and exact simulation of Gaussian Markov Random
Fields (GMRF) on graphs. The library performs,unconditional simulation of a
GMRF, various types of conditional simulation from a GMRF, evaluation of the
corresponding log-density, and generation of blockupdates in
- gR: gRaphical Models in R.
An umbrella for various software packages for graphical models that are
either written in R or can be called from R.
Time Series / dynamic models:
- Nonstationary Time
Series Analysis and Decomposition using Time-Varying Parameter
Autoregressions. Software for fitting, analysis and exploration of time
series using classes of time-varying autoregressions — or TVAR models.
component models, model uncertainty and unit roots. Software for
fitting autoregressive models to time series.
Filtering Library for inference with models such as Kalman filters,
hidden Markov models, particle filters, etc.
- Bayes++ Bayesian Filter Classes. Library of C++ classes for
Bayesian filtering (e.g., Kalman filter, extended Kalman filter, etc.)
- SsfPack: C routines for state-space
approach to time series analysis.
- ReBEL : Recursive
Bayesian Estimation Library. Matlab toolkit of functions and scripts,
designed to facilitate sequential Bayesian inference (estimation) in general
state space models (Kalman filter, extended Kalman filter, sigma-point
Kalman filter, particle filters, etc.)
Bayes. Teaching package for elementary Bayesian statistics.
Runs on all versions of Windows.
- Autoclass: automatic class discovery. Discovers clusters/classes in
data that may include both real and discrete attributes.
- Autoclass C. C language implementation of Autoclass.
- Model-based Clustering
Software (MCLUST / EMCLUST). Written in FORTRAN and interfaced to S-plus
- GSL: Gnu Scientific
Library. Contains many functions that are useful for writing
Software that takes a model specification and creates a C program to do
Markov Chain Monte Carlo evaluation of that model. The advantage is speed
- Hydra MCMC Library. A platform-neutral library for performing Markov
chain Monte Carlo, written in Java. Alternate links:
- BAYESPACK (scroll down to BAYESPACK entry in list after clicking on
link). A collection of Fortran software for numerical evaluation of
integrals that arise in Bayesian statistical analysis.
Paper describing the system.
- BayeSys. Software
for Markov Chain Monte Carlo and computation on evidence (a.k.a. model
likelihood or marginal likelihood).
- OpenNLP Maxent. Java
package for training and using maximum-entropy models.
- [B/D]: The Bayes Linear