Biology Reference
In-Depth Information
> INT = sapply(1:11, function(x) {
+ which(isachs$INT == x) })
> nodes = names(isachs)[1:11]
> names(INT) = nodes
Given such a list, we can then pass it to
tabu
as an additional argument for
mbde
.
In addition, we can combine the use of
mbde
with model averaging and random
starting points as discussed in Sect.
2.5.1
. To improve the stability of the averaged
network, we generate the set of the starting networks for the tabu searches using the
algorithm from
Melan¸on et al.
(
2001
), which is not limited to connected networks
as the one from
Ide and Cozman
(
2002
). In addition, we actually use only one
generated network every 100 to obtain a more diverse set.
> start = random.graph(nodes = nodes,
+ method = "melancon", num = 500, burn.in = 10ˆ5,
+ every = 100)
> netlist = lapply(start, function(net) {
+ tabu(isachs[, 1:11], score = "mbde", exp = INT,
+ iss = 10, start = net, tabu = 50) })
> arcs = custom.strength(netlist, nodes = nodes)
> bn.mbde = averaged.network(arcs, threshold = 0.85)
As we can see from Fig.
2.10
,
bn.mbde
is much closer to the validated network
from
Sachs et al.
(
2005
) than any of the other networks learned in this section. All
the arcs from the validated network are correctly learned, even though a few are
reversed. The arcs from
bn.mbde
that are not present in the validated networks
were identified in the original paper and discarded due to their comparatively low
strength; this may imply that the simulated annealing algorithm used in
Sachs et al.
(
2005
) performs better on this data set than tabu search.
Exercises
2.1.
Consider the
asia
synthetic data set from
Lauritzen and Spiegelhalter
(
1988
),
which describes the diagnosis of a patient at a chest clinic who has just come back
from a trip to Asia and is showing dyspnea.
(a) Load the data set from the
bnlearn
package and investigate its characteristics
using the exploratory analysis techniques covered in Chap.
1
.
(b) Create a
bn
object with the network structure described in the manual page of
asia
.
(c) Derive the skeleton, the moral graph, and the CPDAG representing the equiva-
lence class of the network. Plot them using
graphviz.plot
.
(d) Identify the parents, the children, the neighbors, and the Markov blanket of each
node.
Search WWH ::
Custom Search