Interpretability and trust: results¶
Generated by brainssl trust report from the audit files; the questions and the reading of each table are on the plan page.
Connectome classifier (ABIDE I)¶
Calibration, 5 × 10-fold cross-validation¶
Raw probabilities, and the same probabilities after a monotone recalibration fitted on other folds only. Slope 1 is calibrated; above 1 the predictions are too timid.
| Model | ECE | slope | Brier | ECE (recal.) | slope (recal.) | Brier (recal.) | bal. acc. | bal. acc. (recal.) |
|---|---|---|---|---|---|---|---|---|
| Noise-aware (ours) | 0.098 ± 0.005 | 2.44 ± 0.06 | 0.209 ± 0.001 | 0.041 ± 0.006 | 0.99 ± 0.00 | 0.193 ± 0.002 | 0.684 | 0.710 |
| Tangent space + LR | 0.092 ± 0.006 | 2.24 ± 0.05 | 0.209 ± 0.001 | 0.042 ± 0.007 | 0.99 ± 0.00 | 0.196 ± 0.002 | 0.687 | 0.708 |
| Log-Euclidean + LR | 0.090 ± 0.006 | 2.13 ± 0.05 | 0.207 ± 0.001 | 0.035 ± 0.007 | 0.99 ± 0.00 | 0.196 ± 0.002 | 0.690 | 0.702 |
| Correlation + LR | 0.054 ± 0.002 | 1.36 ± 0.05 | 0.203 ± 0.002 | 0.039 ± 0.011 | 0.98 ± 0.00 | 0.200 ± 0.003 | 0.690 | 0.690 |
Selective prediction, 5 × 10-fold cross-validation¶
Accuracy when only the most confident fraction of subjects is scored. excess is 0 for an ideal ranking of cases by confidence and 1 for a ranking no better than chance.
| Model | all subjects | most confident 80% | most confident 50% | excess |
|---|---|---|---|---|
| Noise-aware (ours) | 0.696 | 0.741 | 0.797 | 0.59 ± 0.03 |
| Tangent space + LR | 0.698 | 0.738 | 0.784 | 0.62 ± 0.02 |
| Log-Euclidean + LR | 0.701 | 0.740 | 0.789 | 0.63 ± 0.01 |
| Correlation + LR | 0.689 | 0.725 | 0.788 | 0.60 ± 0.02 |
Calibration, leave one site out¶
Raw probabilities, and the same probabilities after a monotone recalibration fitted on other folds only. Slope 1 is calibrated; above 1 the predictions are too timid.
| Model | ECE | slope | Brier | ECE (recal.) | slope (recal.) | Brier (recal.) | bal. acc. | bal. acc. (recal.) |
|---|---|---|---|---|---|---|---|---|
| Noise-aware (ours) | 0.097 ± 0.000 | 2.21 ± 0.00 | 0.212 ± 0.000 | 0.033 ± 0.000 | 0.96 ± 0.00 | 0.203 ± 0.000 | 0.686 | 0.694 |
| Tangent space + LR | 0.067 ± 0.000 | 1.51 ± 0.00 | 0.205 ± 0.000 | 0.042 ± 0.000 | 0.95 ± 0.00 | 0.204 ± 0.000 | 0.684 | 0.681 |
| Log-Euclidean + LR | 0.062 ± 0.000 | 1.53 ± 0.00 | 0.206 ± 0.000 | 0.036 ± 0.000 | 0.95 ± 0.00 | 0.205 ± 0.000 | 0.678 | 0.681 |
| Correlation + LR | 0.042 ± 0.000 | 1.15 ± 0.00 | 0.203 ± 0.000 | 0.054 ± 0.000 | 0.98 ± 0.00 | 0.202 ± 0.000 | 0.678 | 0.692 |
Selective prediction, leave one site out¶
Accuracy when only the most confident fraction of subjects is scored. excess is 0 for an ideal ranking of cases by confidence and 1 for a ranking no better than chance.
| Model | all subjects | most confident 80% | most confident 50% | excess |
|---|---|---|---|---|
| Noise-aware (ours) | 0.696 | 0.735 | 0.787 | 0.67 ± 0.00 |
| Tangent space + LR | 0.691 | 0.735 | 0.796 | 0.65 ± 0.00 |
| Log-Euclidean + LR | 0.685 | 0.729 | 0.782 | 0.65 ± 0.00 |
| Correlation + LR | 0.677 | 0.732 | 0.780 | 0.59 ± 0.00 |
Is the AUC a shortcut?¶
Classifiers that see only nuisance variables, on the same folds, against the connectome model.
| Inputs | AUC |
|---|---|
| only site | 0.573 ± 0.000 |
| only motion | 0.593 ± 0.000 |
| only age and sex | 0.484 ± 0.010 |
| only site, motion, age and sex | 0.606 ± 0.002 |
| connectome model, all subjects | 0.776 ± 0.004 |
| connectome model, inside sites | 0.799 ± 0.004 |
| connectome model, inside motion terciles | 0.770 ± 0.004 |
| connectome model, inside site and motion | 0.789 ± 0.005 |
Rank correlation of the model score with mean framewise displacement: controls 0.27 [0.17, 0.35], autism 0.32 [0.22, 0.40].
Subgroups¶
AUC of the noise-aware model inside each group (mean of the five repeats' out-of-fold probabilities). 18 of 20 sites have enough subjects in both classes to be scored; the interval excludes 0.5 for 13 of them. Worst site 0.503, median 0.797, best 0.896.
| site | subjects | autism | AUC [95% CI] |
|---|---|---|---|
| CALTECH | 15 | 5 | too few |
| CMU | 11 | 6 | too few |
| KKI | 33 | 12 | 0.817 [0.648, 0.958] |
| LEUVEN_1 | 28 | 14 | 0.571 [0.341, 0.802] |
| LEUVEN_2 | 28 | 12 | 0.896 [0.776, 0.988] |
| MAX_MUN | 46 | 19 | 0.503 [0.335, 0.675] |
| NYU | 172 | 74 | 0.839 [0.780, 0.895] |
| OHSU | 25 | 12 | 0.538 [0.279, 0.769] |
| OLIN | 28 | 14 | 0.786 [0.593, 0.947] |
| PITT | 50 | 24 | 0.804 [0.675, 0.920] |
| SBL | 26 | 12 | 0.595 [0.362, 0.811] |
| SDSU | 27 | 8 | 0.697 [0.488, 0.888] |
| STANFORD | 25 | 12 | 0.795 [0.603, 0.955] |
| TRINITY | 44 | 19 | 0.760 [0.608, 0.891] |
| UCLA_1 | 64 | 37 | 0.806 [0.693, 0.906] |
| UCLA_2 | 21 | 11 | 0.827 [0.611, 0.990] |
| UM_1 | 86 | 34 | 0.781 [0.676, 0.869] |
| UM_2 | 34 | 13 | 0.799 [0.612, 0.944] |
| USM | 67 | 43 | 0.828 [0.709, 0.934] |
| YALE | 41 | 22 | 0.864 [0.727, 0.969] |
| sex | subjects | autism | AUC [95% CI] |
|---|---|---|---|
| female | 144 | 54 | 0.826 [0.759, 0.888] |
| male | 727 | 349 | 0.767 [0.730, 0.800] |
| age | subjects | autism | AUC [95% CI] |
|---|---|---|---|
| middle third | 290 | 130 | 0.853 [0.807, 0.895] |
| oldest third | 290 | 135 | 0.769 [0.712, 0.821] |
| youngest third | 291 | 138 | 0.720 [0.661, 0.778] |
| motion | subjects | autism | AUC [95% CI] |
|---|---|---|---|
| least motion | 291 | 105 | 0.772 [0.713, 0.823] |
| middle third | 290 | 139 | 0.814 [0.764, 0.859] |
| most motion | 290 | 159 | 0.732 [0.672, 0.790] |
What the connectome classifier looks at¶
Weights are on log-connectivity features, so single entries are not read one by one. Strongest regions by summed absolute weight (node strength):
- cc200: Temporal_Mid_R (140) (0.29), Cuneus_R (81) (0.28), Temporal_Sup_R (66) (0.28), Temporal_Sup_R (107) (0.28), Temporal_Sup_R (153) (0.27), Temporal_Sup_L (129) (0.27)
- cc400: Temporal_Mid_R (341) (0.41), Frontal_Sup_L (129) (0.40), Temporal_Mid_R (52) (0.39), Temporal_Mid_R (364) (0.39), Temporal_Mid_L (243) (0.39), None (242) (0.38)
- aal: Temporal_Mid_L (0.53), Temporal_Mid_R (0.51), Hippocampus_R (0.51), Cingulum_Mid_R (0.47), Temporal_Inf_R (0.47), Occipital_Mid_R (0.47)
- ho: Right Middle Temporal Gyrus; anterior division (0.25), Right Middle Temporal Gyrus; posterior division (0.25), Left Temporal Fusiform Cortex; anterior division (0.25), Right Middle Temporal Gyrus; temporooccipital part (0.24), Left Lateral Occipital Cortex; superior division (0.24), Right Cuneal Cortex (0.24)
- dosenbach160: vmPFC (1) (0.26), inf temporal (63) (0.26), inf cerebellum (140) (0.25), IPL (107) (0.25), occipital (139) (0.25), occipital (137) (0.25)
Lobe blocks of the AAL atlas with the largest mean absolute weight per feature:
| block | mean abs. weight |
|---|---|
| insula R – subcortical R | 0.0058 |
| insula L – limbic L | 0.0056 |
| limbic R – temporal R | 0.0052 |
| insula L – temporal R | 0.0051 |
| occipital R – occipital R | 0.0051 |
| frontal R – insula L | 0.0051 |
| limbic L – temporal L | 0.0049 |
| limbic R – subcortical R | 0.0049 |
Stability under bootstrap refits¶
Refits on resamples of the subjects. top-100 overlap is the Jaccard overlap of the 100 strongest features between two refits; node strengths summarise the weights by region.
| atlas | refits | top-100 overlap | weight rank corr. | node strength rank corr. | node strength vs full fit | sign agreement, top 100 |
|---|---|---|---|---|---|---|
| aal | 30 | 0.12 | 0.62 | 0.44 | 0.65 | 1.00 |
| cc200 | 30 | 0.08 | 0.63 | 0.44 | 0.65 | 1.00 |
| dosenbach160 | 30 | 0.09 | 0.60 | 0.32 | 0.55 | 1.00 |
| ho | 30 | 0.10 | 0.61 | 0.46 | 0.66 | 1.00 |
Faithfulness: deleting the features an explanation names¶
Held-out AUC after setting a fraction of each subject's features to the training mean. The most supportive features are those pushing most towards the predicted class.
| atlas | deleted | no deletion | most supportive | random | least supportive |
|---|---|---|---|---|---|
| aal | 1% | 0.722 | 0.410 | 0.724 | 0.720 |
| aal | 5% | 0.722 | 0.382 | 0.718 | 0.708 |
| aal | 20% | 0.722 | 0.356 | 0.713 | 0.690 |
Tumour segmentation (BraTS)¶
Uncertainty, calibration and volumes¶
Spearman correlation of a scan's mean entropy with its error (1 − Dice); a positive value means the model is more uncertain on the scans it segments worse. ECE of the voxel probabilities is computed within five voxels of the predicted or true region.
| run | region | entropy vs error (ρ) | disagreement vs error (ρ) | risk-coverage excess | voxel ECE | volume bias (mL) | median relative volume error | volume correlation |
|---|---|---|---|---|---|---|---|---|
| ours_10pct | WT | 0.78 [0.67, 0.84] | 0.79 | 0.20 | 0.073 | -2.7 | 0.08 | 0.961 |
| ours_10pct | TC | 0.81 [0.72, 0.88] | 0.80 | 0.14 | 0.111 | 2.0 | 0.19 | 0.898 |
| ours_10pct | ET | 0.71 [0.56, 0.82] | 0.80 | 0.22 | 0.069 | 0.6 | 0.14 | 0.977 |
| scratch_10pct | WT | 0.83 [0.73, 0.89] | 0.83 | 0.14 | 0.071 | -1.3 | 0.09 | 0.960 |
| scratch_10pct | TC | 0.88 [0.82, 0.92] | 0.78 | 0.08 | 0.100 | -1.6 | 0.15 | 0.926 |
| scratch_10pct | ET | 0.84 [0.76, 0.89] | 0.82 | 0.13 | 0.072 | 0.2 | 0.14 | 0.973 |
| ours_100pct | WT | 0.76 [0.64, 0.83] | 0.81 | 0.24 | 0.059 | -2.4 | 0.07 | 0.976 |
| ours_100pct | TC | 0.84 [0.77, 0.89] | 0.87 | 0.09 | 0.077 | -1.0 | 0.11 | 0.957 |
| ours_100pct | ET | 0.76 [0.65, 0.83] | 0.78 | 0.18 | 0.062 | 0.8 | 0.12 | 0.979 |
| scratch_100pct | WT | 0.85 [0.78, 0.90] | 0.83 | 0.13 | 0.059 | -1.7 | 0.07 | 0.964 |
| scratch_100pct | TC | 0.86 [0.77, 0.92] | 0.80 | 0.08 | 0.083 | -2.3 | 0.11 | 0.951 |
| scratch_100pct | ET | 0.76 [0.64, 0.84] | 0.71 | 0.19 | 0.060 | -0.2 | 0.12 | 0.982 |
| mim_10pct | WT | 0.86 [0.77, 0.90] | 0.83 | 0.12 | 0.070 | -0.0 | 0.09 | 0.958 |
| mim_10pct | TC | 0.88 [0.81, 0.92] | 0.76 | 0.09 | 0.104 | -0.9 | 0.18 | 0.915 |
| mim_10pct | ET | 0.77 [0.62, 0.86] | 0.71 | 0.20 | 0.068 | 0.2 | 0.14 | 0.979 |
Dice by tumour size¶
| run | whole-tumour volume | scans | Dice WT | Dice TC | Dice ET |
|---|---|---|---|---|---|
| ours_10pct | small (13–68 mL) | 32 | 0.835 | 0.790 | 0.743 |
| ours_10pct | medium (73–123 mL) | 32 | 0.915 | 0.806 | 0.840 |
| ours_10pct | large (127–264 mL) | 32 | 0.905 | 0.809 | 0.822 |
| scratch_10pct | small (13–68 mL) | 32 | 0.793 | 0.761 | 0.717 |
| scratch_10pct | medium (73–123 mL) | 32 | 0.914 | 0.815 | 0.832 |
| scratch_10pct | large (127–264 mL) | 32 | 0.910 | 0.821 | 0.822 |
| ours_100pct | small (13–68 mL) | 32 | 0.852 | 0.831 | 0.798 |
| ours_100pct | medium (73–123 mL) | 32 | 0.923 | 0.859 | 0.864 |
| ours_100pct | large (127–264 mL) | 32 | 0.921 | 0.869 | 0.857 |
| scratch_100pct | small (13–68 mL) | 32 | 0.827 | 0.812 | 0.742 |
| scratch_100pct | medium (73–123 mL) | 32 | 0.917 | 0.846 | 0.854 |
| scratch_100pct | large (127–264 mL) | 32 | 0.921 | 0.853 | 0.850 |
| mim_10pct | small (13–68 mL) | 32 | 0.791 | 0.741 | 0.746 |
| mim_10pct | medium (73–123 mL) | 32 | 0.913 | 0.802 | 0.834 |
| mim_10pct | large (127–264 mL) | 32 | 0.911 | 0.816 | 0.839 |
Worst scans¶
ours_10pct (enhancing tumour absent in 2 scans, predicted anyway in 2)
| scan | mean Dice | what went wrong |
|---|---|---|
| BRATS_177 | 0.292 | enhancing tumour predicted where none exists; whole tumour under-segmented |
| BRATS_025 | 0.554 | enhancing tumour predicted where none exists |
| BRATS_457 | 0.574 | no single dominant cause |
| BRATS_302 | 0.590 | no single dominant cause |
| BRATS_041 | 0.595 | no single dominant cause |
scratch_10pct (enhancing tumour absent in 2 scans, predicted anyway in 2)
| scan | mean Dice | what went wrong |
|---|---|---|
| BRATS_177 | 0.236 | enhancing tumour predicted where none exists |
| BRATS_322 | 0.484 | whole tumour over-segmented |
| BRATS_025 | 0.505 | enhancing tumour predicted where none exists; whole tumour over-segmented |
| BRATS_302 | 0.510 | whole tumour over-segmented |
| BRATS_107 | 0.512 | no single dominant cause |
ours_100pct (enhancing tumour absent in 2 scans, predicted anyway in 1)
| scan | mean Dice | what went wrong |
|---|---|---|
| BRATS_177 | 0.290 | enhancing tumour predicted where none exists |
| BRATS_457 | 0.671 | no single dominant cause |
| BRATS_299 | 0.673 | whole tumour under-segmented |
| BRATS_028 | 0.679 | no single dominant cause |
| BRATS_151 | 0.704 | no single dominant cause |
scratch_100pct (enhancing tumour absent in 2 scans, predicted anyway in 2)
| scan | mean Dice | what went wrong |
|---|---|---|
| BRATS_177 | 0.247 | enhancing tumour predicted where none exists; whole tumour under-segmented |
| BRATS_025 | 0.331 | enhancing tumour predicted where none exists; whole tumour over-segmented |
| BRATS_151 | 0.544 | no single dominant cause |
| BRATS_462 | 0.575 | no single dominant cause |
| BRATS_107 | 0.609 | no single dominant cause |
mim_10pct (enhancing tumour absent in 2 scans, predicted anyway in 1)
| scan | mean Dice | what went wrong |
|---|---|---|
| BRATS_177 | 0.241 | enhancing tumour predicted where none exists |
| BRATS_107 | 0.530 | no single dominant cause |
| BRATS_322 | 0.538 | whole tumour over-segmented |
| BRATS_302 | 0.542 | whole tumour over-segmented |
| BRATS_462 | 0.563 | no single dominant cause |
Robustness to worse images¶
Mean Dice over the three regions on the same randomly chosen test scans, with the same perturbed image given to every model.
| perturbation | ours_10pct (Δ) | scratch_10pct (Δ) | ours_100pct (Δ) | scratch_100pct (Δ) | mim_10pct (Δ) |
|---|---|---|---|---|---|
| none | 0.842 | 0.824 | 0.865 | 0.854 | 0.827 |
| noise 0.2 | 0.842 (+0.000) | 0.824 (+0.000) | 0.864 (+0.000) | 0.853 (+0.001) | 0.826 (+0.001) |
| noise 0.5 | 0.842 (+0.001) | 0.823 (+0.001) | 0.861 (+0.003) | 0.849 (+0.005) | 0.825 (+0.002) |
| bias field | 0.819 (+0.024) | 0.806 (+0.018) | 0.856 (+0.009) | 0.842 (+0.012) | 0.801 (+0.026) |
| blur | 0.816 (+0.026) | 0.805 (+0.019) | 0.844 (+0.020) | 0.843 (+0.011) | 0.811 (+0.016) |
| no FLAIR | 0.383 (+0.460) | 0.074 (+0.750) | 0.485 (+0.379) | 0.181 (+0.673) | 0.051 (+0.776) |
| no T1 | 0.832 (+0.011) | 0.809 (+0.015) | 0.847 (+0.018) | 0.828 (+0.026) | 0.818 (+0.009) |
| no T1Gd | 0.573 (+0.269) | 0.491 (+0.333) | 0.545 (+0.319) | 0.489 (+0.365) | 0.477 (+0.350) |
| no T2 | 0.814 (+0.028) | 0.695 (+0.129) | 0.851 (+0.014) | 0.798 (+0.056) | 0.784 (+0.042) |
| mirror blind | 0.401 (+0.441) | – | 0.576 (+0.289) | – | – |
Paired comparison of the Dice drop, ours_10pct against scratch_10pct (positive: ours_10pct loses less).
| perturbation | difference in drop [95% CI] | scans better / worse | p |
|---|---|---|---|
| noise 0.2 | +0.000 [-0.000, +0.001] | 13/7 | 0.216 |
| noise 0.5 | -0.000 [-0.003, +0.002] | 14/10 | 0.334 |
| bias field | -0.006 [-0.026, +0.012] | 9/15 | 0.820 |
| blur | -0.007 [-0.018, +0.004] | 10/14 | 0.911 |
| no FLAIR | +0.290 [+0.161, +0.414] | 19/5 | 0.000 |
| no T1 | +0.004 [-0.012, +0.022] | 14/10 | 0.312 |
| no T1Gd | +0.065 [+0.017, +0.112] | 16/8 | 0.010 |
| no T2 | +0.101 [+0.061, +0.144] | 22/2 | 0.000 |
Paired comparison of the Dice drop, ours_100pct against scratch_100pct (positive: ours_100pct loses less).
| perturbation | difference in drop [95% CI] | scans better / worse | p |
|---|---|---|---|
| noise 0.2 | +0.000 [-0.000, +0.001] | 14/9 | 0.133 |
| noise 0.5 | +0.001 [-0.001, +0.005] | 12/11 | 0.596 |
| bias field | +0.003 [-0.004, +0.009] | 15/9 | 0.238 |
| blur | -0.009 [-0.020, -0.002] | 7/17 | 0.979 |
| no FLAIR | +0.294 [+0.137, +0.441] | 19/5 | 0.001 |
| no T1 | +0.008 [-0.016, +0.039] | 11/13 | 0.572 |
| no T1Gd | +0.046 [+0.008, +0.081] | 17/7 | 0.016 |
| no T2 | +0.042 [+0.014, +0.074] | 19/5 | 0.002 |
Which contrasts the models rely on¶
Dice drop when a contrast is removed, and the share of the gradient-times-input attribution inside the segmented tumour.
| run | contrast removed | Dice drop WT | Dice drop TC | Dice drop ET | attribution share |
|---|---|---|---|---|---|
| ours_10pct | FLAIR | 0.612 | 0.383 | 0.384 | 0.57 |
| ours_10pct | T1 | 0.003 | 0.021 | 0.008 | 0.07 |
| ours_10pct | T1Gd | 0.018 | 0.313 | 0.476 | 0.20 |
| ours_10pct | T2 | 0.017 | 0.048 | 0.019 | 0.15 |
| scratch_10pct | FLAIR | 0.770 | 0.712 | 0.767 | 0.48 |
| scratch_10pct | T1 | 0.012 | 0.026 | 0.008 | 0.09 |
| scratch_10pct | T1Gd | 0.023 | 0.338 | 0.640 | 0.25 |
| scratch_10pct | T2 | 0.155 | 0.132 | 0.101 | 0.19 |
| ours_100pct | FLAIR | 0.564 | 0.291 | 0.283 | 0.51 |
| ours_100pct | T1 | 0.001 | 0.014 | 0.039 | 0.07 |
| ours_100pct | T1Gd | 0.012 | 0.345 | 0.601 | 0.28 |
| ours_100pct | T2 | 0.011 | 0.026 | 0.005 | 0.14 |
| scratch_100pct | FLAIR | 0.733 | 0.634 | 0.653 | 0.48 |
| scratch_100pct | T1 | 0.012 | 0.025 | 0.039 | 0.09 |
| scratch_100pct | T1Gd | 0.012 | 0.359 | 0.723 | 0.27 |
| scratch_100pct | T2 | 0.036 | 0.071 | 0.060 | 0.16 |
| mim_10pct | FLAIR | 0.854 | 0.737 | 0.738 | 0.54 |
| mim_10pct | T1 | 0.010 | 0.004 | 0.012 | 0.07 |
| mim_10pct | T1Gd | 0.036 | 0.365 | 0.650 | 0.22 |
| mim_10pct | T2 | 0.018 | 0.075 | 0.035 | 0.17 |
The bilateral blocks¶
correction is the size of an exchange block's update relative to its input features, inside and outside the tumour; asymmetry AUC is how well the left-right asymmetry signal |f − Rf| alone separates tumour from healthy tissue. Level 1 is the first downsampled scale.
| run | level | correction inside tumour | correction outside | asymmetry AUC |
|---|---|---|---|---|
| ours_10pct | 1 | 0.439 | 0.305 | 0.848 |
| ours_10pct | 2 | 0.378 | 0.416 | 0.865 |
| ours_10pct | 3 | 0.704 | 0.574 | 0.879 |
| ours_10pct | 4 | 0.765 | 0.909 | 0.856 |
| ours_100pct | 1 | 0.284 | 0.345 | 0.810 |
| ours_100pct | 2 | 0.409 | 0.347 | 0.855 |
| ours_100pct | 3 | 0.780 | 0.538 | 0.844 |
| ours_100pct | 4 | 0.726 | 0.799 | 0.796 |
Dice of ours_10pct when the blocks see the scan's own features instead of its mirror image: 0.401 against 0.842 (drop +0.441). Dice of ours_100pct when the blocks see the scan's own features instead of its mirror image: 0.576 against 0.865 (drop +0.289).