bnmonitor
is a package for sensitivity analysis and
robustness in Bayesian networks (BNs). If you use the package in your
work please consider citing it as
citation("bnmonitor")
#> To cite package 'bnmonitor' in publications use:
#>
#> Leonelli M, Ramanathan R, Wilkerson RL (2023). "Sensitivity and
#> robustness analysis in Bayesian networks with the bnmonitor R
#> package." _Knowledge-Based Systems_, *278*, 110882.
#> doi:10.1016/j.knosys.2023.110882
#> <https://doi.org/10.1016/j.knosys.2023.110882>.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Article{,
#> title = {Sensitivity and robustness analysis in {Bayesian} networks with the bnmonitor R package},
#> author = {Manuele Leonelli and Ramsiya Ramanathan and Rachel L. Wilkerson},
#> journal = {Knowledge-Based Systems},
#> year = {2023},
#> volume = {278},
#> pages = {110882},
#> doi = {10.1016/j.knosys.2023.110882},
#> }
The package bnmonitor
can be installed from CRAN using
the command
install.packages("bnmonitor")
and loaded in R with
library(bnmonitor)
#> Warning: package 'bnmonitor' was built under R version 4.3.3
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")
::install(c("graph", "Rgraphviz", "RBGL"))
BiocManagerinstall.packages("gRain")
bnmonitor
provides a suite of function to investigate
either a data-learnt or an expert elicited BN. Its functions can be
classified into the following main areas:
Parametric sensitivity analysis: Investigate the effect of changes in some of the parameter values in a Bayesian network and quantify the difference between the original and perturbed Bayesian networks using dissimilarity measures (both for discrete and Gaussian BNs).
Robustness to data: Verify how well a Bayesian network fits a specific dataset that was used either for learning or for testing (only for discrete BNs).
Node influence: Quantify how much the nodes of a Bayesian network influence an output node of interest (only for discrete BNs).
Edge strength: Assess the strength of the edges of a Bayesian network (only for discrete BNs).
Other investigations: Including the diameter of the conditional probability tables, measures of asymmetric independence, and level amalgamation.
Refer to the articles section for case studies showcasing the use of
the bnmonitor
functions.
Görgen, C., & Leonelli, M. (2020). Model-preserving sensitivity analysis for families of Gaussian distributions. Journal of Machine Learning Research, 21(84), 1-32.
Leonelli, M., & Riccomagno, E. (2022). A geometric characterization of sensitivity analysis in monomial models. International Journal of Approximate Reasoning, 151, 64-84.
Leonelli, M., Ramanathan, R., & Wilkerson, R. L. (2023). Sensitivity and robustness analysis in Bayesian networks with the bnmonitor R package. Knowledge-Based Systems, 278, 110882.
Leonelli, M., Smith, J. Q., & Wright, S. K. (2024). The diameter of a stochastic matrix: A new measure for sensitivity analysis in Bayesian networks. arXiv preprint arXiv:2407.04667.