{
  "task_slug": "oa-kg-gene-ranking-robustness",
  "question": "在Hetionet上做OA候选基因排序时,候选名单对边权/打分函数/重启率/负样本采样等设定的敏感程度,以及纯度数零模型的水平",
  "falsifiable_prediction": "P1: 36套设定两两Top-50 Jaccard中位数<0.5。P2: 纯度数零模型AUROC>=0.70且其Top-50与完整流程Top-50重合>=30%。",
  "prediction_outcome": "inconclusive",
  "prediction_outcome_detail": "P1=confirmed, P2=refuted",
  "negative_result": true,
  "dataset": "Hetionet v1.0 (CC0), 47031 nodes, 2107709 undirected homogeneous edges, OA=Disease::DOID:8398 有 62 条DaG边(留一交叉验证), Gene候选池=20945",
  "env": {
    "python": "3.12.3",
    "torch": "n/a (no torch used)",
    "extra_packages": []
  },
  "seeds": [
    0,
    1,
    2
  ],
  "arms": [
    {
      "name": "baseline-degree-null",
      "is_baseline": true,
      "what": "忽略OA节点,仅用Gene在全图(homogeneous graph)中的度排序,走同样的62折留一评测",
      "metrics": {
        "auroc": {
          "per_seed": [
            0.7584688425374553,
            0.7584688425374553,
            0.7584688425374553
          ],
          "mean": 0.7584688425374552,
          "std": 1.1102230246251565e-16
        },
        "mrr": {
          "per_seed": [
            0.003095325371302301,
            0.003095325371302301,
            0.003095325371302301
          ],
          "mean": 0.003095325371302301,
          "std": 0.0
        },
        "auprc_degmatched": {
          "per_seed": [
            0.04914293040984568,
            0.04914293040984568,
            0.04914293040984568
          ],
          "mean": 0.04914293040984568,
          "std": 0.0
        },
        "recall_at_20": {
          "per_seed": [
            0.016129032258064516,
            0.016129032258064516,
            0.016129032258064516
          ],
          "mean": 0.016129032258064516,
          "std": 0.0
        },
        "recall_at_50": {
          "per_seed": [
            0.04838709677419355,
            0.04838709677419355,
            0.04838709677419355
          ],
          "mean": 0.04838709677419354,
          "std": 6.938893903907228e-18
        },
        "recall_at_100": {
          "per_seed": [
            0.08064516129032258,
            0.08064516129032258,
            0.08064516129032258
          ],
          "mean": 0.08064516129032258,
          "std": 0.0
        },
        "recall_at_200": {
          "per_seed": [
            0.11290322580645161,
            0.11290322580645161,
            0.11290322580645161
          ],
          "mean": 0.11290322580645161,
          "std": 0.0
        }
      }
    },
    {
      "name": "baseline-random-permutation",
      "is_baseline": true,
      "what": "每fold对候选基因随机打分,给出评测流水线下限",
      "metrics": {
        "auroc": {
          "per_seed": [
            0.507499540450405,
            0.4973523764506706,
            0.4760393158194735
          ],
          "mean": 0.4936304109068497,
          "std": 0.013110459033133556
        },
        "mrr": {
          "per_seed": [
            0.0002656631015286019,
            0.00022612582790190595,
            0.00033782715769531136
          ],
          "mean": 0.0002765386957086064,
          "std": 4.624576147050229e-05
        },
        "auprc_degmatched": {
          "per_seed": [
            0.051402457284104475,
            0.047932852018795276,
            0.04969026578917548
          ],
          "mean": 0.04967519169735841,
          "std": 0.0014165005225198262
        },
        "recall_at_20": {
          "per_seed": [
            0.0,
            0.0,
            0.0
          ],
          "mean": 0.0,
          "std": 0.0
        },
        "recall_at_50": {
          "per_seed": [
            0.0,
            0.0,
            0.0
          ],
          "mean": 0.0,
          "std": 0.0
        },
        "recall_at_100": {
          "per_seed": [
            0.0,
            0.0,
            0.0
          ],
          "mean": 0.0,
          "std": 0.0
        },
        "recall_at_200": {
          "per_seed": [
            0.0,
            0.0,
            0.016129032258064516
          ],
          "mean": 0.005376344086021505,
          "std": 0.007603298722435994
        }
      }
    },
    {
      "name": "scorer-ppr",
      "is_baseline": false,
      "what": "以OA为重启源的个性化PageRank,行归一化转移矩阵,30轮幂迭代,canonical config: edge_weight=degree_normalized_w0.4, alpha=0.15",
      "metrics": {
        "auroc": {
          "per_seed": [
            0.9586304958655983,
            0.9586304958655983,
            0.9586304958655983
          ],
          "mean": 0.9586304958655983,
          "std": 0.0
        },
        "mrr": {
          "per_seed": [
            0.027381313060895085,
            0.027381313060895085,
            0.027381313060895085
          ],
          "mean": 0.027381313060895085,
          "std": 0.0
        },
        "auprc_degmatched": {
          "per_seed": [
            0.6022246082020851,
            0.6022246082020851,
            0.6022246082020851
          ],
          "mean": 0.6022246082020851,
          "std": 0.0
        },
        "recall_at_20": {
          "per_seed": [
            0.20967741935483872,
            0.20967741935483872,
            0.20967741935483872
          ],
          "mean": 0.20967741935483872,
          "std": 0.0
        },
        "recall_at_50": {
          "per_seed": [
            0.5,
            0.5,
            0.5
          ],
          "mean": 0.5,
          "std": 0.0
        },
        "recall_at_100": {
          "per_seed": [
            0.5645161290322581,
            0.5645161290322581,
            0.5645161290322581
          ],
          "mean": 0.5645161290322581,
          "std": 0.0
        },
        "recall_at_200": {
          "per_seed": [
            0.6935483870967742,
            0.6935483870967742,
            0.6935483870967742
          ],
          "mean": 0.6935483870967744,
          "std": 1.1102230246251565e-16
        }
      }
    },
    {
      "name": "scorer-dwpc",
      "is_baseline": false,
      "what": "度加权路径计数,元路径 D-DlA-A-AeG-G (2跳) 与 D-DlA-A-AeG-G-GiG-G (3跳) 之和,canonical edge_weight=degree_normalized_w0.4",
      "metrics": {
        "auroc": {
          "per_seed": [
            0.9366980087214016,
            0.9366980087214016,
            0.9366980087214016
          ],
          "mean": 0.9366980087214016,
          "std": 0.0
        },
        "mrr": {
          "per_seed": [
            0.055750919419596645,
            0.055750919419596645,
            0.055750919419596645
          ],
          "mean": 0.055750919419596645,
          "std": 0.0
        },
        "auprc_degmatched": {
          "per_seed": [
            0.6408492025881858,
            0.6408492025881858,
            0.6408492025881858
          ],
          "mean": 0.6408492025881858,
          "std": 0.0
        },
        "recall_at_20": {
          "per_seed": [
            0.3387096774193548,
            0.3387096774193548,
            0.3387096774193548
          ],
          "mean": 0.3387096774193548,
          "std": 0.0
        },
        "recall_at_50": {
          "per_seed": [
            0.5,
            0.5,
            0.5
          ],
          "mean": 0.5,
          "std": 0.0
        },
        "recall_at_100": {
          "per_seed": [
            0.532258064516129,
            0.532258064516129,
            0.532258064516129
          ],
          "mean": 0.532258064516129,
          "std": 0.0
        },
        "recall_at_200": {
          "per_seed": [
            0.6935483870967742,
            0.6935483870967742,
            0.6935483870967742
          ],
          "mean": 0.6935483870967744,
          "std": 1.1102230246251565e-16
        }
      }
    },
    {
      "name": "scorer-adamic-adar",
      "is_baseline": false,
      "what": "OA与Gene在同质化全图上的广义Adamic-Adar/共邻指标(度幂次由edge_weight方案决定),canonical edge_weight=degree_normalized_w0.4",
      "metrics": {
        "auroc": {
          "per_seed": [
            0.9241619591796383,
            0.9241619591796383,
            0.9241619591796383
          ],
          "mean": 0.9241619591796383,
          "std": 0.0
        },
        "mrr": {
          "per_seed": [
            0.032472711204521186,
            0.032472711204521186,
            0.032472711204521186
          ],
          "mean": 0.032472711204521186,
          "std": 0.0
        },
        "auprc_degmatched": {
          "per_seed": [
            0.7559270165399894,
            0.7559270165399894,
            0.7559270165399894
          ],
          "mean": 0.7559270165399893,
          "std": 1.1102230246251565e-16
        },
        "recall_at_20": {
          "per_seed": [
            0.1774193548387097,
            0.1774193548387097,
            0.1774193548387097
          ],
          "mean": 0.17741935483870966,
          "std": 2.7755575615628914e-17
        },
        "recall_at_50": {
          "per_seed": [
            0.45161290322580644,
            0.45161290322580644,
            0.45161290322580644
          ],
          "mean": 0.45161290322580644,
          "std": 0.0
        },
        "recall_at_100": {
          "per_seed": [
            0.5967741935483871,
            0.5967741935483871,
            0.5967741935483871
          ],
          "mean": 0.5967741935483871,
          "std": 0.0
        },
        "recall_at_200": {
          "per_seed": [
            0.7419354838709677,
            0.7419354838709677,
            0.7419354838709677
          ],
          "mean": 0.7419354838709676,
          "std": 1.1102230246251565e-16
        }
      }
    }
  ],
  "headline": {
    "metric": "auroc",
    "baseline_mean": 0.7584688425374552,
    "proposed_mean": 0.9586304958655983,
    "delta": 0.20016165332814317,
    "claim": "36套设定两两Top-50 Jaccard中位数=0.111(<0.5,P1成立)；纯度数零模型AUROC=0.758,与三条推理臂canonical Top-50最大重合率=0.10(未同时达标,P2被推翻)。"
  },
  "sweep_robustness": {
    "n_settings": 36,
    "n_pairs": 630,
    "jaccard_top50_median": 0.1111111111111111,
    "jaccard_top50_p25": 0.02040816326530612,
    "jaccard_top50_p75": 0.3157894736842105,
    "kendall_tau_median": 0.502694402523783,
    "kendall_tau_p25": 0.3887713342747035,
    "kendall_tau_p75": 0.6754850301985469,
    "kendall_subsample_n_genes": 1500
  },
  "degree_null_vs_pipelines": {
    "degnull_auroc_mean": 0.7584688425374552,
    "top50_overlap_with_pipelines": {
      "scorer-ppr": 0,
      "scorer-dwpc": 5,
      "scorer-adamic-adar": 0
    },
    "max_overlap_fraction": 0.1
  },
  "deviations": [
    "DWPC只实现了2条代表性元路径 (D-DlA-A-AeG-G 与 D-DlA-A-AeG-G-GiG-G),未覆盖原计划提到的DaG/GiG/GpBP全部元路径组合,因40分钟预算不够枚举更多;两条元路径均不使用DaG边,天然避免与留一评测标签泄漏。",
    "PPR/AA的edge_weight加权应用于全图同质邻接矩阵的度幂次归一化,不是逐metaedge类型分别加权;DWPC的edge_weight则是在各自metaedge的二部图度上归一化——三者共用同一个w取值(0/0.4/1.0)但数学形式不同,这是同一个'边权强度旋钮'在不同打分函数里的具体化,不是同一个矩阵。",
    "PPR的edge_weight归一化度数用的是全图整体度(不含留一fold的单边移除),留一只体现在:1)转移矩阵里把该OA-gene边置零后重新行归一化,2)degree-null分数里从全图度数减1。度数归一化系数D^-w本身不随fold重算,是预算内的简化,已在NOTES.md说明。",
    "Kendall tau为提速在1500个随机抽样基因上计算(不是全部20945个候选),抽样种子固定为0,已记录在sweep_robustness字段。",
    "AUPRC(auprc_degmatched)每fold只采样20个负样本(--quick模式5个)做pooled average precision,不是对全量负样本做PR曲线。"
  ],
  "runtime_sec": 152.3612151145935
}