Given an ssjgl fit object and the true adjacency/precision matrices, computes edge-level metrics (TPR, FPR, AUC) and estimation error (Frobenius norm, KL divergence).
Arguments
- fit
An object of class
ssjgl.- true_adj
List of K binary adjacency matrices (true graph structure).
- true_omega
List of K true precision matrices. Default
NULL.- v0_index
Integer index into the v0 ladder. Default
NULLuses the last step.- threshold
Threshold for binarizing edge probabilities. Default 0.5.
Value
A list with elements:
- per_group
List of K sublists, each with TP, FP, TN, FN, TPR, FPR, precision, F1, frobenius_norm, and KL_divergence.
- roc
List of K ROC objects (from
roc_auc).- overall
Named list with mean TPR, mean FPR, mean AUC across groups.
Details
The edge indicator in SSJGL is shared by all groups, so every group is scored with the same PIP matrix (against its own true graph).
Examples
sim <- simulate_ssjgl_data(K = 2, p = 10, n = 50, seed = 1)
fit <- ssjgl(sim$data_list, penalty = "fused",
lambda0 = 1, lambda1 = 0.5, lambda2 = 0.5,
v0s = 0.01, maxitr.em = 10, impute = FALSE)
m <- compute_metrics(fit, sim$adj_list, sim$Omega_list)
m$overall
#> $mean_TPR
#> [1] 0.9428105
#>
#> $mean_FPR
#> [1] 0.3452381
#>
#> $mean_AUC
#> [1] 0.8783112
#>