Wikipedia
defines a graphical model as follows:
A graphical model is a
probabilistic model for which a graph denotes the conditional
independence structure between random variables. They are commonly
used in probability theory, statistics - particularly Bayesian
statistics and machine learning.
A supplementary view is that graphical models are based on
exploiting conditional independencies for constructing complex
stochastic models with a modular structure. That is, a complex
stochastic model is built up by simpler building blocks.
This task view is a collection of packages intended to supply R code
to deal with graphical models.
The packages can be roughly structured into the following topics
(although several of them have functionalities which go across these categories):
Representation, manipulation and display of graphs
-
diagram
Visualises simple graphs (networks) based on a transition matrix,
utilities to plot flow diagrams, visualising webs, electrical
networks, ...
-
dynamicGraph
Interactive graphical tool for manipulating graphs
-
giRaph
Supply classes and methods to represent and manipulate graphs
-
graph
A package that implements some simple graph handling capabilities.
-
gRbase
The gRbase package provides certain general constructs which are used
by other graphical modelling packages. This includes 1) the
concept of gmData (graphical meta data), 2) several graph
algorithms 3) facilities for table operations, 4) functions for
testing for conditional independence. gRbase also illustrates
how hierarchical log-linear models (hllm) may be implemented.
-
igraph
Routines for simple graphs, network analysis.
-
mathgraph
Simple tools for constructing and manipulating objects of class
mathgraph from the book "S Poetry", available at
http://www.burns-stat.com/pages/spoetry.html
-
network
Tools to create and modify network objects. The network class can
represent a range of relational data types, and supports arbitrary
vertex/edge/graph attributes.
-
Rgraphviz
Provides plotting capabilities for R graph objects.
-
RBGL
A fairly extensive and comprehensive interface to the graph algorithms contained in the BOOST library.
(based on graph
objects from the
graph
package).
Classical models - General purpose packages
-
ggm
Fitting graphical Gaussian models.
-
gRbase
The gRbase package provides certain general constructs
which are used by other graphical modelling packages (in
particular by
gRain).
This includes 1) the concept of gmData (graphical meta
data), 2) several graph algorithms 3) facilities for
table operations, 4) functions for testing for
conditional independence. gRbase also illustrates how
hierarchical log-linear models (hllm) may be
implemented.
Link:
http://www.jstatsoft.org/v14/i17/
-
gRim
Implements graphical interaction models for contingency tables
(i.e. log-linear models) and graphical Gaussian models for the
multivariate normal data (i.e. covariance selection models) and
mixed interaction models.
-
gRapHD
Package for selecting and fitting high-dimensional graphical
models for discrete, Gaussian, or mixed discrete and Gaussian
data.
Link:
http://www.jstatsoft.org/v37/i01/
Miscellaneous: Model search, specialized types of models etc.
-
catnet
A package that handles discrete Bayesian network models and provides
inference using the frequentist approach
-
GeneNet
Modeling and Inferring Gene Networks. GeneNet
is a package for analyzing gene expression (time series) data with
focus on the inference of gene networks.
-
parcor
The package estimates the matrix of partial correlations based on different regularized
regression methods: lasso, adaptive lasso, PLS, and Ridge Regression. In addition, the package
provides model selection for lasso, adaptive lasso and Ridge
regression based on
cross-validation.
-
gRc
Inference in graphical Gaussian models with edge and vertex
symmetries (Graphical Gaussian models with colours).
Link:
http://www.jstatsoft.org/v23/i06/
-
lcd
Learn Chain graphs via Decomposition.
Functions for learning chain graphs (and as a special case, Bayesian
networks) via the decomposition approach.
-
pcalg
Standard and robust estimation of the skeleton (ugraph) and the equivalence class
of a Directed Acyclic Graph (DAG) via the PC-Algorithm. The equivalence class is
represented by its (unique) Completed Partially Directed Acyclic Graph (CPDAG).
-
qp
This package is deprecated and it is now only a stub for the newer
version called qpgraph available through the Bioconductor
project. The q-order partial correlation graph search algorithm,
q-partial, or qp, algorithm for short, is a robust procedure for
structure learning of undirected Gaussian graphical Markov
models from "small n, large p" data, that is, multivariate
normal data coming from a number of random variables p larger
than the number of multidimensional data points n as in the case
of, e.g., microarray data.
-
qpgraph
q-order partial correlation graphs, or qp-graphs for short, are
undirected Gaussian graphical Markov models that represent
q-order partial correlations. They are useful for learning
undirected graphical Gaussian Markov models from data sets where
the number of random variables p exceeds the available sample
size n as, for instance, in the case of microarray data where
they can be employed to reverse engineer a molecular regulatory
network.
-
QUIC
Regularized sparse inverse covariance matrix estimation. Use
Newton's method and coordinate descent to solve the regularized
inverse covariance matrix estimation problem.
-
SIN
This package provides routines to perform SIN model selection as
described in Drton and Perlman (2004). The selected models are
represented in the format of the 'ggm' package, which allows in
particular parameter estimation in the selected model.
Bayesian Networks/Probabilistic expert systems
-
abn
A graphical modelling formulation is used to construct Bayesian
regression models for analyses of multivariate data.
-
bnlearn
Bayesian network structure learning via constraint-based (also known as
'conditional independence') and score-based algorithms. This package implements the
Grow-Shrink (GS) algorithm, the Incremental Association (IAMB) algorithm, the
Interleaved-IAMB (Inter-IAMB) algorithm, the Fast-IAMB (Fast-IAMB) algorithm, the
Max-Min Parents and Children (MMPC) algorithm and the Hill-Climbing (HC) greedy
search algorithm for both discrete and Gaussian networks, along with many score
functions and conditional independence tests. Some utility functions (model
comparison and manipulation, random data generation, arc orientation testing) are
also included.
-
deal
Learning Bayesian networks with mixed (discrete and continuous) variables.
-
gRain
A package for probability propagation in graphical
independence networks, also known as probabilistic
expert systems (which includes Bayesian networks as
a special case).
Link:
http://www.jstatsoft.org/v46/i10/
-
RHugin
The Hugin Decision Engine (HDE) is commercial software produced by
HUGIN EXPERT A/S for building and making inference from Bayesian
belief networks. The
RHugin
package (available from R-Forge, not CRAN) provides a suite of
functions allowing the HDE to be controlled from within the R
environment for statistical computing. The
RHugin
package can
thus be used to build Bayesian belief networks, enter and
propagate evidence, and to retrieve beliefs. Additionally, the
RHugin
package can read and write hkb and NET files, making it
easy to work simultaneously with both the
RHugin
package and the
Hugin GUI. A licensed copy of the HDE (or the trial version) is
required for the
RHugin
package to function, hence the target
audience for the package is Hugin users who would like to take
advantage of the statistical and programatic capabilities of R.
BUGS models
-
bayesmix
Bayesian mixture models of univariate Gaussian distributions using
JAGS.
-
dclone
Data Cloning and MCMC Tools for Maximum Likelihood Methods. Low
level functions for implementing maximum likelihood estimating
procedures for complex models using data cloning and Bayesian
Markov chain Monte Carlo methods with support for JAGS, WinBUGS
and OpenBUGS. Parallel MCMC computation is supported and can
result in considerable speed-up.
-
boa
boa: Bayesian Output Analysis Program (BOA) for MCMC. A
menu-driven program and library of functions for carrying out
convergence diagnostics and statistical and graphical analysis of
Markov chain Monte Carlo sampling output.
-
BRugs
BRugs: R interface to the OpenBUGS MCMC software.
Fully-interactive R interface to the OpenBUGS software for Bayesian
analysis using MCMC sampling. Runs natively and stably in 32-bit
R under Windows. Versions running on Linux and on 64-bit R under
Windows are in "beta" status and less efficient.
-
coda
coda: Output analysis and diagnostics for MCMC.
Output analysis and diagnostics for Markov Chain Monte Carlo simulations.
-
ergm
ergm: Fit, Simulate and Diagnose Exponential-Family Models for
Networks.
An integrated set of tools to analyze and simulate networks based on
exponential-family random graph models (ERGM). "ergm" is a part of
the
statnet
suite of packages for network analysis.
-
R2OpenBUGS
R2OpenBUGS: Running OpenBUGS from R.
Using this package, it is possible to call a BUGS model, summarize
inferences and convergence in a table and graph, and save the
simulations in arrays for easy access in R.
-
R2WinBUGS
Running WinBUGS and OpenBUGS from R / S-PLUS.
Using this package, it is possible to call a BUGS model, summarize
inferences and convergence in a table and graph, and save the
simulations in arrays for easy access in R / S-PLUS. In S-PLUS,
the openbugs functionality and the windows emulation functionality
is not yet available.
-
rbugs
Fusing R and OpenBugs.
Functions to prepare files needed for running BUGS in batch-mode, and
running BUGS from R. Support for Linux and Windows systems with
OpenBugs is emphasized.
-
rjags
rjags: Bayesian graphical models using MCMC.
Interface to the JAGS MCMC library.