|Contact:||sorenh at math.aau.dk|
|Contributions:||Suggestions and improvements for this task view are very welcome and can be made through issues or pull requests on GitHub or via e-mail to the maintainer address. For further details see the Contributing guide.|
|Citation:||Soren Hojsgaard (2023). CRAN Task View: Graphical Models. Version 2023-04-05. URL https://CRAN.R-project.org/view=GraphicalModels.|
|Installation:||The packages from this task view can be installed automatically using the ctv package. For example, |
A graphical model or probabilistic graphical model (PGM) or structured probabilistic model is a probabilistic model for which a graph expresses the conditional dependence 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.
Notice that Structural Equation Models (SEM) packages are in a sense also graphical models. However, SEM packages are not presented here but are they have their own section in the Psychometrics task view.
The packages can be roughly structured into the following topics (although several of them have functionalities which go across these categories):
abn: Modelling Multivariate Data with Additive Bayesian Networks. An additive Bayesian network model consists of a form of a DAG where each node comprises a generalized linear model, GLM. Additive Bayesian network models are equivalent to Bayesian multivariate regression using graphical modelling, they generalises the usual multivariable regression, GLM, to multiple dependent variables. ‘abn’ provides routines to help determine optimal Bayesian network models for a given data set, where these models are used to identify statistical dependencies in messy, complex data.
SEMID: Identifiability of Linear Structural Equation Models. Provides routines to check identifiability or non-identifiability of linear structural equation models as described in Drton, Foygel, and Sullivant (2011) doi:10.1214/10-AOS859, Foygel, Draisma, and Drton (2012) doi:10.1214/12-AOS1012, and other works. The routines are based on the graphical representation of structural equation models.
BDgraph: Bayesian Graph Selection Based on Birth-Death MCMC Approach. Bayesian inference for structure learning in undirected graphical models. The main target is to uncover complicated patterns in multivariate data wherein either continuous or discrete variables.
bnclassify: Learning Discrete Bayesian Network Classifiers from Data. State-of-the art algorithms for learning discrete Bayesian network classifiers from data, including a number of those described in Bielza and Larranaga (2014) with functions for prediction, model evaluation and inspection. The package implements a number of structure-learning algorithms, with both discriminative and generative network scores, and a number of naive Bayes-specific parameter estimation methods, such as the Model Averaged Naïve Bayes. Prediction with complete data is rather fast, allowing for discriminative scores for structure learning with moderately sized-data sets (e.g. the splice data set, with 61 variables and 3190 instances in ~100 seconds on my machine). There is a number of utility functionalities, such as cross-validation.
bnstruct: Bayesian Network Structure Learning from Data with Missing Values. Bayesian Network Structure Learning from Data with Missing Values. The package implements the Silander-Myllymaki complete search, the Max-Min Parents-and-Children, the Hill-Climbing, the Max-Min Hill-climbing heuristic searches, and the Structural Expectation-Maximization algorithm. Available scoring functions are BDeu, AIC, BIC. The package also implements methods for generating and using bootstrap samples, imputed data, inference.
deal: Learning Bayesian Networks with Mixed Variables Bayesian networks with continuous and/or discrete variables can be learned and compared from data.
FBFsearch: Algorithm for searching the space of Gaussian directed acyclic graphical models through moment fractional Bayes factors
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.
gRc: Inference in Graphical Gaussian Models with Edge and Vertex Symmetries Estimation, model selection and other aspects of statistical inference in Graphical Gaussian models with edge and vertex symmetries (Graphical Gaussian models with colours).
gRim: Graphical Interaction Models. Provides the following types of models: Models for contingency tables (i.e. log-linear models) Graphical Gaussian models for multivariate normal data (i.e. covariance selection models) Mixed interaction models.
huge: High-dimensional Undirected Graph Estimation.
lvnet: Latent Variable Network Modeling. Estimate, fit and compare Structural Equation Models (SEM) and network models (Gaussian Graphical Models; GGM) using OpenMx. Allows for two possible generalizations to include GGMs in SEM: GGMs can be used between latent variables (latent network modeling; LNM) or between residuals (residual network modeling; RNM).
MXM: Feature Selection (Including Multiple Solutions) and Bayesian Networks.
networkDynamic: Dynamic Extensions for Network Objects. Simple interface routines to facilitate the handling of network objects with complex intertemporal data. “networkDynamic” is a part of the “statnet” suite of packages for network analysis.
ndtv: Network Dynamic Temporal Visualizations. Renders dynamic network data from ‘networkDynamic’ objects as movies, interactive animations, or other representations of changing relational structures and attributes.
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.
spectralGraphTopology: The package provides estimators to learn k-component, bipartite, and k-component bipartite graphs from data by imposing spectral constraints on the eigenvalues and eigenvectors of the Laplacian and adjacency matrices. Those estimators leverages spectral properties of the graphical models as a prior information, which turn out to play key roles in unsupervised machine learning tasks such as community detection.
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.
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: doi:10.18637/jss.v046.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 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 programmatic capabilities of R. Notice: RHugin is NOT on CRAN. Link: http://rhugin.r-forge.r-project.org/
pchc Bayesian Network Learning with the PCHC and Related Algorithms. Bayesian network learning using the PCHC algorithm. PCHC stands for PC Hill-Climbing, a new hybrid algorithm that uses PC to construct the skeleton of the BN and then applies the Hill-Climbing greedy search.
|Regular:||abn, backbone, bayesmix, BDgraph, bnclassify, bnlearn, bnstruct, boa, BRugs, coda, dclone, deal, diagram, DiagrammeR, ergm, FBFsearch, GeneNet, ggm, gRain, gRc, gRim, huge, igraph, lvnet, mgm, MXM, ndtv, network, networkDynamic, pcalg, pchc, qgraph, R2OpenBUGS, R2WinBUGS, rjags, SEMID, sna, spectralGraphTopology.|