Biology Reference
In-Depth Information
> arth.net = extract.network(arth.edges,
+ method.ggm = "prob", cutoff.ggm = 0.05)
Another approach for dynamic Bayesian network learning is implemented in
the G1DBN package ( Lebre , 2008 ). To illustrate it, we will use the copy of the
arth800 data set included in G1DBN under the name arth800line . We choose
a subset of this data set to obtain arth12 .
> library(G1DBN)
> data(arth800line)
> subset = c(60, 141, 260, 333, 365, 424, 441, 512,
+ 521, 578, 789, 799)
> arth12 = as.matrix(arth800line[, subset])
Learning is performed in two steps as described in Sect. 3.3.3 . First, we learn the
graph G ( 1 ) encoding the first-order partial dependencies with the DBNScoreStep1
function.
> step1 = DBNScoreStep1(arth12, method = "ls")
The object returned by DBNScoreStep1 is a list that contains, among other quan-
tities of interest, the matrix of the scores for the first-order dependencies. Part of
that matrix is shown below; as can be seen even from these few entries, it is not
symmetric in general.
> round(step1$S1ls, 2)[1:6, 1:6]
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0.96 0.99 0.95 0.98 0.95 0.95
[2,] 0.60 0.97 0.92 0.79 0.92 0.08
[3,] 0.82 0.91 0.87 0.97 0.83 0.97
[4,] 0.86 0.93 0.98 0.91 0.77 0.44
[5,] 0.99 0.99 0.97 0.69 0.93 0.57
[6,] 0.97 0.97 0.98 0.97 0.92 0.38
Starting from the step1 object, we can identify which arcs are significant for a
given threshold with the BuildEdges function.
> edgesG1 = BuildEdges(score = step1$S1ls,
+
threshold = 0.50, prec = 6)
> nrow(edgesG1)
[1] 27
In the second step, we learn with DBNScoreStep2 the real structure G of
the dynamic Bayesian network, that is, the one encoding the full-order conditional
dependencies of the data.
> step2 = DBNScoreStep2(step1$S1ls, data = arth12,
+ method = "ls", alpha1 = 0.50)
Subsequently, we can identify which arcs are significant in this new network with
BuildEdges and a more stringent threshold than the one we used in the first
step.
Search WWH ::




Custom Search