SuperAPI AI 工具集

ratings-strength-models

通用与其它

查看项目

更新于 10-16 02:32

技能介绍

用途:从过往比赛结果估计球队或球员的潜在实力,并确保评分只反映比赛T之前的信息。适用于赛季球队实力排名、胜负或分差模型的先验、对手调整,以及特征密集型ML之前的简单基线。何时使用:用户提到Elo、power ratings或team strength,或需要NFL/NBA/MLB式Elo基线。不适用于仅需原始表单窗口、完整ML建模、验证设计或基于评分的赛季胜场模拟等场景。

主要能力:

  1. 顺序Elo/Glicko风格评分:适合顺序胜率建模,易于做到as-of。
  2. 攻防拆分评分:分别建模进攻与防守参数,可预测比分而非仅胜负。
  3. 最小二乘功率评分:基于赛季至今的分差,每周求解系统。
  4. 层次化实力模型:当球员样本量不均时使用部分池化。
  5. 控球模型:适用于节奏类运动。

使用方式: 安装依赖:python -m pip install pandas;Parquet输入还需pyarrow或fastparquet。 构建赛前Elo表: python /path/to/ratings-strength-models/scripts/elo_asof.py --input games.csv --out elo_asof.csv --k 20 --home-adv 65 评估基线: python /path/to/ratings-strength-models/scripts/eval_elo_baseline.py --input elo_asof.csv

输入要求:用户自有CSV、Parquet、JSON、JSONL或NDJSON,每行一场完赛,需包含season、game_date、唯一game_id、home_team、away_team、home_score、away_score,字段名可配置。order字段必须严格排序。

输出:每场两行,包含team、opponent、is_home、elo_pre、rating_diff、主场调整后的elo_diff、win_probability、actual。平局记0.5。

评估:按赛季走步式评估,报告Elo对数损失、Brier分数、准确率、固定0.5参考,以及首个赛季后仅基于先前赛季的主场胜率参考。可传入合法基线概率列做同口径比较。注意该评估器只对已构建的赛前概率评分,不是完整走步式参数调优管线。

设计参数:K因子(高K反应快但噪声大,低K更稳但适应慢,NFL/NBA起始约K=20,1500刻度);主场优势(计算期望得分时加到主队赛前Elo上,先固定后可从数据估计);分差(可选K乘数,用log/sqrt避免压胜主导);均值回归/赛季回归(跨赛季向均值回归,对长面板和阵容更替重要);初始化(常见全队1500,须明确报告)。

评估指标:走步式对数损失/Brier(基于评分差的胜率)、预测分差的MAE。必须与常数基线、仅主场模型、表单逻辑回归基线比较。

限制:必须as-of only,绝不能用赛后评分预测该场;更新顺序须符合真实时间线;不可反复在最终测试赛季拟合K而无嵌套验证;须报告初始化和刻度;不能将评分当作因果球员质量;每个评分声明须注明运动、赛季、事件顺序和参数;只附带顺序Elo构建和评分脚本,Glicko、攻防、最小二乘、层次化、分差、控球等模型是方法说明,需要另外编码。