现行主计分是自定义的 Glicko-2 双打扩展:周内逐场预估、每周一正式结算,分数自带不确定性。旧版 ELO 见页底链接。
现行:Glicko-2 双打
每位选手的状态是三元组(r,RD,σ):r 是实力估计,即页面展示的分数;RD(rating deviation)是不确定性的展示尺度,越大表示越没把握;σ 是内部坐标下以周为单位的波动性,描述实力本身的漂移速度。每场比赛只依据胜负更新——比分只决定谁赢,不进入分值。
现行参数
| 参数 | 值 | 说明 |
|---|---|---|
| 新人初始 r | 1000 | 展示分 |
| 新人初始 RD | 180 | 承认新人实力未知 |
| RD 下限 | 60 | 保留调整空间 |
| RD 上限 | 250 | 限制停赛后的不确定性 |
| 初始波动性 σ | 0.06 | 内部 x 坐标、每周单位 |
| 波动性约束 τ | 0.3 | 约束 σ 的更新幅度 |
| 赛季软重置 | 0.75 | 超出 900~1100 区间的部分按 0.75 保留,季初 RD 下限 90;详见赛季报页 |
新人与有效比赛
- 第一场有效比赛立即计分,没有试用场数:以 1000 / RD 180 起步参与更新,赛后即得预估分。RD 180 表示「承认新人实力未知」,新人前几场涨跌偏大是参数使然,不是异常。
- 一直没参赛的成员保持「未评级」:不虚构 1000 分、不进排名。
- 有效比赛:四名互不相同、已在球员目录登记的球员;真实日历日期;比分为不相等的非负整数(没有平局,不限 21 分上限)。报名时的「小伙伴」只计入人数,不进比赛、不产生评分。
内部坐标
对外保留 1000 分中心;对内使用适配双打均分的坐标。1/2 尺度同时作用于实力与不确定性,不能只缩分差而不缩不确定性:
c = 173.7178 x = (r − 1000) / (2c) φ = RD / (2c) r = 1000 + 2c·x RD = 2c·φ σ 在 x 坐标下以周为单位保存 不与其他尺度的波动性混用
等效对手:搭档修正
更新 A1(搭档 A2,对手 B1、B2)时,把两名对手与搭档合成一个等效对手。搭档在均值公式中是减号,方差仍相加——其余三人的评分都有误差,他们的方差全部计入:
x_virtual = x_B1 + x_B2 − x_A2 φ_virtual = sqrt(φ_B1²+φ_B2²+φ_A2²)
等效对手只用于计算,不会被截断到真人分数的上下限,因此等效 RD 可以超过真人的 RD 上限。例:1400+800 对阵 1100+1100,双方总实力相等,对外胜率恰为 50%;更新 1400 分选手时等效对手是 1400,更新 800 分选手时是 800——低分选手的获胜不会被单独记为爆冷。四人 RD 相同时,两名队友的预估涨跌相同;RD 不同时则可以不同。
对外胜率
预测一对互补概率,同时考虑四人的不确定性;不确定性越大,预测越向 50% 收缩:
g(z) = 1 / sqrt(1 + 3z² / π²) D = x_A1 + x_A2 − x_B1 − x_B2 U² = φ_A1² + φ_A2² + φ_B1² + φ_B2² P(A 胜) = logistic(g(U) · D) logistic(z) = 1 / (1 + e^(−z))
个人更新里的期望胜率 E 以等效对手为条件计算(自己的不确定性走更新公式,其余三人走等效对手),与对外 P(A 胜) 口径不同。不能把四个 E 拼成展示胜率,也不能拿对外 P 替换核心内部的 E。
结算节奏:周内 Estimated,周末 Final
- 区段:每周一 00:00(Asia/Shanghai)起算,左闭右开;比赛按实际日期归属,不按录入日期。
- 周内:从区段开始的不可变正式基准出发逐场预估(Estimated)。区段开始只计入一次过程方差 φ² ← φ² + h·σ²(h 为区段周数),随后冻结波动性,逐场顺序近似——不是每场重复一次完整的周更新。
- 周末:从同一区段初基准出发,把整周比赛一次性批量跑标准 Glicko-2,得到 Final,作为下一区段的正式基准;Estimated 只留作该周预估历史。
- 周结算校准 = Final − 周末 Estimated,周一结算时单列展示。例如一周从 1000 开始,周末预估 1020、正式结果 1017,显示「本周正式 +17;周结算校准 −3」。校准可正可负,是结算事件,不伪装成某场输赢(交互示例,非回测结果)。
- 无比赛的区段:实力与波动性不变,只增加不确定性(RD 封顶 250)。
周内冻结波动性下的单场更新(Estimated 路径):
d_i = x_i − x_virtual
g_i = g(φ_virtual)
E_i = logistic(g_i · d_i)
I_i = g_i² · E_i · (1 − E_i)
G_i = g_i · (result_i − E_i)
V_i = 1 / (1 / φ_i² + I_i)
x_i' = x_i + V_i · G_i
φ_i' = sqrt(V_i)
result ∈ {1 胜, 0 负}四人从同一份赛前快照同时写回;不能先更新 A 队、再用变化后的状态更新 B 队。RD 边界在准备工作状态和每次更新后应用,均值更新使用未截断的 V。
数值示例
甲 1060/112、乙 940/132 对阵 丙 1030/142、丁 990/161(分数/RD,RD 已含区段开始计入的一次过程方差,σ 均为 0.06),甲队 21:17 获胜。表中数字由评分引擎按上述公式实算。
赛前对外胜率:D = (1060 + 940 − 1030 − 990) / 347.4356 ≈ −0.0576,U ≈ 0.794,g(U) ≈ 0.916,P(A 胜) = logistic(−0.0527) ≈ 48.68%(乙队 51.32%)。
| 选手 | 赛前 r / RD | 等效对手分 | 等效 RD | E | 结果 | Δr | 赛后 r / RD |
|---|---|---|---|---|---|---|---|
| 甲 | 1060 / 112 | 1080 | 252 | 0.4866 | 胜 | +16.82 | 1076.8 / 110.7 |
| 乙 | 940 / 132 | 960 | 242 | 0.4866 | 胜 | +23.19 | 963.2 / 129.6 |
| 丙 | 1030 / 142 | 1010 | 236 | 0.5135 | 负 | −26.75 | 1003.3 / 139.0 |
| 丁 | 990 / 161 | 970 | 223 | 0.5136 | 负 | −34.61 | 955.4 / 157.6 |
- 乙的分数最低,但 RD 最大、调整空间最大,等效对手(960)又略高于自己,E 不足五成,因此获胜后涨得最多。
- 等效 RD(223~252)超过真人 RD 上限 250 是正常的:三人方差相加,等效对手不做截断。
- 四人 Δr 合计 −21.35 分,不为零:Glicko-2 不保证零和,本扩展也不人为摊平,不保证多打就涨分。
停赛、非零和与主榜
- 停赛不扣分:连续 t 周无比赛,φ² ← φ² + t·σ²,再应用 RD 上限;已有评分的缺席者不自动失去分数。
- 不确定性刻意涨得慢:以初始 σ = 0.06 估算,一整季(13 周)不打,RD 从下限 60 涨到约 96;连续约 135 周(两年半)不打才封顶 250。
- 主榜按实力均值 r 排序,不默认使用 r − k·RD,避免把不确定性增长悄悄变成扣分;RD 是可信程度提示,不是已验证严格校准的置信区间。
- 不叠加连胜、出勤、净胜分等额外奖励;赛季软重置与周结算校准也不是出勤奖励。
赛季软重置
每季第一周结算时(季首周一 00:00 的区段边界),所有在册球员一次性向中心收缩:超出 1100 的部分、低于 900 的差距都只保留 3/4,区间内不动;RD 只抬不降,下限 90;σ 不变:
r' = 1100 + 0.75·(r − 1100) r' = 900 + 0.75·(r − 900) r' = r RD' = min(250, max(RD, 90)) σ' = σ
三行 r' 分别对应 r > 1100、r < 900、900~1100 区间内。例:1326 / RD 68 → 1269.5 / RD 90;842 / RD 96 → 856.5 / RD 96;1030 / RD 120 → 不动。赛季报的「期初」就是这次重置后的分数。
还在看旧版分数?
想看 Legacy ELO 计分方式