compare function

Graph structure comparison

Graph structure comparison

This function provides several measures to assess the performance of the graphical structure learning.

compare( pred, actual, main = NULL, vis = FALSE )

Arguments

  • pred: adjacency matrix corresponding to an estimated graph. It can be an object with S3 class "bdgraph" from function bdgraph. It can be an object of S3 class "ssgraph", from the function ssgraph::ssgraph() of R package ssgraph::ssgraph(). It can be an object of S3 class "select", from the function huge.select of R package huge. It also can be a list of above objects for comparing two or more different approaches.
  • actual: adjacency matrix corresponding to the true graph structure in which aij=1a_{ij}=1 if there is a link between notes ii and jj, otherwise aij=0a_{ij}=0. It can be an object with S3 class "sim" from function bdgraph.sim. It can be an object with S3 class "graph" from function graph.sim.
  • main: character vector giving the names for the result table.
  • vis: logical: if TRUE, visualize the true graph and estimated graph structures.

Returns

  • True positive: number of correctly estimated links.

  • True negative: number of true non-existing links which is correctly estimated.

  • False positive: number of links which they are not in the true graph, but are incorrectly estimated.

  • False negative: number of links which they are in the true graph, but are not estimated.

  • F1-score: weighted average of the "positive predictive" and "true positive rate". The F1-score value reaches its best value at 1 and worst score at 0.

  • Specificity: Specificity value reaches its best value at 1 and worst score at 0.

  • Sensitivity: Sensitivity value reaches its best value at 1 and worst score at 0.

  • MCC: Matthews Correlation Coefficients (MCC) value reaches its best value at 1 and worst score at 0.

References

Mohammadi, R. and Wit, E. C. (2019). BDgraph: An R Package for Bayesian Structure Learning in Graphical Models, Journal of Statistical Software, 89(3):1-30, tools:::Rd_expr_doi("10.18637/jss.v089.i03")

Author(s)

Reza Mohammadi a.mohammadi@uva.nl , Antonio Abbruzzo, and Ivan Vujacic

See Also

bdgraph, bdgraph.mpl, bdgraph.sim, plotroc

Examples

## Not run: # Generating multivariate normal data from a 'random' graph data.sim <- bdgraph.sim( n = 50, p = 6, size = 7, vis = TRUE ) # Running sampling algorithm based on GGMs sample.ggm <- bdgraph( data = data.sim, method = "ggm", iter = 10000 ) # Comparing the results compare( sample.ggm, data.sim, main = c( "True", "GGM" ), vis = TRUE ) # Running sampling algorithm based on GCGMs sample.gcgm <- bdgraph( data = data.sim, method = "gcgm", iter = 10000 ) # Comparing GGM and GCGM methods compare( list( sample.ggm, sample.gcgm ), data.sim, main = c( "True", "GGM", "GCGM" ), vis = TRUE ) ## End(Not run)