# bnmonitor

`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).