The Selection Rule Decides the Winner: A Pre-Registered Audit of Open-Set Graph Anomaly Detection
Organizations: Islamic University of Technology · University of Southern California · Qatar Computing Research Institute (QCRI)
Abstract
Open-set graph anomaly detection trains on a few labeled anomalies from one class and must also find anomaly classes that were never labeled. Published results share three conventions: the test score is read at the best epoch on the test set, baseline numbers are copied from earlier papers, and most anomalies are minority classes relabeled as anomalous. We ask how much of the reported ranking these conventions decide. We re-run two recent methods, DEMO and NSReg, together with OUTPOST, a small first-order detector built for this study. All three use one protocol with identical seeds and splits on eight graphs (seven for the baselines, which cannot run on ogbn-mag), ten seeds each, and every run is scored under both the best-epoch rule and a deployable validation rule. Before the runs that test them, we registered 40 predictions. Three findings hold. First, the rule changes the leader: under the best-epoch rule, OUTPOST and NSReg each lead three of seven graphs, while under the validation rule, NSReg leads five. Second, the best-epoch bonus depends on how the benchmark was built: 0.045--0.080 AUC-ROC on the three small relabeled-class graphs and 0.002--0.014 on the three real fraud graphs. Third, pseudo-labeling in OUTPOST is worth 0.038--0.065 AUC-ROC on the same three graphs but gives no benefit on any real fraud graph. We also show that a 0.002 tie band for hyperparameter selection lies below the paired standard error on all six graphs tested, even at ten seeds. Twelve of our 40 predictions were falsified, and we report them. We close with a short reporting checklist.
Figures & tables
| Best | Best epoch on test | Best epoch on validation | |||||
| Graph | published | DEMO | NSReg | OUTPOST | DEMO | NSReg | OUTPOST |
| Semi-synthetic | |||||||
| Photo | 0.902 | 0.888 .015 | 0.876 .041 | 0.870 .024 | 0.774 .060 | 0.793 .063 | 0.791 .048 |
| Computers | 0.844 | 0.778 .015 | 0.837 .023 | 0.851 .010 | 0.727 .013 | 0.785 .022 | 0.771 .017 |
| CS | 0.945 | 0.965 .004 | 0.970 .004 | 0.984 .002 | 0.901 .019 | 0.929 .017 | 0.939 .014 |
| OGB | |||||||
| Best epoch on test | Best epoch on valid. | |||
|---|---|---|---|---|
| Graph | DEMO | NSReg | DEMO | NSReg |
| Photo | ||||
| Computers | ||||
| CS | ||||
| Yelp | ||||
| Amazon | ||||
| Best epoch on test | Best epoch on valid. | |||
|---|---|---|---|---|
| Graph | DEMO | NSReg | DEMO | NSReg |
| Photo | ||||
| Computers | ||||
| CS | ||||
| Yelp | ||||
| Amazon | ||||
| Graph | Gate | Conformal | Pseudo-lab. |
|---|---|---|---|
| Semi-synthetic | |||
| Photo | |||
| Computers | |||
| CS | |||
| Real | |||
| Yelp | |||
Appendix figures & tables24 assets
Supplementary material from the paper’s appendix.
Appendix
| Graph | Nodes | Features | Median deg. | Rotations | Unseen classes | Same-class frac. |
| Semi-synthetic: classes holding at most 5% of the nodes relabeled as anomalous | ||||||
| Photo | 7,650 | 745 | 22 | 2 | yes | 0.56–0.94 |
| Computers | 13,752 | 767 | 22 | 5 | yes | 0.55–0.94 |
| CS | 18,333 | 6,805 | 6 | 8 | yes | 0.64–1.00 |
| OGB: classes relabeled within a size band, 3–5% for ogbn-arxiv and at most 0.03% for ogbn-mag | ||||||
| ogbn-arxiv | 169,343 | 128 | 1 | 4 | yes | 0.46–0.82 |
| Re-run by us | |||||
| Method | Graph | Published | Released budget | 400 epochs | Difference |
| DEMO, released budget 200 epochs | |||||
| DEMO | Photo | 0.9023 | 0.8403 | 0.8879 | |
| DEMO | Computers | 0.8439 | 0.7685 | 0.7782 | |
| DEMO | CS | 0.9448 | 0.9603 | 0.9646 | |
| NSReg, released budget 201 epochs | |||||
| Photo | Computers | CS | ||||
| Method | AUC-ROC | AUC-PR | AUC-ROC | AUC-PR | AUC-ROC | AUC-PR |
| Unsupervised | ||||||
| ANOMALOUS | 0.5574 | 0.0879 | 0.5737 | 0.1693 | 0.2997 | 0.1634 |
| DOMINANT | 0.4716 | 0.0837 | 0.5450 | 0.1644 | 0.4029 | 0.1886 |
| AnomalyDAE | 0.4179 | 0.0770 | 0.5658 | 0.1723 | 0.3978 | 0.1864 |
| GAAN | 0.4346 | 0.0710 | 0.5595 | 0.1796 | 0.4646 | 0.2111 |
| Yelp | ogbn-arxiv | ogbn-mag | ||||
| Method | AUC-ROC | AUC-PR | AUC-ROC | AUC-PR | AUC-ROC | AUC-PR |
| As published | ||||||
| ConsisGAD | 0.6988 | 0.2970 | 0.6216 | 0.3148 | 0.4909 | 0.0043 |
| GGAD | 0.6613 | 0.2549 | 0.6007 | 0.2843 | – | – |
| TAM | 0.5319 | 0.0977 | – | – | – | – |
| OCGNN | 0.6410 | 0.1118 | – | – | – | – |
| Best | Best epoch on test | Best epoch on validation | |||||
| Graph | published | DEMO | NSReg | OUTPOST | DEMO | NSReg | OUTPOST |
| Semi-synthetic | |||||||
| Photo | 0.633 | 0.585 .020 | 0.590 .059 | 0.556 .036 | 0.487 .042 | 0.506 .058 | 0.498 .037 |
| Computers | 0.646 | 0.529 .025 | 0.606 .020 | 0.652 .009 | 0.458 .029 | 0.526 .033 | 0.532 .034 |
| CS | 0.886 | 0.915 .011 | 0.934 .007 | 0.958 .004 | 0.795 .036 | 0.855 .034 | 0.868 .025 |
| OGB | |||||||
| Best epoch on test | Best epoch on validation | |||||||
|---|---|---|---|---|---|---|---|---|
| AUC-ROC | AUC-PR | AUC-ROC | AUC-PR | |||||
| Graph | Wins, | Wins, | Wins, | Wins, | ||||
| Photo | 3, .065 | 1, .037 | 7, .193 | 8, .105 | ||||
| Computers | 10, .002 | 10, .002 | 10, .002 | 10, .002 | ||||
| CS | 10, .002 | 10, .002 | 10, .002 | 10, .002 | ||||
| Yelp | 9, .019 | 10, .002 | 9, .027 | 9, .004 | ||||
| Best epoch on test | Best epoch on validation | |||||||
|---|---|---|---|---|---|---|---|---|
| AUC-ROC | AUC-PR | AUC-ROC | AUC-PR | |||||
| Graph | Wins, | Wins, | Wins, | Wins, | ||||
| Photo | 5, .769 | 5, .232 | 6, .922 | 5, .846 | ||||
| Computers | 9, .014 | 10, .002 | 2, .065 | 6, .492 | ||||
| CS | 10, .002 | 10, .002 | 8, .027 | 6, .232 | ||||
| Yelp | 8, .105 | 8, .019 | 9, .027 | 8, .019 | ||||
| Best epoch on test | Best epoch on validation | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| AUC-ROC | AUC-PR | AUC-ROC | AUC-PR | ||||||
| Graph | Against | Wins, | Wins, | Wins, | Wins, | ||||
| Photo | DEMO | 3, .232 | 4, .625 | 7, .193 | 6, .275 | ||||
| NSReg | 5, .625 | 3, .105 | 6, 1.00 | 5, .557 | |||||
| Computers | DEMO | 10, .002 | 10, .002 | 10, .002 | 10, .002 | ||||
| NSReg | 9, .014 | 10, .002 | 2, .065 | 6, .432 | |||||
| Best epoch on test | Best epoch on validation | ||||||
| Graph | DEMO | NSReg | OUTPOST | DEMO | NSReg | OUTPOST | Order changes? |
| Photo | 1 | 2 | 3 | 3 | 1 | 2 | yes |
| Computers | 3 | 2 | 1 | 3 | 1 | 2 | yes |
| CS | 3 | 2 | 1 | 3 | 2 | 1 | no |
| Yelp | 3 | 2 | 1 | 3 | 2 | 1 | no |
| Amazon | 2 | 1 | 3 | 2 | 1 | 3 | no |
| Best epoch on test | Best epoch on validation | ||||||
| Graph | DEMO | NSReg | OUTPOST | DEMO | NSReg | OUTPOST | Order changes? |
| Photo | 1 | 2 | 3 | 3 | 1 | 2 | yes |
| Computers | 3 | 2 | 1 | 3 | 1 | 2 | yes |
| CS | 3 | 2 | 1 | 3 | 2 | 1 | no |
| ogbn-arxiv | 3 | 1 | 2 | 3 | 1 | 2 | no |
| All anomalies | Unseen classes only | |||
| Graph | AUC-ROC | AUC-PR | AUC-ROC | AUC-PR |
| Semi-synthetic | ||||
| Photo | .0374 | .0270 | .0769 | .0301 |
| Computers | .0168 | .0360 | .0195 | .0435 |
| CS | .0144 | .0250 | .0155 | .0276 |
| OGB | ||||
| Graph | Seeds | Total advantage | Survives validation | Collected by the oracle | Share | |
|---|---|---|---|---|---|---|
| Photo | 10 | 62% | 0.193 | |||
| Computers | 5 | 43% | 0.062 | |||
| CS | 5 | 44% | 0.062 | |||
| Yelp | 10 | – | 0.027 | |||
| Amazon | 10 | – | 0.770 |
| AUC-ROC | AUC-PR | |||||||
|---|---|---|---|---|---|---|---|---|
| Graph | Epochs | Seeds | OUTPOST | DEMO | Wins, | Wins, | ||
| Photo | 200 | 10 | 0.8374 | 0.8403 | 3, .557 | 3, .557 | ||
| Photo | 400 | 10 | 0.8703 | 0.8879 | 3, .065 | 1, .037 | ||
| Computers | 200 | 5 | 0.8214 | 0.7685 | 5, .062 | 5, .062 | ||
| Computers | 400 | 10 | 0.8510 | 0.7782 | 10, .002 | 10, .002 | ||
| CS | 200 | 5 | 0.9832 | 0.9603 | 5, .062 | 5, .062 | ||
| Default | Test AUC-ROC of the arm chosen by | |||||
|---|---|---|---|---|---|---|
| Graph | Epochs | Arms | kept | validation | the test set | Difference |
| Photo | 200 | 14 | yes | 0.8367 | 0.8532 | |
| Photo | 400 | 14 | yes | 0.8703 | 0.8867 | |
| Computers | 200 | 11 | yes | 0.8193 | 0.8261 | |
| Computers | 400 | 11 | yes | 0.8485 | 0.8527 | |
| CS | 200 | 11 | yes | 0.9838 | 0.9841 | |
| Released | Arms inside | Validation | Validation AUC-ROC | Change on test | |||
|---|---|---|---|---|---|---|---|
| Graph | kept | the tie band | spread | released | selected | oracle | validation |
| Photo | no | 1 of 4 | 0.0037 | 0.8573 | 0.8679 | ||
| Computers | yes | 4 of 4 | 0.0008 | 0.8339 | 0.8339 | ||
| Yelp | yes | 1 of 4 | 0.0058 | 0.7488 | 0.7488 | ||
| Amazon | no | 2 of 4 | 0.0044 | 0.9553 | 0.9600 | ||
| Method | Graph | Validation margin | Test | Wins, | Outcome | |
|---|---|---|---|---|---|---|
| 3 seeds | 10 seeds | difference | ||||
| OUTPOST | Amazon | 1, .004 | reverses | |||
| NSReg | Photo | 4, .625 | falls inside the tie band | |||
| NSReg | Amazon | 9, .006 | holds, and was adopted | |||
| Standard deviation | Standard error at | Seeds needed | |||
|---|---|---|---|---|---|
| Graph | Arm pairs | of the difference | 3 seeds | 10 seeds | for 0.002 |
| Photo | 1,076 | 0.0073 | 0.0042 | 0.0023 | 14 |
| Computers | 371 | 0.0077 | 0.0044 | 0.0024 | 15 |
| CS | 140 | 0.0094 | 0.0054 | 0.0030 | 23 |
| Yelp | 633 | 0.0134 | 0.0077 | 0.0042 | 45 |
| Amazon | 217 | 0.0066 | 0.0038 | 0.0021 | 11 |
| AUC-ROC | AUC-PR | |||||
|---|---|---|---|---|---|---|
| Graph | Variant | Seeds | Wins, | Wins, | ||
| Photo | atlas gate off | 5 | 2, 1.00 | 2, 1.00 | ||
| Photo | pseudo-labeling off | 5 | 0, .062 | 0, .062 | ||
| Photo | conformal fixed 0.95 | 5 | 2, .312 | 3, .438 | ||
| Photo | gate and pseudo-labeling off | 10 | 0, .002 | 1, .004 | ||
| Photo | anomaly synthesis off | 5 | 5, .062 | 4, .188 | ||
| Best epoch on test | Best epoch on validation | ||||||
|---|---|---|---|---|---|---|---|
| Graph | Seeds | on | off | , wins, | on | off | , wins, |
| Photo | 10 | 0.8703 | 0.8701 | , 6, .769 | 0.7914 | 0.7860 | , 4, .492 |
| Computers | 10 | 0.8510 | 0.8495 | , 5, .625 | 0.7715 | 0.7709 | , 3, .492 |
| CS | 10 | 0.9842 | 0.9842 | , 6, .375 | 0.9389 | 0.9374 | , 1, .037 |
| Yelp | 10 | 0.7448 | 0.7454 | , 5, .625 | 0.7425 | 0.7418 | , 3, .322 |
| Amazon | 10 | 0.9534 | 0.9532 | , 3, .322 | 0.9420 | 0.9464 | , 7, .105 |
| Median | Nodes above | AUC-ROC | AUC-PR | ||||
|---|---|---|---|---|---|---|---|
| Graph | degree | the budget | Seeds | Wins | Wins | ||
| ogbn-arxiv | 1 | 4.3% | 5 | 2 | 3 | ||
| CS | 6 | 5.1% | 5 | 4 | 5 | ||
| Photo | 22 | 43.8% | 5 | 0 | 0 | ||
| Computers | 22 | 45.0% | 5 | 3 | 0 | ||
| Yelp | 168 | 95.2% | 10 | 10 | 10 | ||
| Graph | Class | Frac. | Best AUC | Gain | Graph | Class | Frac. | Best AUC | Gain |
|---|---|---|---|---|---|---|---|---|---|
| Photo | 0 | 0.938 | 0.912 | ogbn-arxiv | 8 | 0.750 | 0.684 | ||
| Photo | 7 | 0.556 | 0.556 | ogbn-arxiv | 10 | 0.462 | 0.617 | ||
| Computers | 0 | 0.800 | 0.793 | ogbn-arxiv | 34 | 0.737 | 0.665 | ||
| Computers | 3 | 0.597 | 0.759 | ogbn-mag | 2 | 0.000 | 0.580 | ||
| Computers | 5 | 0.940 | 0.924 | ogbn-mag | 39 | 0.143 | 0.629 | ||
| Computers | 6 | 0.550 | 0.384 | ogbn-mag | 143 | 1.000 | 0.874 |
| Mean absolute error | ||||
|---|---|---|---|---|
| Held-out graph | Classes | fitted line | training mean | Lower error |
| Photo | 1 | 0.0763 | 0.2184 | line |
| Computers | 5 | 0.1011 | 0.1770 | line |
| CS | 2 | 0.1433 | 0.2850 | line |
| ogbn-arxiv | 4 | 0.1181 | 0.0475 | training mean |
| ogbn-mag | 9 | 0.4084 | 0.1809 | training mean |
| Trainable parameters | OUTPOST relative to | Peak memory | ||||
| Graph | OUTPOST | DEMO | NSReg | DEMO | NSReg | vs. DEMO |
| Semi-synthetic | ||||||
| Photo | 114,113 | 725,819 | 118,274 | 0.157 | 0.965 | 0.872 |
| Computers | 116,929 | 763,329 | 121,090 | 0.153 | 0.966 | 0.811 |
| CS | 889,793 | 47,648,399 | 893,954 | 0.019 | 0.995 | 0.655 |
| OGB | ||||||
| ID | Prediction | Outcome |
|---|---|---|
| P1 | Anomaly classes differ in same-class fraction, feature dissimilarity, and Dirichlet energy | superseded |
| P2 | Within a class, same-class fraction correlates with the detection score at the best depth | superseded |
| P3 | Propagation gain is positive for clustered classes and negative for scattered ones | superseded |
| P4 | Real fraud (Yelp) has a lower same-class fraction than every relabeled class | corrected: false with ogbn-mag |
| P5 | ogbn-mag: OUTPOST stays below 0.60 AUC-ROC and does not clearly exceed the published field | split |
| P6 | ogbn-arxiv: competitive with the published field, not above it by more than seed noise | confirmed |