# strength of the arcs present in x.
arc.strength(x, data, criterion = NULL, ..., debug = FALSE)
# strength of all possible arcs, as learned from bootstrapped data.
boot.strength(data, R = 200, m = nrow(data),
algorithm, algorithm.args = list(), cpdag = TRUE, debug = FALSE)
# strength of all possible arcs, from a list of custom networks.
custom.strength(networks, nodes, weights = NULL, cpdag = TRUE, debug = FALSE)# averaged network structure.
averaged.network(strength, nodes, threshold)
bn
.bn
or arc sets (matrices or data frames with two columns, optionally
labeled "from" and "to").bn.strength
, see below.threshold
attribute of the strength
argument.averaged.network
, it defaults to
the set of the unique node labels in the strength
argument.bootstrap
.
See bnlearn-package
for details on the first two
possibilities.NULL
, weights are assumed to be
uniform.TRUE
the (PDAG of) the
equivalence class is used instead of the network structure
itself. It should make it easier to identify score-equivalent
arcs.gs
,
iamb
, fast.iamb
, inter.iamb
, mmpc
,
hc
, tabu
criterion
is the label of a score function, see
score
for details), the conditional independence test
(currently the only one isTRUE
a lot of debugging output
is printed; otherwise the function is completely silent.arc.strength
, boot.strength
and custom.strength
return an object of class bn.strength
; boot.strength
and custom.strength
also include information about the relative
probabilities of arc directions. averaged.network
returns an object of class bn
.
See bn.strength class
and bn-class
for details.
criterion
is a conditional independence test, the strength
is a p-value (so the lower the value, the stronger the relationship).
The only possible additional parameter is B
, the number of
permutations to be generated for each permutation test. If criterion
is the label of a score function, the strength is
measured by the score gain/loss which would be caused by the arc's
removal. There may be additional parameters depending on the choice
of the score, see score
for details.
If criterion
is bootstrap
, the strength is computed as
in boot.strength
. The additional parameters are R
,
m
, algorithm
and algorithm.args
; if the latter two
are not specified, the values stored in x
are used.
Model averaging is supported for objects of class bn.strength
returned by boot.strength
, by custom.strength
,
or by arc.strength
with criterion
set to
bootstrap
. The returned network contains the arcs whose strength
is greater than the threshold
attribute of the bn.strength
object passed to averaged.network
.
Friedman N, Goldszmidt M, Wyner A (1999). "Data Analysis with Bayesian Networks: A Bootstrap Approach". In "UAI '99: Proceedings of the 15th Annual Conference on Uncertainty in Artificial Intelligence", pp. 196-201. Morgan Kaufmann.
for the computation of the strength (confidence) significance threshold:
Scutari M, Nagarajan R (2011). "On Identifying Significant Edges in Graphical Models". In "Proceedings of the Workshop 'Probabilistic Problem Solving in Biomedicine' of the 13th Artificial Intelligence in Medicine (AIME) Conference", pp. 15-27.
strength.plot
, choose.direction
,
score
, ci.test
.data(learning.test)
res = gs(learning.test)
res = set.arc(res, "A", "B")
arc.strength(res, learning.test)
arcs = boot.strength(learning.test, algorithm = "hc")
arcs[(arcs$strength > 0.85) & (arcs$direction >= 0.5), ]
averaged.network(arcs)
start = random.graph(nodes = names(learning.test), num = 50)
netlist = lapply(start, function(net) {
hc(learning.test, score = "bde", iss = 10, start = net) })
arcs = custom.strength(netlist, nodes = names(learning.test),
cpdag = FALSE)
arcs[(arcs$strength > 0.85) & (arcs$direction >= 0.5), ]
modelstring(averaged.network(arcs))
Run the code above in your browser using DataLab