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=1 if there is a link between notes i and j, otherwise aij=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")
## Not run:# Generating multivariate normal data from a 'random' graphdata.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 resultscompare( sample.ggm, data.sim, main = c("True","GGM"), vis =TRUE)# Running sampling algorithm based on GCGMssample.gcgm <- bdgraph( data = data.sim, method ="gcgm", iter =10000)# Comparing GGM and GCGM methodscompare( list( sample.ggm, sample.gcgm ), data.sim, main = c("True","GGM","GCGM"), vis =TRUE)## End(Not run)