  Sensitivity analysis measures the influence of a Bayesian network's
parameters on a quantity of interest defined by the network, such as the
probability of a variable taking a specific value. Various sensitivity measures
have been defined to quantify such influence, most commonly some function of
the quantity of interest's partial derivative with respect to the network's
conditional probabilities. However, computing these measures in large networks
with thousands of parameters can become computationally very expensive. We
propose an algorithm combining automatic differentiation and exact inference to
efficiently calculate the sensitivity measures in a single pass. It first
marginalizes the whole network once, using e.g. variable elimination, and then
backpropagates this operation to obtain the gradient with respect to all input
parameters. Our method can be used for one-way and multi-way sensitivity
analysis and the derivation of admissible regions. Simulation studies highlight
the efficiency of our algorithm by scaling it to massive networks with up to
100'000 parameters and investigate the feasibility of generic multi-way
analyses. Our routines are also showcased over two medium-sized Bayesian
networks: the first modeling the country-risks of a humanitarian crisis, the
second studying the relationship between the use of technology and the
psychological effects of forced social isolation during the COVID-19 pandemic.
An implementation of the methods using the popular machine learning library
PyTorch is freely available.
