untitled

(ff) #1
14.3 Constructing Bayesian Networks 351

14.3.6 Validating and Revising BNs


Testing and validation have always been accepted as an important part of
any development activity. This is especially true for BNs. BNs have the ad-
vantage that there is a well-developed, sophisticated mechanism for testing
hypotheses about PDs. However, this is also a disadvantage because statis-
tical hypothesis testing generally requires more than one test case, and even
with a large sample of test cases the result of a test can be equivocal. A BN
test case is usually a specific example of a stochastic inference.
There are several techniques for validating BNs:


  1. Test cases. When there are special cases whose answer is known, one can
    perform the inference and check that the result is close to the expected
    answer.

  2. Sensitivity analysis. This technique determines the impact of inaccura-
    cies of the CPD entries by systematically varying them and recording the
    effects on test cases. As one might expect, different CPD entries of BNs can
    have very different sensitivities (Henrion et al. 1996; Pradhan et al. 1996).
    Sensitivity analysis can also be used to focus attention on the probabilities
    that need to be determined more accurately.

  3. Uncertainty analysis. In this technique, all of the probabilities are varied
    simultaneously by choosing each one from a prespecified distribution that
    reflects their uncertainties. One then records the effects on test cases. This
    technique can determine the overall reliability of a BN. However, it yields
    less insight into the effect of separate probabilities than is the case for
    sensitivity analysis.

  4. Consistency checking. If a BN was developed using components as in
    the OOBN methodology, then one can check that the components have
    been used correctly. Software development tools make extensive use of
    this technique, which is called “type checking.”


When an evaluation of a BN fails, the BN must be modified. Usually all
that is necessary is to change one or more of the CPDs. However, some-
times testing uncovers previously unsuspected dependencies, and the BN
structure must be changed. One can design a BN by starting with some
simple structure and then revising the design to make it more accurate or
simpler. This is the approach developed by Helsper and van der Gaag (2001,
2002). This methodology uses an ontology as the starting point, as in sub-
Free download pdf