用于研究贝叶斯网络和图形模型的软件包

Software Packages for Graphical Models / Bayesian Networks

Written by Kevin Murphy.
Last updated 28 July 2008.

Review articles

  • Click here for a short article I wrote for the ISBA (International Society for Bayesian Analysis) Newsletter, December 2007
  • Click here for a more detailed discussion of some of these packages written by Ann Nicholson and Kevin Korb in 2004.
  • Click here for a French version of my comparison table (not necessarily up-to-date).

What do the headers in the table mean?

  • Src = source code included? (N=no) If so, what language?
  • API = application program interface included? (N means the program cannot be integrated into your code, i.e., it must be run as a standalone executable.)
  • Exec = Executable runs on W = Windows (95/98/NT), U = Unix, M = Mac, or - = any machine with a compiler.
  • Cts = are continuous (latent) nodes supported? G = (conditionally) Gaussians nodes supported analytically, Cs = continuous nodes supported by sampling, Cd = continuous nodes supported by discretization, Cx = continuous nodes supported by some unspecified method, D = only discrete nodes supported.
  • GUI = Graphical User Interface included?
  • Learns parameters?
  • Learns structure? CI = means uses conditional independency tests
  • Utility = utility and decision nodes (i.e., influence diagrams) supported?
  • Free? 0 = free (although possibly only for academic use). $ = commercial software (although most have free versions which are restricted in various ways, e.g., the model size is limited, or models cannot be saved, or there is no API.)
  • Undir? What kind of graphs are supported? U = only undirected graphs, D = only directed graphs, UD = both undirected and directed, CG = chain graphs (mixed directed/undirected).
  • Inference = which inference algorithm is used? jtree = junction tree, varelim = variable (bucket) elimination, MH = Metropols Hastings, G = Gibbs sampling, IS = importance sampling, sampling = some other Monte Carlo method, polytree = Pearl's algorithm restricted to a graph with no cycles, VMP = variational message passing, EP = expectation propagation, SL = the program is designed for structure learning from completely observed data, not state estimation
  • Comments. If in "quotes", I am quoting the authors at their request.

If you want your package to be listed, please send me email in the format specified here (use view source to see this properly).

Name

Authors

Src

API

Exec

Cts

GUI

Params

Struct

Utility

Free

Undir

Inference

Comments

AgenaRisk

Agena

N

Y

W,U

Cx

Y

Y

N

N

$

D

JTree

Simulation by Dynamic discretisation

Analytica

Lumina

N

Y

W,M

G

Y

N

N

Y

$

D

sampling

spread sheet compatible

Banjo

Hartemink

Java

Y

W,U,M

Cd

N

N

Y

N

0

D

none

structure learning of static or dynamic networks of discrete variables

Bassist

U. Helsinki

C++

Y

U

G

N

Y

N

N

0

D

MH

Generates C++ for MCMC. (No longer maintained)

BayesBuilder

Nijman (U. Nijmegen)

N

N

W

D

Y

N

N

N

0

D

?

-

BayesiaLab

Bayesia Ltd

N

N

-

Cd

Y

Y

Y

N

$

CG

jtree,G

Structural learning, adaptive questionnaires, dynamic models

Bayesware Discoverer

Bayesware

N

N

WUM

Cd

Y

Y

Y

N

$

D

?

Uses bound and collapse for learning with missing data.

B-course

U. Helsinki

N

N

WUM

Cd

Y

Y

Y

N

0

D

?

Runs on their server: view results using a web browser.

Belief net power constructor

Cheng (U.Alberta)

N

W

W

D

Y

Y

CI

N

0

D

?

-

BayesBlocks

Helsinki

Python/C++

Y

-

Y

N

Y

N

N

0

Dir

Variational

Non-Gaussian Latent variable models

Blaise

Bonnowitz and Mansinghka

Java

Y

-

Y

N

Y

N

N

0

Fgraph

MCMC, SMC

General MC toolkit, also handles non-parametric Bayesian models

BNT

Murphy (U.C.Berkeley)

Matlab/C

Y

WUM

G

N

Y

Y

Y

0

D,U

Many

Also handles dynamic models, like HMMs and Kalman filters.

BNJ

Hsu (Kansas)

Java

-

-

D

Y

N

Y

N

0

D

jtree, IS

-

BNL

frank rijmen

Matlab

-

-

D

N

N

N

N

0

D

jtree

Supports (ordinal) logistic regression CPDs and EM learning

BUGS

MRC/Imperial College

N

N

WU

Cs

W

Y

N

N

0

D

Gibbs

-

Causal discoverer

Vanderbilt

N

N

W

-

-

N

Y

N

0

D

-

structure learning only

CoCo+Xlisp

Badsberg (U. Aalborg)

C/lisp

Y

U

D

Y

Y

CI

N

0

U

Jtree

Designed for contingency tables.

CIspace

Poole et al. (UBC)

Java

N

WU

D

Y

N

N

N

0

D

Varelim

-

CRFtoolbox

Schmidt and Murphy

Matlab/C

Y

-

N

N

Y

N

N

0

U

Loopy BP

Conditional random fields, arbitrary structure

DBNbox

Roberts et al

Matlab

-

-

Y

N

Y

N

N

Y

D

Various

DBNs

Deal

Bottcher et al

R

-

-

G

Y

Y

Y

N

0

D

None

Structure learning.

DeriveIt

DeriveIt LLC

N

-

-

?

?

Y

Y

?

$

D

Jtree, Gibbs

Exploits local structure in CPDs.

Elvira

Elvira consortium (Spain)

Java

Y

W,U,M

Cd,Cx

Y

Y

Y

Y

0

D

JTree,varelim,IS

"Also includes classification, abductive inference and model fusion"

Ergo

Noetic systems

N

Y

W,M

D

Y

N

N

N

$

D

jtree

-

GDAGsim

Wilkinson (U. Newcastle)

C

Y

WUM

G

N

N

N

N

0

D

Exact

Bayesian analysis of large linear Gaussian directed models.

GeNIe and SMILE

Decision Systems Laboratory, University of Pittsburgh

SMILE wrappers only

Y

W,U,M,other

Cs,equations

W,U,M

Y

Y

Y

free

D

JTree,sampling

DBNs, support for diagnostic applications

GGM

West et al (Duke)

C++

-

-

G

N

Y

Y

N

0

U

SL

MCMC and stochastic search for structure learning of GGMs

GMRFsim

Rue (U. Trondheim)

C

Y

WUM

G

N

N

N

N

0

U

MCMC

Bayesian analysis of large linear Gaussian undirected models.

GMTk

Bilmes (UW), Zweig (IBM)

N

Y

U

D

N

Y

Y

N

0

D

Jtree

Designed for speech recognition.

gR

Lauritzen et al.

R

-

-

-

-

-

-

-

0

-

-

Various packages

Grappa

Green (Bristol)

R

-

-

D

N

N)

N

N

0

D

Jtree

-

HdBCS

Dobra et al (Washington)

C++

-

-

G

N

Y

Y

N

0

U

SL

stochastic search for structure learning of GGMs

Hugin Expert

Hugin

N

Y

W

G

W

Y

CI

Y

$

CG

Jtree

-

Hydra

Warnes

Java

-

-

Cs

Y

Y

N

N

0

U,D

MCMC

-

Infer.NET

John Winn, Tom Minka

C#

Y

Y

Y

N

Y

N

N

0

Y

VMP, EP, Gibbs

Bayesian parameter estimation as well

JAGS

Martyn Plummer

Java

Y

-

Y

N

Y

N

N

0

Y

Gibbs

Similar to BUGS

Java Bayes

Cozman (CMU)

Java

Y

WUM

D

Y

N

N

Y

0

D

Varelim, jtree

-

LibB

Friedman (Hebrew U)

N

Y

W

D

N

Y

Y

N

0

D

SL

Structure learning

MIM

HyperGraph Software

N

N

W

G

Y

Y

Y

N

$

CG

Jtree

Up to 52 variables.

MSBNx

Microsoft

N

Y

W

D

W

N

N

Y

0

D

Jtree

-

Netica

Norsys

N

WUM

W

G

W

Y

N

Y

$

D

jtree

-

Bayes net learner

Moore, Wong (CMU)

N

N

W,U

D

N

Y

Y

N

0

D

SL

optimal reinsertion algorithm

PMT

Pavlovic (BU)

Matlab/C

-

-

D

N

Y

N

N

0

D

special purpose

-

PNL

Eruhimov (Intel)

C++

-

-

D

N

Y

Y

N

0

U,D

Jtree

A C++ version of BNT; will be released 12/03.

Pulcinella

IRIDIA

Lisp

Y

WUM

D

Y

N

N

N

0

D

?

Uses valuation systems for non-probabilistic calculi.

RISO

Dodier (U.Colorado)

Java

Y

WUM

G

Y

N

N

N

0

D

Polytree

Distributed implementation.

Sam Iam

Darwiche (UCLA)

N

N ?

WU ? (Java executable)

G ?

Y

Y

N ?

Y

0

D

Recursive conditioning

Also does sensitivity Analysis

LADR

Structured Data

N

Y

-

Cd

N

N

Y

N

$

D

none

"Structure learning of massive static or dynamic networks"

Tetrad

CMU

N

N

WU

G

N

Y

CI

N

0

U,D

SL

-

UC Irvine

Dechter (UCI)

Y

N

W,U

D

N

N

N

N

0

UD

AND/OR Search

Bucket Elimination, AND/OR search for P(evidence), MPE in Bayesian networks

UnBBayes

Mario Vieira et al

Java

-

-

D

Y

N

Y

N

0

D

jtree

K2 for struct learning

Vibes

Winn (MSR Cambridge)

Java

Y

WU

Cx

Y

Y

N

N

0

D

VMP

 

WinMine

Microsoft

N

N

W

Cx

Y

Y

Y

N

0

U,D

SL

Learns BN or dependency net structure.

XBAIES 2.0

Cowell (City U.)

N

N

W

G

Y

Y

N

Y

0

CG

Jtree

-

                           

Other sites related to (software for) graphical models

  • Google's list of Bayes net software.
  • Comparison of decision analysis software packages by Han L. Younes. The emphasis is on real-time decision making.
  • Older belief net programs (c 1996), a list created (but no longer maintained) by Russ Almond.
  • Repository of Bayes nets.

 

你可能感兴趣的:(java,Algorithm,网络,Microsoft,图形,structure)