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