
144 Bayesian Networks: With Examples in R
Algorithm 6.1 Hartemink’s Information-Preserving Discretisation
1. Discretise each variable independently using quantile discretisation
and a large number k
1
of intervals, e.g., k
1
= 50 or even k
1
= 100.
2. Repeat the following steps until each variable has k
2
≪ k
1
intervals,
iterating over each variable X
i
, i = 1, . . . , p in turn:
(a) compute
M
X
i
=
X
j6=i
MI(X
i
, X
j
);
(b) for each pair l of adjacent intervals of X
i
, collapse them in a
single interval, and with the resulting variable X
∗
i
(l) compute
M
X
∗
i
(l)
=
X
j6=i
MI(X
∗
i
(l), X
j
);
(c) set X
i
= argmax
X
i
(l)
M
X
∗
i
(l)
.
In the case of Sachs et al. (2005), such information was indeed ...