| confusion | R Documentation |
Two adjacency matrices are compared either in terms of adjacencies
(type = "adj") or orientations (type = "dir").
confusion(est_amat, true_amat, type = "adj")
est_amat |
The estimated adjacency matrix, or |
true_amat |
The true adjacency matrix, or |
type |
String indicating whether the confusion matrix should be computed for adjacencies
( |
Adjacency comparison: The confusion matrix is a cross-tabulation
of adjacencies. Hence, a true positive means that the two inputs agree on
the presence of an adjacency. A true negative means that the two inputs agree
on no adjacency. A false positive means that est_amat places an adjacency
where there should be none. A false negative means that est_amat does
not place an adjacency where there should have been one.
Orientation comparison: The orientation confusion matrix is conditional on agreement on adjacency. This means that only adjacencies that are shared in both input matrices are considered, and agreement wrt. orientation is then computed only among these edges that occur in both matrices. A true positive is a correctly placed arrowhead (1), a false positive marks placement of arrowhead (1) where there should have been a tail (0), a false negative marks placement of tail (0) where there should have been an arrowhead (1), and a true negative marks correct placement of a tail (0).
A list with entries $tp (number of true positives), $tn (number of true negatives),
$fp (number of false positives), and $tp (number of false negatives).
#############################################################################
# Compare two adjacency matrices ############################################
#############################################################################
x1 <- matrix(c(0, 0, 0, 0,
1, 0, 1, 0,
1, 0, 0, 0,
0, 0, 1, 0), 4, 4, byrow = TRUE)
x2 <- matrix(c(0, 0, 1, 0,
1, 0, 0, 0,
0, 0, 0, 0,
1, 0, 1, 0), 4, 4, byrow = TRUE)
# confusion matrix for adjacencies
confusion(x2, x1)
# confusion matrix for conditional orientations
confusion(x2, x1, type = "dir")
#############################################################################
# Compare estimated cpdag with true adjacency matrix ########################
#############################################################################
# simulate DAG adjacency matrix and Gaussian data
set.seed(123)
x3 <- matrix(c(0, 0, 0, 0,
1, 0, 1, 0,
0, 0, 0, 0,
0, 0, 1, 0), 4, 4, byrow = TRUE)
ex_data <- simGausFromDAG(x3, n = 50)
pcres <- pc(ex_data, sparsity = 0.1, test = corTest)
# compare adjacencies with true amat (x1)
confusion(pcres, x3)
# compare conditional orientations with true amat
confusion(pcres, x1, type = "dir")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.