bnmonitor is a package for sensitivity analysis and robustness in Bayesian networks (BNs).
Installation
The package bnmonitor can be installed from CRAN using the command
install.packages("bnmonitor")and loaded in R with
Note that bnmonitor requires the package gRain which, while on CRAN, depends on packages that are on Bioconductor both directly and through the gRbase package, which depends on RBGL:
install.packages("BiocManager")
BiocManager::install(c("graph", "Rgraphviz", "RBGL"))
install.packages("gRain")Overview
bnmonitor provides a suite of function to investigate either a data-learnt or an expert elicited BN. Its functions can be classified into three main areas:
- Robustness in discrete BNs: checking how well a BN represents a dataset;
- Sensitivity in discrete BNs: assessing the effect of changes in the discrete BN’s probabilities;
- Sensitivity in continuous BNs: assessing the effect of changes in the continuous BN’s probabilities, either in the standard or model-preserving framework
Refer to the articles section for guidance on each of these areas.
Papers where bnmonitor is used
Görgen, Christiane, and Manuele Leonelli. “Model-Preserving Sensitivity Analysis for Families of Gaussian Distributions.” J. Mach. Learn. Res. 21 (2020): 84-1.
Leonelli, Manuele, and Eva Riccomagno. “A geometric characterisation of sensitivity analysis in monomial models.” arXiv preprint arXiv:1901.02058 (2018).
Leonelli, Manuele, Ramsiya Ramanathan, and Rachel L. Wilkerson. “Sensitivity and robustness analysis in Bayesian networks with the bnmonitor R package.” arXiv preprint arXiv:2107.11785 (2021).