M2:全档案关系模块与 #15 验收
这是可复现的历史关系模块,不是因果克制保证,也不是实时更新或 M4 决策器。对线/跨路使用全档案;未知赛制作为缺失背景保留,共选机会只使用规则有依据且完整选禁的系列。当前 M1/M3 预测不改写。
全范围覆盖与缺失
输入 16,437 场,纳入 15,669 场;每一场都有审计状态,未静默丢失。上游已排除 25 场明确盲选。
| 状态 | 比赛 |
|---|---|
| incomplete_or_unverified_series_join | 671 |
| admitted | 15669 |
| reserved_evaluation_partition | 84 |
| duplicate_alias | 13 |
| 赛制背景 | 比赛 |
|---|---|
| unknown | 12523 |
| classic | 209 |
| full_fearless | 2937 |
DCGI 的 39 场归入同一个测试事件块,没有猜测逐系列 ID;这种过度分组防止同一实际系列跨分组,不声称已核验所有系列或赛事已结束。
unknown 不是 Classic 标签。LEC 2024 标准 Tournament Draft 是范围限定解释,保留镜像规则书的残留年份/修订未知问题。专业合法禁用名单仍未公开恢复;这是已披露的数据未知,不通过关闭 issue 抹掉。
| 分组 | 比赛 | 组(系列或保守事件块) |
|---|---|---|
| train | 12114 | 6128 |
| selection | 618 | 243 |
| calibration | 401 | 142 |
| test | 2536 | 979 |
前七月 2025 拟合、七月至八月选择、九月至年底校准、2026 回顾诊断。所有系列保持完整,标签完成前不更新 Elo。已声明的原始数值冲突按目标掩码,不填零。来源/别名/规则/缺失逐项见 coverage.json 与 input_manifest.json。
对线全消融(测试)
表格可左右滚动,查看完整列。
| 单位/分钟 | 模型 | 选中 | 目标 | 有效N | MAE | RMSE | 名义90%区间覆盖 | 低支持N |
|---|---|---|---|---|---|---|---|---|
| top/10 | context | 否 | cs_difference | 2388 | 10.47 | 13.26 | 89.8% | 873 |
| top/10 | context | 否 | gold_difference | 2388 | 395.34 | 504.33 | 83.3% | 873 |
| top/10 | context | 否 | xp_difference | 2388 | 323.96 | 431.81 | 93.0% | 873 |
| top/10 | champions | 是 | cs_difference | 2388 | 9.80 | 12.42 | 90.5% | 873 |
| top/10 | champions | 是 | gold_difference | 2388 | 364.87 | 473.99 | 84.9% | 873 |
| top/10 | champions | 是 | xp_difference | 2388 | 316.05 | 425.10 | 92.0% | 873 |
| top/10 | hierarchical | 否 | cs_difference | 2388 | 9.81 | 12.43 | 90.4% | 873 |
| top/10 | hierarchical | 否 | gold_difference | 2388 | 365.99 | 474.69 | 85.6% | 873 |
| top/10 | hierarchical | 否 | xp_difference | 2388 | 317.52 | 425.99 | 91.9% | 873 |
| top/15 | context | 否 | cs_difference | 2371 | 15.06 | 18.78 | 88.3% | 866 |
| top/15 | context | 否 | gold_difference | 2099 | 698.89 | 891.39 | 83.1% | 768 |
| top/15 | context | 否 | xp_difference | 2276 | 664.23 | 856.21 | 84.2% | 829 |
| top/15 | champions | 是 | cs_difference | 2371 | 14.45 | 18.16 | 87.1% | 866 |
| top/15 | champions | 是 | gold_difference | 2099 | 662.69 | 851.25 | 84.0% | 768 |
| top/15 | champions | 是 | xp_difference | 2276 | 657.27 | 849.60 | 83.1% | 829 |
| top/15 | hierarchical | 否 | cs_difference | 2371 | 14.46 | 18.19 | 87.1% | 866 |
| top/15 | hierarchical | 否 | gold_difference | 2099 | 665.11 | 853.24 | 82.6% | 768 |
| top/15 | hierarchical | 否 | xp_difference | 2276 | 658.67 | 851.25 | 83.2% | 829 |
| mid/10 | context | 否 | cs_difference | 2388 | 9.00 | 11.36 | 85.2% | 818 |
| mid/10 | context | 否 | gold_difference | 2388 | 373.62 | 483.39 | 85.4% | 818 |
| mid/10 | context | 否 | xp_difference | 2388 | 330.19 | 417.44 | 84.7% | 818 |
| mid/10 | champions | 否 | cs_difference | 2388 | 8.38 | 10.61 | 82.1% | 818 |
| mid/10 | champions | 否 | gold_difference | 2388 | 365.79 | 471.62 | 86.1% | 818 |
| mid/10 | champions | 否 | xp_difference | 2388 | 327.88 | 413.50 | 83.5% | 818 |
| mid/10 | hierarchical | 是 | cs_difference | 2388 | 8.46 | 10.72 | 83.3% | 818 |
| mid/10 | hierarchical | 是 | gold_difference | 2388 | 367.21 | 475.75 | 85.3% | 818 |
| mid/10 | hierarchical | 是 | xp_difference | 2388 | 327.11 | 412.75 | 85.0% | 818 |
| mid/15 | context | 否 | cs_difference | 2369 | 12.77 | 16.12 | 87.9% | 813 |
| mid/15 | context | 否 | gold_difference | 2100 | 626.22 | 804.11 | 88.5% | 728 |
| mid/15 | context | 否 | xp_difference | 2265 | 559.33 | 712.61 | 89.6% | 779 |
| mid/15 | champions | 否 | cs_difference | 2369 | 11.98 | 15.15 | 88.1% | 813 |
| mid/15 | champions | 否 | gold_difference | 2100 | 615.65 | 789.26 | 88.4% | 728 |
| mid/15 | champions | 否 | xp_difference | 2265 | 553.40 | 705.67 | 89.7% | 779 |
| mid/15 | hierarchical | 是 | cs_difference | 2369 | 12.13 | 15.34 | 86.6% | 813 |
| mid/15 | hierarchical | 是 | gold_difference | 2100 | 619.37 | 794.75 | 88.3% | 728 |
| mid/15 | hierarchical | 是 | xp_difference | 2265 | 554.60 | 706.28 | 87.5% | 779 |
| bot_duo/10 | context | 否 | bot_cs_difference | 2388 | 10.02 | 12.87 | 86.6% | 2334 |
| bot_duo/10 | context | 否 | duo_gold_difference | 2388 | 585.13 | 763.97 | 83.1% | 2334 |
| bot_duo/10 | context | 否 | duo_xp_difference | 2388 | 415.44 | 534.49 | 88.3% | 2334 |
| bot_duo/10 | champions | 是 | bot_cs_difference | 2388 | 9.89 | 12.68 | 89.5% | 2334 |
| bot_duo/10 | champions | 是 | duo_gold_difference | 2388 | 576.04 | 754.04 | 83.1% | 2334 |
| bot_duo/10 | champions | 是 | duo_xp_difference | 2388 | 410.83 | 528.76 | 88.6% | 2334 |
| bot_duo/10 | duo | 否 | bot_cs_difference | 2388 | 9.88 | 12.67 | 88.9% | 2334 |
| bot_duo/10 | duo | 否 | duo_gold_difference | 2388 | 575.23 | 753.14 | 83.3% | 2334 |
| bot_duo/10 | duo | 否 | duo_xp_difference | 2388 | 410.83 | 528.78 | 88.6% | 2334 |
| bot_duo/10 | hierarchical | 否 | bot_cs_difference | 2388 | 9.90 | 12.69 | 88.6% | 2334 |
| bot_duo/10 | hierarchical | 否 | duo_gold_difference | 2388 | 575.13 | 753.11 | 83.3% | 2334 |
| bot_duo/10 | hierarchical | 否 | duo_xp_difference | 2388 | 410.99 | 528.86 | 88.6% | 2334 |
| bot_duo/15 | context | 是 | bot_cs_difference | 2383 | 14.36 | 18.45 | 84.8% | 2329 |
| bot_duo/15 | context | 是 | duo_gold_difference | 2007 | 1049.12 | 1359.64 | 84.5% | 1960 |
| bot_duo/15 | context | 是 | duo_xp_difference | 2272 | 709.00 | 899.08 | 88.7% | 2220 |
| bot_duo/15 | champions | 否 | bot_cs_difference | 2383 | 14.35 | 18.36 | 86.3% | 2329 |
| bot_duo/15 | champions | 否 | duo_gold_difference | 2007 | 1042.42 | 1349.20 | 83.7% | 1960 |
| bot_duo/15 | champions | 否 | duo_xp_difference | 2272 | 705.66 | 895.52 | 87.9% | 2220 |
| bot_duo/15 | duo | 否 | bot_cs_difference | 2383 | 14.35 | 18.37 | 86.1% | 2329 |
| bot_duo/15 | duo | 否 | duo_gold_difference | 2007 | 1041.31 | 1348.37 | 83.4% | 1960 |
| bot_duo/15 | duo | 否 | duo_xp_difference | 2272 | 705.47 | 895.40 | 87.7% | 2220 |
| bot_duo/15 | hierarchical | 否 | bot_cs_difference | 2383 | 14.37 | 18.41 | 85.9% | 2329 |
| bot_duo/15 | hierarchical | 否 | duo_gold_difference | 2007 | 1041.12 | 1348.28 | 83.4% | 1960 |
| bot_duo/15 | hierarchical | 否 | duo_xp_difference | 2272 | 705.35 | 895.40 | 87.7% | 2220 |
系列误差差异区间
固定选中模型相对 context:正数代表 RMSE 减少。2,000 次完整系列/保守赛事块成对 bootstrap,非克制系数置信区间;缺失标签逐目标处理,不重新用测试结果选模型。
表格可左右滚动,查看完整列。
| 单位/分钟 | 目标 | 有效N | 系列 | RMSE减少 | 95%系列区间 |
|---|---|---|---|---|---|
| top/10 | cs_difference | 2388 | 940 | 0.84 | [0.62, 1.03] |
| top/10 | gold_difference | 2388 | 940 | 30.34 | [23.86, 36.81] |
| top/10 | xp_difference | 2388 | 940 | 6.71 | [2.91, 10.31] |
| top/15 | cs_difference | 2371 | 937 | 0.62 | [0.34, 0.88] |
| top/15 | gold_difference | 2099 | 908 | 40.14 | [28.74, 52.18] |
| top/15 | xp_difference | 2276 | 931 | 6.61 | [0.93, 11.97] |
| mid/10 | cs_difference | 2388 | 940 | 0.64 | [0.52, 0.75] |
| mid/10 | gold_difference | 2388 | 940 | 7.64 | [4.29, 11.08] |
| mid/10 | xp_difference | 2388 | 940 | 4.69 | [1.95, 7.38] |
| mid/15 | cs_difference | 2369 | 938 | 0.78 | [0.65, 0.92] |
| mid/15 | gold_difference | 2100 | 907 | 9.36 | [5.19, 13.73] |
| mid/15 | xp_difference | 2265 | 926 | 6.33 | [2.73, 10.14] |
| bot_duo/10 | bot_cs_difference | 2388 | 940 | 0.20 | [0.03, 0.37] |
| bot_duo/10 | duo_gold_difference | 2388 | 940 | 9.94 | [6.02, 14.06] |
| bot_duo/10 | duo_xp_difference | 2388 | 940 | 5.73 | [3.61, 7.98] |
| bot_duo/15 | bot_cs_difference | 2383 | 940 | 0.00 | [0.00, 0.00] |
| bot_duo/15 | duo_gold_difference | 2007 | 897 | 0.00 | [0.00, 0.00] |
| bot_duo/15 | duo_xp_difference | 2272 | 929 | 0.00 | [0.00, 0.00] |
全局关系消融
表格可左右滚动,查看完整列。
| 模型 | 选中 | 测试N | Log loss | Brier |
|---|---|---|---|---|
| context | 否 | 2536 | 0.6497 | 0.2285 |
| champions | 是 | 2536 | 0.6437 | 0.2260 |
| same | 否 | 2536 | 0.6443 | 0.2265 |
| enemy | 否 | 2536 | 0.6441 | 0.2263 |
| full | 否 | 2536 | 0.6483 | 0.2282 |
| 交互候选 | 对单英雄基线Log loss减少 | 95%系列/事件块区间 |
|---|---|---|
| same | -0.000678 | [-0.004063, 0.002837] |
| enemy | -0.000470 | [-0.004469, 0.003661] |
| full | -0.004617 | [-0.010421, 0.001451] |
选择结果为 champions。同队/敌对交互未通过选择时,默认查询返回停用/未知,不拿原始胜率或共现叫克制;experimental 可以检查有支持的正则候选。
机会模型:赛制隔离
表格可左右滚动,查看完整列。
| 赛制 | 权重 | 选择机会 | 测试机会 | 测试Top5 | 测试Log loss |
|---|---|---|---|---|---|
| classic | 0 | 0 | 0 | 无样本 | 无样本 |
| full_fearless | 0.5 | 5850 | 6540 | 17.1% | 4.6760 |
Classic 的本局屏蔽不携带前局英雄,Full Fearless 屏蔽双方此前小局选用英雄。缺少完整历史或赛制未知时不输出机会评分。客户端 roster 只防止未来英雄跨版本混入;调用方可提供带来源和时间的精确可用池。未见英雄保留有标记的平滑先验与零支持,不伪装成测得的协同。相对池权重不是校准过的合法下一手概率。
稀疏对位候选视图
下表按支持度显示前 60 项,完整候选均在 relationships.json。四英雄顺序明确;规范排序第一组减第二组。数值只为 hierarchical 残差组件,不是总对线预测;未选中模型的候选不自动启用。
表格可左右滚动,查看完整列。
| 单位/分钟 | 规范对位ID(双人=bot,sup) | 比赛 | 系列 | 收缩权重 | 按赛制支持 | 调整残差组件 |
|---|---|---|---|---|---|---|
| top/10 | 58 对 897 | 261 | 226 | 0.723 | {'unknown': 231, 'classic': 6, 'full_fearless': 24} | cs_difference=1.5, gold_difference=31.1, xp_difference=26.0 |
| top/15 | 58 对 897 | 261 | 226 | 0.723 | {'unknown': 231, 'classic': 6, 'full_fearless': 24} | cs_difference=1.7, gold_difference=55.9, xp_difference=26.6 |
| top/10 | 58 对 150 | 248 | 230 | 0.713 | {'unknown': 237, 'classic': 2, 'full_fearless': 9} | cs_difference=-0.1, gold_difference=-12.9, xp_difference=-1.3 |
| top/15 | 58 对 150 | 248 | 230 | 0.713 | {'unknown': 237, 'classic': 2, 'full_fearless': 9} | cs_difference=-0.5, gold_difference=-9.1, xp_difference=-6.9 |
| mid/10 | 163 对 268 | 233 | 218 | 0.959 | {'unknown': 131, 'classic': 15, 'full_fearless': 87} | cs_difference=-1.2, gold_difference=-16.0, xp_difference=-6.2 |
| mid/15 | 163 对 268 | 233 | 218 | 0.823 | {'unknown': 131, 'classic': 15, 'full_fearless': 87} | cs_difference=-0.6, gold_difference=4.5, xp_difference=2.7 |
| top/10 | 24 对 897 | 196 | 184 | 0.662 | {'unknown': 188, 'full_fearless': 8} | cs_difference=-1.2, gold_difference=-58.3, xp_difference=-24.6 |
| top/15 | 24 对 897 | 196 | 184 | 0.662 | {'unknown': 188, 'full_fearless': 8} | cs_difference=-1.7, gold_difference=-94.4, xp_difference=-58.2 |
| top/10 | 150 对 897 | 167 | 158 | 0.625 | {'unknown': 147, 'classic': 6, 'full_fearless': 14} | cs_difference=-0.2, gold_difference=0.7, xp_difference=-20.1 |
| top/15 | 150 对 897 | 167 | 158 | 0.625 | {'unknown': 147, 'classic': 6, 'full_fearless': 14} | cs_difference=0.1, gold_difference=-12.1, xp_difference=-12.4 |
| top/10 | 58 对 516 | 163 | 156 | 0.620 | {'unknown': 143, 'classic': 12, 'full_fearless': 8} | cs_difference=1.0, gold_difference=21.6, xp_difference=-9.3 |
| top/15 | 58 对 516 | 163 | 156 | 0.620 | {'unknown': 143, 'classic': 12, 'full_fearless': 8} | cs_difference=0.8, gold_difference=15.8, xp_difference=-21.8 |
| mid/10 | 103 对 163 | 157 | 147 | 0.940 | {'unknown': 90, 'classic': 7, 'full_fearless': 60} | cs_difference=0.9, gold_difference=111.1, xp_difference=47.9 |
| mid/15 | 103 对 163 | 157 | 147 | 0.758 | {'unknown': 90, 'classic': 7, 'full_fearless': 60} | cs_difference=1.0, gold_difference=82.2, xp_difference=4.5 |
| mid/10 | 61 对 268 | 156 | 143 | 0.940 | {'unknown': 147, 'classic': 2, 'full_fearless': 7} | cs_difference=-0.1, gold_difference=-10.7, xp_difference=-19.8 |
| mid/15 | 61 对 268 | 156 | 143 | 0.757 | {'unknown': 147, 'classic': 2, 'full_fearless': 7} | cs_difference=-0.2, gold_difference=-60.5, xp_difference=-58.2 |
| top/10 | 41 对 150 | 151 | 143 | 0.602 | {'unknown': 149, 'full_fearless': 2} | cs_difference=-0.3, gold_difference=-13.9, xp_difference=-29.8 |
| top/15 | 41 对 150 | 151 | 143 | 0.602 | {'unknown': 149, 'full_fearless': 2} | cs_difference=-0.9, gold_difference=-34.2, xp_difference=-58.1 |
| top/10 | 24 对 58 | 147 | 139 | 0.595 | {'unknown': 138, 'classic': 1, 'full_fearless': 8} | cs_difference=1.5, gold_difference=45.5, xp_difference=30.3 |
| top/15 | 24 对 58 | 147 | 139 | 0.595 | {'unknown': 138, 'classic': 1, 'full_fearless': 8} | cs_difference=2.2, gold_difference=105.7, xp_difference=43.0 |
| mid/10 | 103 对 268 | 145 | 139 | 0.935 | {'unknown': 103, 'classic': 4, 'full_fearless': 38} | cs_difference=-0.8, gold_difference=0.4, xp_difference=-26.2 |
| mid/15 | 103 对 268 | 145 | 139 | 0.744 | {'unknown': 103, 'classic': 4, 'full_fearless': 38} | cs_difference=-1.4, gold_difference=9.1, xp_difference=-38.6 |
| top/10 | 58 对 79 | 136 | 133 | 0.576 | {'unknown': 121, 'classic': 6, 'full_fearless': 9} | cs_difference=1.3, gold_difference=34.1, xp_difference=9.4 |
| top/15 | 58 对 79 | 136 | 133 | 0.576 | {'unknown': 121, 'classic': 6, 'full_fearless': 9} | cs_difference=2.2, gold_difference=91.4, xp_difference=18.4 |
| mid/10 | 18 对 42 | 136 | 105 | 0.932 | {'unknown': 119, 'classic': 13, 'full_fearless': 4} | cs_difference=-2.3, gold_difference=-21.2, xp_difference=-30.6 |
| mid/15 | 18 对 42 | 136 | 105 | 0.731 | {'unknown': 119, 'classic': 13, 'full_fearless': 4} | cs_difference=-2.5, gold_difference=8.2, xp_difference=-41.8 |
| top/10 | 150 对 887 | 132 | 124 | 0.569 | {'unknown': 120, 'full_fearless': 12} | cs_difference=1.4, gold_difference=38.8, xp_difference=38.0 |
| top/15 | 150 对 887 | 132 | 124 | 0.569 | {'unknown': 120, 'full_fearless': 12} | cs_difference=1.8, gold_difference=77.6, xp_difference=59.0 |
| mid/10 | 268 对 517 | 129 | 123 | 0.928 | {'unknown': 110, 'classic': 3, 'full_fearless': 16} | cs_difference=2.4, gold_difference=12.4, xp_difference=55.6 |
| mid/15 | 268 对 517 | 129 | 123 | 0.721 | {'unknown': 110, 'classic': 3, 'full_fearless': 16} | cs_difference=2.7, gold_difference=14.3, xp_difference=47.7 |
| mid/10 | 42 对 268 | 128 | 121 | 0.928 | {'unknown': 111, 'classic': 8, 'full_fearless': 9} | cs_difference=0.6, gold_difference=-1.1, xp_difference=-32.7 |
| mid/15 | 42 对 268 | 128 | 121 | 0.719 | {'unknown': 111, 'classic': 8, 'full_fearless': 9} | cs_difference=1.5, gold_difference=50.5, xp_difference=0.3 |
| mid/10 | 268 对 777 | 126 | 121 | 0.926 | {'unknown': 81, 'classic': 3, 'full_fearless': 42} | cs_difference=-1.9, gold_difference=-69.5, xp_difference=-72.2 |
| mid/15 | 268 对 777 | 126 | 121 | 0.716 | {'unknown': 81, 'classic': 3, 'full_fearless': 42} | cs_difference=-1.9, gold_difference=-77.3, xp_difference=-96.4 |
| bot_duo/10 | 221,117 对 236,267 | 123 | 104 | 0.552 | {'unknown': 121, 'full_fearless': 2} | bot_cs_difference=0.2, duo_gold_difference=-17.4, duo_xp_difference=-11.5 |
| bot_duo/15 | 221,117 对 236,267 | 123 | 104 | 0.552 | {'unknown': 121, 'full_fearless': 2} | bot_cs_difference=0.7, duo_gold_difference=19.0, duo_xp_difference=30.6 |
| top/10 | 58 对 266 | 121 | 111 | 0.548 | {'unknown': 101, 'classic': 6, 'full_fearless': 14} | cs_difference=1.5, gold_difference=60.0, xp_difference=-5.7 |
| top/15 | 58 对 266 | 121 | 111 | 0.548 | {'unknown': 101, 'classic': 6, 'full_fearless': 14} | cs_difference=2.1, gold_difference=76.4, xp_difference=24.4 |
| top/10 | 68 对 897 | 117 | 107 | 0.539 | {'unknown': 88, 'classic': 5, 'full_fearless': 24} | cs_difference=1.7, gold_difference=66.4, xp_difference=28.6 |
| top/15 | 68 对 897 | 117 | 107 | 0.539 | {'unknown': 88, 'classic': 5, 'full_fearless': 24} | cs_difference=2.1, gold_difference=89.1, xp_difference=45.3 |
| mid/10 | 112 对 268 | 117 | 107 | 0.921 | {'unknown': 100, 'full_fearless': 17} | cs_difference=-1.3, gold_difference=-57.9, xp_difference=-79.0 |
| mid/15 | 112 对 268 | 117 | 107 | 0.701 | {'unknown': 100, 'full_fearless': 17} | cs_difference=-1.1, gold_difference=-107.9, xp_difference=-46.9 |
| top/10 | 887 对 897 | 115 | 114 | 0.535 | {'unknown': 112, 'classic': 2, 'full_fearless': 1} | cs_difference=0.6, gold_difference=-3.9, xp_difference=13.3 |
| top/15 | 887 对 897 | 115 | 114 | 0.535 | {'unknown': 112, 'classic': 2, 'full_fearless': 1} | cs_difference=0.1, gold_difference=-3.6, xp_difference=5.2 |
| top/10 | 150 对 164 | 114 | 109 | 0.533 | {'unknown': 109, 'classic': 2, 'full_fearless': 3} | cs_difference=0.9, gold_difference=-10.9, xp_difference=-4.9 |
| top/15 | 150 对 164 | 114 | 109 | 0.533 | {'unknown': 109, 'classic': 2, 'full_fearless': 3} | cs_difference=1.4, gold_difference=33.2, xp_difference=41.1 |
| mid/10 | 84 对 268 | 114 | 109 | 0.919 | {'unknown': 106, 'classic': 2, 'full_fearless': 6} | cs_difference=-0.8, gold_difference=8.0, xp_difference=4.8 |
| mid/15 | 84 对 268 | 114 | 109 | 0.695 | {'unknown': 106, 'classic': 2, 'full_fearless': 6} | cs_difference=-0.3, gold_difference=16.0, xp_difference=14.5 |
| top/10 | 24 对 150 | 110 | 101 | 0.524 | {'unknown': 99, 'full_fearless': 11} | cs_difference=0.7, gold_difference=14.4, xp_difference=24.5 |
| top/15 | 24 对 150 | 110 | 101 | 0.524 | {'unknown': 99, 'full_fearless': 11} | cs_difference=1.4, gold_difference=31.7, xp_difference=61.5 |
| mid/10 | 61 对 112 | 109 | 105 | 0.916 | {'unknown': 87, 'full_fearless': 22} | cs_difference=-0.7, gold_difference=34.1, xp_difference=-12.4 |
| mid/15 | 61 对 112 | 109 | 105 | 0.686 | {'unknown': 87, 'full_fearless': 22} | cs_difference=-1.3, gold_difference=37.2, xp_difference=-57.3 |
| top/10 | 266 对 897 | 107 | 96 | 0.517 | {'unknown': 100, 'classic': 1, 'full_fearless': 6} | cs_difference=1.9, gold_difference=32.2, xp_difference=19.9 |
| top/15 | 266 对 897 | 107 | 96 | 0.517 | {'unknown': 100, 'classic': 1, 'full_fearless': 6} | cs_difference=2.8, gold_difference=52.5, xp_difference=28.9 |
| top/10 | 126 对 150 | 106 | 97 | 0.515 | {'unknown': 105, 'full_fearless': 1} | cs_difference=0.8, gold_difference=-2.8, xp_difference=15.7 |
| top/15 | 126 对 150 | 106 | 97 | 0.515 | {'unknown': 105, 'full_fearless': 1} | cs_difference=1.4, gold_difference=23.9, xp_difference=58.7 |
| mid/10 | 18 对 268 | 103 | 92 | 0.912 | {'unknown': 96, 'classic': 5, 'full_fearless': 2} | cs_difference=1.0, gold_difference=33.6, xp_difference=-44.3 |
| mid/15 | 18 对 268 | 103 | 92 | 0.673 | {'unknown': 96, 'classic': 5, 'full_fearless': 2} | cs_difference=0.3, gold_difference=72.8, xp_difference=-23.0 |
| mid/10 | 13 对 61 | 97 | 89 | 0.907 | {'unknown': 77, 'full_fearless': 20} | cs_difference=-0.3, gold_difference=43.7, xp_difference=-4.4 |
| mid/15 | 13 对 61 | 97 | 89 | 0.660 | {'unknown': 77, 'full_fearless': 20} | cs_difference=-1.5, gold_difference=-10.5, xp_difference=-94.8 |
#15 逐项验收
| 要求 | 实现 | 保留的数据限制 |
|---|---|---|
| 既有顶级队比赛档案、国际赛/已完赛 DCGI,覆盖缺失记账 | 全档案逐局审计,至少一方年度成员;对线/跨路保留未知赛制 | 未核验完整系列连接的比赛隔离;DCGI 全部已收录对局作为一个保守测试块,84 场保留评估分区,13 个别名重复;冻结至指定旧快照,非实时采集 |
| 排除盲选、Classic / Full Fearless 机会分开 | 上游显式盲选已排除;已知规则分别拟合;未知/混合/不完整选禁系列不训练机会 | 历史规则及修订有缺失;未猜成 Classic,LEC 2024 证据保留修订 caveat |
| 实际分路、10/15分钟 CS/金币/经验,完整下路双人对位 | 原目标、独立有限标签分母、四英雄键、ADC CS/双人金币经验、完整消融 | 物理站线/换线/游走/介入仍未知 |
| 稀疏共享/收缩与不确定性 | 正则英雄/双人项、规范对位残差收缩、低支持分组、单次表现残差区间与系列误差差异区间 | 不提供伪造克制系数 CI;跨年区间覆盖不保证 |
| 共选、同队、敌对关系分开;控制版本/双方/实力/单英雄基线 | 独立共选;全局五模型;版本类别/主次版本、赛区/赛制/赛前 Elo;负结果保留回退 | 未知赛制可能残留混杂;全部关系为调整后关联而非因果克制 |
| 职业为主,少量同口径排位辅助,禁用选手英雄胜率/KDA加分 | 独立 2493 场迁移验证已交付;无稳定金币收益,当前贡献零;M2 特征不含个人英雄胜率/KDA | 排位逐局队列与段位未知;不声明全部大师以上 |
| 版本/英雄/候选分路/当前阵容查询,支持与来源,队伍倾向接口 | 统一 JSON API;可行联合分路边缘化;当前前缀与带来源的可用池;team 历史上下文 | 默认客户端 roster 不是官方禁用名单;调用方池未经项目独立核验,不虚报合法概率或 T1 优线偏好 |
| 时间/完整系列验证、去重、脚本/参数/结构化结果/可视化/覆盖报告;不覆盖 M1 | 分组切分、完成后标签、固定回放、哈希、全部消融与本报告;M1/M3 文件不改 | 2026 已被查看过,仅回顾诊断;M4 接入与未来未见窗口为后续工作 |
开发交付已经覆盖 #15 的模块、验证、接口和报告要求。缺失已按数据状态保留在合同中,不声称恢复全部历史官方规则/名单;生产排位权重零、未通过选择的关系回退、无个人英雄胜率/KDA加分。下一阶段是 M4 接入与新时间窗口验证。
查询接口示例
以下为冻结接口的请求与响应示例。网页展示历史研究结果;实时逐手 BP 预测属于后续 M4。
示例 1 · descriptive_pool_association
{
"request": {
"module": "co_selection",
"patch": "26.02",
"draft_format": "full_fearless",
"picking_side": "Blue",
"series_game_number": 1,
"selected": [
{
"side": "Red",
"champion_id": 268
},
{
"side": "Blue",
"champion_id": 61
}
],
"bans": [
{
"champion_id": 54,
"phase": 1,
"side": "Red"
},
{
"champion_id": 115,
"phase": 1,
"side": "Blue"
},
{
"champion_id": 84,
"phase": 1,
"side": "Red"
},
{
"champion_id": 126,
"phase": 1,
"side": "Blue"
},
{
"champion_id": 68,
"phase": 1,
"side": "Red"
},
{
"champion_id": 110,
"phase": 1,
"side": "Blue"
},
{
"champion_id": 804,
"phase": 2,
"side": "Blue"
},
{
"champion_id": 56,
"phase": 2,
"side": "Red"
},
{
"champion_id": 12,
"phase": 2,
"side": "Blue"
},
{
"champion_id": 111,
"phase": 2,
"side": "Red"
}
]
},
"response": {
"schema_version": "m2.relationships.final.v1",
"model_version": "m2_final_v1",
"status": "descriptive_pool_association",
"patch": "26.02",
"format": "full_fearless",
"source_release": "m1-final-2026-10-11",
"available_from_utc": "2026-01-01",
"max_training_label_time": "2025-08-31T23:28:13+00:00",
"ranked_weight": 0,
"source": "whole existing professional archive; unknown rules retained as unknown performance context",
"relationship_support_scope": "Pooled admitted professional training archive, including unknown formats; not same-patch/same-format evidence",
"format_training_games": {
"unknown": 10468,
"classic": 209,
"full_fearless": 2055
},
"interpretation": "Adjusted association; never causal counter strength",
"missing_context": [
"physical_lane",
"lane_swaps",
"jungle_interventions",
"support_roaming"
],
"evaluation_status": "Retrospective 2026 diagnosis; no new blind test claimed",
"module": "co_selection",
"score": null,
"availability": {
"type": "client_roster_only",
"source": "https://ddragon.leagueoflegends.com/cdn/16.2.1/data/en_US/champion.json",
"independently_verified": false
},
"official_legality_verified": false,
"candidate_pool_complete_by_caller_declaration": false,
"normalization_scope": "exact supplied or default client candidate pool, not inferred complete official legal space",
"mask": {
"current_pick_number": 3,
"phase": 1,
"excluded_ids": [
54,
61,
68,
84,
110,
115,
126,
268
],
"prior_game_exclusion_applied": true
},
"selected_weight": 0.5,
"unsupported_training_heroes": [
11,
17,
28,
33,
35,
37,
55,
105,
122,
141,
161,
166,
200,
233,
360,
420,
904
],
"scores": [
{
"champion_id": 12,
"relative_pool_probability": 0.04323554781882104,
"training_pick_opportunities": 543,
"support_by_prefix_hero": {
"61": 28
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 526,
"relative_pool_probability": 0.039906962209449476,
"training_pick_opportunities": 557,
"support_by_prefix_hero": {
"61": 23
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 497,
"relative_pool_probability": 0.03468659708492761,
"training_pick_opportunities": 463,
"support_by_prefix_hero": {
"61": 21
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 799,
"relative_pool_probability": 0.033266105242735884,
"training_pick_opportunities": 491,
"support_by_prefix_hero": {
"61": 18
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 145,
"relative_pool_probability": 0.03296270188423809,
"training_pick_opportunities": 420,
"support_by_prefix_hero": {
"61": 21
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 42,
"relative_pool_probability": 0.030759935128783483,
"training_pick_opportunities": 470,
"support_by_prefix_hero": {
"61": 16
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 202,
"relative_pool_probability": 0.028192668677093857,
"training_pick_opportunities": 341,
"support_by_prefix_hero": {
"61": 19
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 78,
"relative_pool_probability": 0.025001114577614704,
"training_pick_opportunities": 317,
"support_by_prefix_hero": {
"61": 16
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 201,
"relative_pool_probability": 0.024790793663337644,
"training_pick_opportunities": 352,
"support_by_prefix_hero": {
"61": 14
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 5,
"relative_pool_probability": 0.024589548717798764,
"training_pick_opportunities": 608,
"support_by_prefix_hero": {
"61": 7
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 111,
"relative_pool_probability": 0.02435186049958367,
"training_pick_opportunities": 420,
"support_by_prefix_hero": {
"61": 11
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 518,
"relative_pool_probability": 0.023474492186564777,
"training_pick_opportunities": 298,
"support_by_prefix_hero": {
"61": 15
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 498,
"relative_pool_probability": 0.022993698755121087,
"training_pick_opportunities": 255,
"support_by_prefix_hero": {
"61": 17
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 62,
"relative_pool_probability": 0.02279834978941852,
"training_pick_opportunities": 403,
"support_by_prefix_hero": {
"61": 10
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 893,
"relative_pool_probability": 0.02030392462924975,
"training_pick_opportunities": 392,
"support_by_prefix_hero": {
"61": 8
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 897,
"relative_pool_probability": 0.019967047428916657,
"training_pick_opportunities": 315,
"support_by_prefix_hero": {
"61": 10
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 14,
"relative_pool_probability": 0.019316611119552716,
"training_pick_opportunities": 358,
"support_by_prefix_hero": {
"61": 8
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 89,
"relative_pool_probability": 0.018779482170145148,
"training_pick_opportunities": 379,
"support_by_prefix_hero": {
"61": 7
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 56,
"relative_pool_probability": 0.018451608714730623,
"training_pick_opportunities": 149,
"support_by_prefix_hero": {
"61": 19
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 236,
"relative_pool_probability": 0.018019478580274192,
"training_pick_opportunities": 220,
"support_by_prefix_hero": {
"61": 12
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 15,
"relative_pool_probability": 0.01797470798566681,
"training_pick_opportunities": 167,
"support_by_prefix_hero": {
"61": 16
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 81,
"relative_pool_probability": 0.016993137722538795,
"training_pick_opportunities": 477,
"support_by_prefix_hero": {
"61": 4
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 58,
"relative_pool_probability": 0.015912653178137344,
"training_pick_opportunities": 250,
"support_by_prefix_hero": {
"61": 8
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 80,
"relative_pool_probability": 0.01583764360927459,
"training_pick_opportunities": 363,
"support_by_prefix_hero": {
"61": 5
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 150,
"relative_pool_probability": 0.01507943867122139,
"training_pick_opportunities": 169,
"support_by_prefix_hero": {
"61": 11
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 888,
"relative_pool_probability": 0.01465284557528172,
"training_pick_opportunities": 214,
"support_by_prefix_hero": {
"61": 8
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 432,
"relative_pool_probability": 0.01428756657408202,
"training_pick_opportunities": 113,
"support_by_prefix_hero": {
"61": 15
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 254,
"relative_pool_probability": 0.01380476781815102,
"training_pick_opportunities": 407,
"support_by_prefix_hero": {
"61": 3
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 21,
"relative_pool_probability": 0.013765420503942654,
"training_pick_opportunities": 335,
"support_by_prefix_hero": {
"61": 4
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 516,
"relative_pool_probability": 0.013379525156608493,
"training_pick_opportunities": 180,
"support_by_prefix_hero": {
"61": 8
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 48,
"relative_pool_probability": 0.01263489877826951,
"training_pick_opportunities": 182,
"support_by_prefix_hero": {
"61": 7
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 22,
"relative_pool_probability": 0.01185796348769136,
"training_pick_opportunities": 185,
"support_by_prefix_hero": {
"61": 6
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 266,
"relative_pool_probability": 0.011653534120844357,
"training_pick_opportunities": 156,
"support_by_prefix_hero": {
"61": 7
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 887,
"relative_pool_probability": 0.011625441596118795,
"training_pick_opportunities": 307,
"support_by_prefix_hero": {
"61": 3
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 57,
"relative_pool_probability": 0.011306745909877097,
"training_pick_opportunities": 198,
"support_by_prefix_hero": {
"61": 5
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 113,
"relative_pool_probability": 0.011201395311834235,
"training_pick_opportunities": 369,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 235,
"relative_pool_probability": 0.010937592470903885,
"training_pick_opportunities": 122,
"support_by_prefix_hero": {
"61": 8
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 24,
"relative_pool_probability": 0.010809728514479169,
"training_pick_opportunities": 219,
"support_by_prefix_hero": {
"61": 4
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 59,
"relative_pool_probability": 0.010237075191443878,
"training_pick_opportunities": 140,
"support_by_prefix_hero": {
"61": 6
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 221,
"relative_pool_probability": 0.01017766825661003,
"training_pick_opportunities": 106,
"support_by_prefix_hero": {
"61": 8
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 429,
"relative_pool_probability": 0.010080373383263843,
"training_pick_opportunities": 193,
"support_by_prefix_hero": {
"61": 4
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 83,
"relative_pool_probability": 0.009994023270702753,
"training_pick_opportunities": 190,
"support_by_prefix_hero": {
"61": 4
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 72,
"relative_pool_probability": 0.009766758443278872,
"training_pick_opportunities": 298,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 3,
"relative_pool_probability": 0.009600981734539422,
"training_pick_opportunities": 290,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 43,
"relative_pool_probability": 0.008739226741842668,
"training_pick_opportunities": 122,
"support_by_prefix_hero": {
"61": 5
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 163,
"relative_pool_probability": 0.008644632268090573,
"training_pick_opportunities": 513,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 222,
"relative_pool_probability": 0.008509127493684744,
"training_pick_opportunities": 98,
"support_by_prefix_hero": {
"61": 6
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 79,
"relative_pool_probability": 0.008374347103172457,
"training_pick_opportunities": 95,
"support_by_prefix_hero": {
"61": 6
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 64,
"relative_pool_probability": 0.006670302922090962,
"training_pick_opportunities": 89,
"support_by_prefix_hero": {
"61": 4
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 950,
"relative_pool_probability": 0.006148360267730959,
"training_pick_opportunities": 212,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 103,
"relative_pool_probability": 0.005650965840619517,
"training_pick_opportunities": 335,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 51,
"relative_pool_probability": 0.005544350873789314,
"training_pick_opportunities": 81,
"support_by_prefix_hero": {
"61": 3
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 13,
"relative_pool_probability": 0.005482782333458222,
"training_pick_opportunities": 325,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 112,
"relative_pool_probability": 0.005230507072716277,
"training_pick_opportunities": 310,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 804,
"relative_pool_probability": 0.004904526361564539,
"training_pick_opportunities": 64,
"support_by_prefix_hero": {
"61": 3
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 777,
"relative_pool_probability": 0.004894140058393686,
"training_pick_opportunities": 290,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 76,
"relative_pool_probability": 0.004538135810319866,
"training_pick_opportunities": 132,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 267,
"relative_pool_probability": 0.004536652140453018,
"training_pick_opportunities": 55,
"support_by_prefix_hero": {
"61": 3
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 117,
"relative_pool_probability": 0.004283345688015168,
"training_pick_opportunities": 71,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 164,
"relative_pool_probability": 0.004283345688015168,
"training_pick_opportunities": 71,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 18,
"relative_pool_probability": 0.00376892897903698,
"training_pick_opportunities": 97,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 517,
"relative_pool_probability": 0.003531853650387197,
"training_pick_opportunities": 209,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 1,
"relative_pool_probability": 0.0034141251953742906,
"training_pick_opportunities": 202,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 53,
"relative_pool_probability": 0.0032564618162981584,
"training_pick_opportunities": 42,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 31,
"relative_pool_probability": 0.003135402502735688,
"training_pick_opportunities": 39,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 77,
"relative_pool_probability": 0.0029244495697907306,
"training_pick_opportunities": 34,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 147,
"relative_pool_probability": 0.002806046938111557,
"training_pick_opportunities": 21,
"support_by_prefix_hero": {
"61": 3
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 901,
"relative_pool_probability": 0.0027840096215232,
"training_pick_opportunities": 57,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 98,
"relative_pool_probability": 0.0025911964777549277,
"training_pick_opportunities": 50,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 36,
"relative_pool_probability": 0.0025729680143918915,
"training_pick_opportunities": 13,
"support_by_prefix_hero": {
"61": 4
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 555,
"relative_pool_probability": 0.0025073944316819576,
"training_pick_opportunities": 25,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 234,
"relative_pool_probability": 0.002388205801690391,
"training_pick_opportunities": 141,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 41,
"relative_pool_probability": 0.002387324452236431,
"training_pick_opportunities": 15,
"support_by_prefix_hero": {
"61": 3
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 523,
"relative_pool_probability": 0.0022675228695052223,
"training_pick_opportunities": 39,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 876,
"relative_pool_probability": 0.0022032039438129656,
"training_pick_opportunities": 130,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 238,
"relative_pool_probability": 0.0019420061525529928,
"training_pick_opportunities": 29,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 85,
"relative_pool_probability": 0.0017628006501095716,
"training_pick_opportunities": 24,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 203,
"relative_pool_probability": 0.0017628006501095716,
"training_pick_opportunities": 24,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 2,
"relative_pool_probability": 0.001647999283801425,
"training_pick_opportunities": 21,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 350,
"relative_pool_probability": 0.0016165471156621802,
"training_pick_opportunities": 10,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 157,
"relative_pool_probability": 0.0015677012513678438,
"training_pick_opportunities": 19,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 910,
"relative_pool_probability": 0.0015472882658839155,
"training_pick_opportunities": 91,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 143,
"relative_pool_probability": 0.0015304699151677853,
"training_pick_opportunities": 90,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 875,
"relative_pool_probability": 0.0015262465630978132,
"training_pick_opportunities": 18,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 223,
"relative_pool_probability": 0.0014403501062408104,
"training_pick_opportunities": 16,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 86,
"relative_pool_probability": 0.0013761316794205036,
"training_pick_opportunities": 7,
"support_by_prefix_hero": {
"61": 2
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 60,
"relative_pool_probability": 0.001362286408006491,
"training_pick_opportunities": 80,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 82,
"relative_pool_probability": 0.0010382467967361495,
"training_pick_opportunities": 8,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 44,
"relative_pool_probability": 0.0009134826462201296,
"training_pick_opportunities": 6,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 154,
"relative_pool_probability": 0.0009134826462201296,
"training_pick_opportunities": 6,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 40,
"relative_pool_probability": 0.0005951700421473663,
"training_pick_opportunities": 2,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 69,
"relative_pool_probability": 0.0005886422750645324,
"training_pick_opportunities": 34,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 119,
"relative_pool_probability": 0.0005718239243484038,
"training_pick_opportunities": 33,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 427,
"relative_pool_probability": 0.0005718239243484038,
"training_pick_opportunities": 33,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 74,
"relative_pool_probability": 0.0004853718906208359,
"training_pick_opportunities": 1,
"support_by_prefix_hero": {
"61": 1
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 412,
"relative_pool_probability": 0.00038682206647097867,
"training_pick_opportunities": 22,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 8,
"relative_pool_probability": 0.00035318536503871947,
"training_pick_opportunities": 20,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 4,
"relative_pool_probability": 0.00033636701432258995,
"training_pick_opportunities": 19,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 800,
"relative_pool_probability": 0.00033636701432258995,
"training_pick_opportunities": 19,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 7,
"relative_pool_probability": 0.00031954866360646054,
"training_pick_opportunities": 18,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 902,
"relative_pool_probability": 0.00031954866360646054,
"training_pick_opportunities": 18,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 134,
"relative_pool_probability": 0.00030273031289033134,
"training_pick_opportunities": 17,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 136,
"relative_pool_probability": 0.00025227526074194273,
"training_pick_opportunities": 14,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 106,
"relative_pool_probability": 0.00023545691002581313,
"training_pick_opportunities": 13,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 63,
"relative_pool_probability": 0.00021863855930968348,
"training_pick_opportunities": 12,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 50,
"relative_pool_probability": 0.00020182020859355399,
"training_pick_opportunities": 11,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 131,
"relative_pool_probability": 0.0001850018578774246,
"training_pick_opportunities": 10,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 6,
"relative_pool_probability": 0.00016818350716129525,
"training_pick_opportunities": 9,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 34,
"relative_pool_probability": 0.00016818350716129525,
"training_pick_opportunities": 9,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 96,
"relative_pool_probability": 0.00015136515644516564,
"training_pick_opportunities": 8,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 38,
"relative_pool_probability": 0.00013454680572903585,
"training_pick_opportunities": 7,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 30,
"relative_pool_probability": 0.00011772845501290657,
"training_pick_opportunities": 6,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 142,
"relative_pool_probability": 0.00011772845501290657,
"training_pick_opportunities": 6,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 19,
"relative_pool_probability": 0.00010091010429677698,
"training_pick_opportunities": 5,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 23,
"relative_pool_probability": 0.00010091010429677698,
"training_pick_opportunities": 5,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 26,
"relative_pool_probability": 0.00010091010429677698,
"training_pick_opportunities": 5,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 101,
"relative_pool_probability": 0.00010091010429677698,
"training_pick_opportunities": 5,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 114,
"relative_pool_probability": 0.00010091010429677698,
"training_pick_opportunities": 5,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 29,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 90,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 99,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 121,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 127,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 240,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 246,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 421,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 895,
"relative_pool_probability": 8.409175358064746e-05,
"training_pick_opportunities": 4,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 9,
"relative_pool_probability": 6.727340286451804e-05,
"training_pick_opportunities": 3,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 16,
"relative_pool_probability": 6.727340286451804e-05,
"training_pick_opportunities": 3,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 32,
"relative_pool_probability": 6.727340286451804e-05,
"training_pick_opportunities": 3,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 39,
"relative_pool_probability": 6.727340286451804e-05,
"training_pick_opportunities": 3,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 91,
"relative_pool_probability": 6.727340286451804e-05,
"training_pick_opportunities": 3,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 92,
"relative_pool_probability": 6.727340286451804e-05,
"training_pick_opportunities": 3,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 25,
"relative_pool_probability": 5.045505214838849e-05,
"training_pick_opportunities": 2,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 27,
"relative_pool_probability": 5.045505214838849e-05,
"training_pick_opportunities": 2,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 67,
"relative_pool_probability": 5.045505214838849e-05,
"training_pick_opportunities": 2,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 75,
"relative_pool_probability": 5.045505214838849e-05,
"training_pick_opportunities": 2,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 102,
"relative_pool_probability": 5.045505214838849e-05,
"training_pick_opportunities": 2,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 245,
"relative_pool_probability": 5.045505214838849e-05,
"training_pick_opportunities": 2,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 711,
"relative_pool_probability": 5.045505214838849e-05,
"training_pick_opportunities": 2,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 10,
"relative_pool_probability": 3.363670143225901e-05,
"training_pick_opportunities": 1,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 20,
"relative_pool_probability": 3.363670143225901e-05,
"training_pick_opportunities": 1,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 45,
"relative_pool_probability": 3.363670143225901e-05,
"training_pick_opportunities": 1,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 104,
"relative_pool_probability": 3.363670143225901e-05,
"training_pick_opportunities": 1,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 107,
"relative_pool_probability": 3.363670143225901e-05,
"training_pick_opportunities": 1,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 120,
"relative_pool_probability": 3.363670143225901e-05,
"training_pick_opportunities": 1,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 133,
"relative_pool_probability": 3.363670143225901e-05,
"training_pick_opportunities": 1,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "historical_context_and_prefix"
},
{
"champion_id": 11,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 17,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 28,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 33,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 35,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 37,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 55,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 105,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 122,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 141,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 161,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 166,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 200,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 233,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 360,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 420,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
},
{
"champion_id": 904,
"relative_pool_probability": 1.6818350716129506e-05,
"training_pick_opportunities": 0,
"support_by_prefix_hero": {
"61": 0
},
"fallback": "smoothed_unseen_prior"
}
],
"uncertainty": "Descriptive weights normalized over this exact masked pool; unseen priors are explicit, not measured synergy or calibrated next-pick probabilities",
"team_preference_interface": "Optional team selects a historical context prior; no claim of preference for winning lanes"
}
}示例 2 · incomplete_role_matchup
{
"request": {
"module": "lane",
"patch": "26.02",
"draft_format": "unknown",
"unit": "bot_duo",
"selected": [
{
"side": "Red",
"champion_id": 268
},
{
"side": "Blue",
"champion_id": 61
}
]
},
"response": {
"schema_version": "m2.relationships.final.v1",
"model_version": "m2_final_v1",
"status": "incomplete_role_matchup",
"patch": "26.02",
"format": "unknown",
"source_release": "m1-final-2026-10-11",
"available_from_utc": "2026-01-01",
"max_training_label_time": "2025-08-31T23:28:13+00:00",
"ranked_weight": 0,
"source": "whole existing professional archive; unknown rules retained as unknown performance context",
"relationship_support_scope": "Pooled admitted professional training archive, including unknown formats; not same-patch/same-format evidence",
"format_training_games": {
"unknown": 10468,
"classic": 209,
"full_fearless": 2055
},
"interpretation": "Adjusted association; never causal counter strength",
"missing_context": [
"physical_lane",
"lane_swaps",
"jungle_interventions",
"support_roaming"
],
"evaluation_status": "Retrospective 2026 diagnosis; no new blind test claimed",
"score": null,
"supported_role_mass": 0,
"role_scenarios": 6,
"unknown_role_priors": [],
"missing_scenarios": [
{
"weight": 1.5700271353023218e-06,
"status": "incomplete_matchup"
},
{
"weight": 0.001165745147961974,
"status": "incomplete_matchup"
},
{
"weight": 0.0013418498583050512,
"status": "incomplete_matchup"
},
{
"weight": 0.9963235197915005,
"status": "incomplete_matchup"
},
{
"weight": 1.5700271353023218e-06,
"status": "incomplete_matchup"
},
{
"weight": 0.001165745147961974,
"status": "incomplete_matchup"
}
],
"reason": "Missing counterpart or unsupported role remains unknown; no final lineup/future pick lookup"
}
}示例 3 · historical_association
{
"request": {
"module": "global",
"patch": "26.02",
"draft_format": "unknown",
"selected": [
{
"side": "Red",
"champion_id": 268
},
{
"side": "Blue",
"champion_id": 61
}
]
},
"response": {
"schema_version": "m2.relationships.final.v1",
"model_version": "m2_final_v1",
"status": "historical_association",
"patch": "26.02",
"format": "unknown",
"source_release": "m1-final-2026-10-11",
"available_from_utc": "2026-01-01",
"max_training_label_time": "2025-08-31T23:28:13+00:00",
"ranked_weight": 0,
"source": "whole existing professional archive; unknown rules retained as unknown performance context",
"relationship_support_scope": "Pooled admitted professional training archive, including unknown formats; not same-patch/same-format evidence",
"format_training_games": {
"unknown": 10468,
"classic": 209,
"full_fearless": 2055
},
"interpretation": "Adjusted association; never causal counter strength",
"missing_context": [
"physical_lane",
"lane_swaps",
"jungle_interventions",
"support_roaming"
],
"evaluation_status": "Retrospective 2026 diagnosis; no new blind test claimed",
"module": "global",
"variant": "champions",
"selected_variant": "champions",
"experimental_override": false,
"relationship_enabled": false,
"score": null,
"complete_relationship_coverage": false,
"score_unit": "Blue-minus-Red interaction log odds; partial lineups are not win probabilities",
"pairs": [
{
"champions": [
268,
61
],
"type": "enemy",
"adjusted_log_odds": null,
"role_support_min": 0,
"role_support_max": 0,
"supported_role_mass": 0,
"uncertainty": "No calibrated relationship confidence interval; sparse/unseen role pairs use neutral model fallback"
}
],
"role_scenarios": 6,
"unknown_role_priors": [],
"uncertainty": {
"sampling_confidence_interval": null,
"low_support": true,
"role_marginalization": "Historical training priors conditioned on feasible same-side roles; no final lineup lookup",
"unseen_patch": true,
"feature_min_training_games": 20
},
"fallback": "context_and_single_champions"
}
}示例 4 · unknown_format
{
"request": {
"module": "co_selection",
"patch": "26.02",
"draft_format": "unknown",
"picking_side": "Blue"
},
"response": {
"schema_version": "m2.relationships.final.v1",
"model_version": "m2_final_v1",
"status": "unknown_format",
"patch": "26.02",
"format": "unknown",
"source_release": "m1-final-2026-10-11",
"available_from_utc": "2026-01-01",
"max_training_label_time": "2025-08-31T23:28:13+00:00",
"ranked_weight": 0,
"source": "whole existing professional archive; unknown rules retained as unknown performance context",
"relationship_support_scope": "Pooled admitted professional training archive, including unknown formats; not same-patch/same-format evidence",
"format_training_games": {
"unknown": 10468,
"classic": 209,
"full_fearless": 2055
},
"interpretation": "Adjusted association; never causal counter strength",
"missing_context": [
"physical_lane",
"lane_swaps",
"jungle_interventions",
"support_roaming"
],
"evaluation_status": "Retrospective 2026 diagnosis; no new blind test claimed",
"score": null,
"reason": "Unknown rules never use guessed Classic/Fearless exclusions"
}
}