SuperAPI AI 工具集

sports-visualization

数据与分析

查看项目

更新于 10-16 04:36

技能介绍

用途

Sports Visualization 用于从用户自有数据创建最小可复现的体育分析图形,以回答一个明确定义的问题,而不夸大证据。每张重要图表都需说明其周期、样本量、指标定义、粒度和相关基线;当结论依赖噪声差异时,还需加入不确定性。

该技能构造图形。如需独立的保留/修复/淘汰审查,可使用 anti-slop-analytics;如需周边叙述,可使用 results-reporting。

主要能力

  • 探索性分布、覆盖率图、模型诊断、校准、评分与状态轨迹、球队或球员比较、walk-forward 结果以及出版级图形。
  • 不以图表类型为起点,而是从问题和每个标记代表的单位出发。
  • 提供图表选择目录,将问题路由到合适的图形形式。
  • 提供诚实标题和说明模板,以及不确定性语言指导。
  • 包含编码默认值,例如比率随赛季变化优先使用折线/点图或带 n 的柱状图,避免截断的“戏剧性”坐标轴。
  • 提供体育特定注意事项,如过滤主客场互补行、按预测时间点绘制滚动特征和评分、注意机会阈值或不确定性。
  • 硬性约束与完整性规则,确保周期和分母出现在每张关键图上,指标、单位、运动、人群和粒度明确,比较性结论包含基线,坐标轴和变换不制造效果。
  • 反模式清单,避免彩虹意大利面图、装饰性 3D、饼图、渐变、仪表盘、热手叙事、无问题的相关热图、缺失基线的模型比较图、无方法或窗口的平滑线、样本内拟合冒充验证、截断坐标轴放大微小变化、无源数据或命令的图像导出。

使用方式

需提供必需输入:问题和目标受众;用户自有数据或指标工件;运动、竞赛、粒度、自然键和周期;相关分母、过滤器和缺失数据规则;指标定义和方向;比较基线和不确定性工件(如适用);期望输出路径和复现上下文。

工作流:陈述单一主张或诊断问题;验证输入粒度、键、列、类型和重复事件;定义每个标记、线、柱或区间代表的含义;选择使比较最直接的最小图表;添加运动、人群、周期、分母、单位和基线;检查坐标轴、变换、聚合、分箱、平滑、缺失和排序;如果主张比较噪声量,添加不确定性或折展度;导出图像并保留绘图命令或代码;写一句事实解释和一条限制;在公开声明前运行 anti-slop 检查。

独立辅助脚本需安装 pandas 和 matplotlib;Parquet 还需 pyarrow 或 fastparquet。表格助手接受用户自有的 CSV、Parquet、JSON、JSONL 或 NDJSON。

对于包含 is_home 和 point_diff 的球队-比赛面板:

python <path-to-sports-visualization>/scripts/plot_home_margin_hist.py \
  --input games.csv --out home_margin.png

对于包含 season、is_home 和二元 won 的面板:

python <path-to-sports-visualization>/scripts/plot_home_win_rate.py \
  --input games.parquet --out home_rate.png

列标志可映射替代模式。主场胜率助手会丢弃没有观察到赛季/结果的行使,标注每个赛季符合条件的 home 行分母,使用 0 到 1 的比率刻度,并显示 95% Wilson 区间。这些区间将符合条件的比赛视为伯努利观测,不考虑更广泛的赛季/球队依赖性。

对于包含 folds 数组的 JSON 报告,每行需要明确的 fold 标签、留出分母(默认 n_test)以及候选和基线指标字段:

python <path-to-sports-visualization>/scripts/plot_walkforward_metrics.py \
  --json metrics.json \
  --fold-col fold \
  --metric logistic_log_loss \
  --baseline constant_log_loss \
  --out comparison.png

该助手拒绝重复的 fold 标签和缺失/非正分母,但无法验证两个指标列是否来自相同行,也无法从聚合分数推导抽样不确定性。绘图前需执行行身份检查;其默认标题标注不确定性不可用。

适用场景

  • 主场胜率:验证面板为球队-比赛粒度,过滤主队行,计数唯一比赛,并显示每个赛季的比率和分母。将图标题标注为“仅主队行”,并披露平局或被排除的比赛。
  • Walk-forward 模型比较:在每个符合条件的 fold 上,将候选和基线绘制在同一 y 轴。说明较低 log-loss 更好,保留候选输掉的 fold,如果小差异难以诚实读取,则使用表格。
  • 球队评分轨迹:绘制每个事件更新前记录的评分。直接标注少量相关球队,标记长时间不活跃的间隙,避免将评分线解释为因果的球员或教练影响。

限制

  • 如果来源是截图或四舍五入的报告表,除非明确标注为近似值,否则不要重建精确数据。应优先使用底层表格。
  • 不要虚构误差条,如果只有聚合数字。说明不确定性不可用,并显示原始 fold 或赛季值。
  • 当重复的球队、球员或比赛引入依赖时,避免假装行是独立的。考虑分组重采样或 fold 变异。
  • 区分未加权赛季均值、事件加权均值和汇总指标。标注所绘制的是哪一种。
  • 校准分箱需要事件计数。来自小分箱的平滑曲线不是强证据。
  • fold 级模型图必须保留失败的 fold,并比较相同的留出行。
  • 不等比赛场次、分钟、板次或尝试次数可能使球员和球队比率不可比。显示机会阈值或不确定性。
  • 赛程强度、季后赛选择、中立场地、加时、平局和规则变化可能改变表观趋势。
  • 赛季分面可能有不同长度和缺失周。不要将不连续的观测连接起来,好像间距相等。

输出契约

返回图形路径、源工件、绘图命令/代码、用途、人群和粒度、周期和分母、指标/基线、不确定性方法、重要排除项、一个有界解释和剩余限制。