SuperAPI AI 工具集

nixtla-baseline-review

数据与分析

查看项目

更新于 10-16 09:08

技能介绍

用途

Nixtla Baseline Review 用于审阅一个具体的 Baseline Lab 结果集。它的目标是对模型进行排序、给出聚合与逐序列证据,并把基准结论限定在产生它们的数据集、预测窗口和序列样本之内。该仓库被明确说明为社区集成,而非 Nixtla 官方产品或对整个基准的独立复现。

前置条件

需要提供 results_*.csv 的路径,或包含该文件的目录。文件必须包含以下列:series_id、model、sMAPE、MASE。

使用方式

  1. 使用 Glob 解析输入。若匹配到多个结果文件,会列出其路径与修改上下文,并要求用户选择;不会在未确认的情况下静默合并不同运行结果,或把某个文件当作“最新”。
  2. 使用 Read 检查表头、代表性行、同级的汇总文件,以及存在时的 run_manifest.json 或 compat_info.json。记录这些产物实际支持的数据集、预测窗口、序列数量、模型、频率和季节周期。
  3. 运行内置分析器:
python3 ${CLAUDE_SKILL_DIR}/scripts/analyze_results.py path/to/results.csv
  1. 检查分析器回执,关注被拒绝的行、重复的序列/模型对、并列、模型覆盖度以及非有限值。遇到 schema 或数值失败时应停止,而不是对部分数据求平均。
  2. 按用户指定的指标排序;否则先以 sMAPE 的均值和中位数为准,再报告 MASE 和胜出计数作为辅助证据。不应把微小的均值差异表述为分类性结论。
  3. 检查模型分歧的序列或所有已报告误差都偏高的序列。除非源数据的时间戳、季节性协变量确实支持,否则只能把观察到的模式表述为假设。
  4. 仅针对已观测的评估给出有边界的建议。在将任何模型称为可生产使用之前,需要样本外验证、成本/延迟检查以及运维审查。

指标护栏

  • sMAPE 和 MASE 越低越好,但两者都没有通用的“良好”阈值。
  • 解读 MASE 时必须结合该次运行使用的缩放分母和季节周期。某模型的 MASE 低于 1,表示其测试 MAE 低于样本内朴素基准的缩放值;它并不证明在所有情况下都有固定百分比的改进。
  • 不应声称 SeasonalNaive 的预测在留出数据上 MASE 必然恰好为 1。详见结果与指标契约。

验证

  • 引用实际使用的 CSV 以及任何 manifest/汇总文件。
  • 核对报告的行数与“序列数 × 模型覆盖度”是否一致。
  • 展示并列和缺失的模型/序列组合,而非隐藏它们。
  • 保留单位:Baseline Lab 将 sMAPE 写为百分点。
  • 绝不虚构 TimeGPT、基准或生产性能结果。

输出

返回内容包括:范围与来源、数据质量回执、各模型的 sMAPE 均值/中位数/标准差、MASE 均值/中位数、序列胜出计数与并列、失败案例、有边界的建议、不确定性,以及可复现的后续步骤。

错误处理

  • 无结果文件:说明预期的文件名/schema,并指向 Baseline Lab 运行流程;不编造示例指标。
  • 多个结果文件:要求用户选择,或明确批准跨运行比较。
  • 无效或重复行:报告确切行号并停止聚合。
  • 缺少运行元数据:仍分析 CSV,但把数据集/预测窗口/频率标注为未知,除非文件名或同级产物能够确定它们。
  • 请求 TimeGPT 但没有结果:说明无可用的对比,绝不从 StatsForecast 行推断托管模型性能。

示例提示

  • 审阅 nixtla_baseline_m4/results_M4_Daily_h7.csv。按 sMAPE 中位数排序,展示并列和缺失覆盖,结论仅限本次运行。
  • 使用 sMAPE 和 MASE 两项指标比较 AutoETS 与 AutoTheta,找出两项指标结论不一致的序列,不使用泛化的准确率标签。

资源

  • 结果 schema 与指标护栏
  • 分析器:scripts/analyze_results.py
  • 运行时源码:005-plugins/nixtla-baseline-lab/scripts/nixtla_baseline_mcp.py