Claude-skill-registry-data mcm-c-coder
Coding specialist for COMAP MCM/ICM Problem C (C题数据处理与建模落地). Use when you need to implement reproducible data pipelines, feature engineering, model training/validation, bootstrap intervals, and figure/table generation.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/mcm-c-coder" ~/.claude/skills/majiayu000-claude-skill-registry-data-mcm-c-coder && rm -rf "$T"
manifest:
data/mcm-c-coder/SKILL.mdsource content
MCM/ICM C题代码手(数据处理与建模落地)
目标
- 把题面附件数据变成“可复现的分析流水线”(读取→清洗→特征→训练→评估→出图/表)。
- 确保:无泄露、可重复、可解释、输出能直接用于论文。
默认技术栈(可根据项目约束调整)
- 包管理:
(默认)uv - Python:
pandas/numpy/scipy - 建模:
(通用),必要时scikit-learn
(统计推断)statsmodels - 可视化:
matplotlib/seaborn
默认项目骨架(建议)
目标:让“拿到题面数据 → 一键复现图表/表格/区间”的路径最短。
:题面原始附件(只读)data/raw/
:清洗后的数据(可复现生成)data/processed/
:特征、训练、评估核心逻辑src/
:可执行入口(例如scripts/
)scripts/run_all.py
:论文用图(png/pdf)outputs/figures/
:论文用表(csv/tex)outputs/tables/
:预测与区间结果(csv)outputs/predictions/
uv 依赖管理(默认约定)
- 使用
管理依赖,pyproject.toml
锁定版本。uv.lock - 依赖分组建议:
- runtime:
pandas numpy scipy scikit-learn matplotlib seaborn - dev:
(可选)ruff black
- runtime:
可复现要求:报告中出现的任何图表/表格,必须能由
uv 环境运行脚本生成。
工作流
-
建立数据入口(I/O 层)
- 读取 csv/tsv/xlsx 时固定:编码、缺失值标记、日期解析、dtype。
- 对每个原始文件输出:行数、列数、主键唯一性、时间范围。
-
数据清洗(Clean)
- 统一:列名风格、单位、时区/日期格式。
- 处理:
- 重复(按主键去重或聚合)。
- 缺失(删除/插补/单独类别/用模型可接受的方式)。
- 异常(winsorize/截断/规则过滤)。
-
特征工程(Features)
- 时间序列/事件序列:滚动窗口、滞后项、变化率、累计量。
- 类别:one-hot/target encoding(注意泄露)。
- 文本(如 2020C):TF-IDF/情感词典/简易主题(优先轻量可解释)。
-
切分与验证(No Leakage)
- 时间序列:滚动窗口验证(不要随机打乱)。
- 结构化独立样本:train/valid/test + CV。
- 任何“当天决策”题(如交易策略):严格使用
数据。<= t
-
训练与基线对比
- 至少实现:
- baseline 模型(简单稳健)。
- improved 模型(更强但仍可解释)。
- 输出统一对比表:指标均值 + 波动(std 或区间)。
- 至少实现:
5.1 实验记录(Minimal Reproducibility)
- 固定并输出:随机种子、数据版本(文件名+时间戳)、特征列表、训练/验证切分规则、关键超参。
- 强制保存:
- 训练配置(json/yaml/py dict 皆可)
- 关键中间产物(清洗后数据、特征矩阵索引、预测结果)
- 不确定性区间(推荐 bootstrap)
- 对预测或性能指标做 bootstrap:
- 输出 90%/95% 区间。
- 明确 resampling 单位(行/天/比赛/国家等),避免破坏相关结构。
- 对预测或性能指标做 bootstrap:
6.1 炫技模块(选做,但必须“能复现 + 能验收 + 能成图”)
- 原则:每加一个高级模块,至少多产出 1 张图/1 张表/1 个区间,并能在报告中解释“带来什么改进”。
- 时间序列/策略题:Rolling Origin (Time Series CV)
- 做法:训练集永远只用过去,测试点随时间滚动。
- 交付物:不同窗口/步长下的误差箱线图或均值±区间。
- 分布无关预测区间:Conformal/Ensemble Interval
- 做法:用校准集残差构造区间(避免强分布假设)。
- 交付物:empirical coverage(覆盖率)+ 平均区间宽度。
- 变化点检测(Change Point)
- 做法:对关键序列(得分差、胜率、热度、价格收益等)做变化点标注。
- 交付物:变化点标注图 + 变化点前后特征差异表。
- 概率校准(Calibration)
- 做法:若输出概率/风险,补充 calibration curve 或 reliability diagram。
- 交付物:Brier/LogLoss + 校准曲线。
- Ablation / Sensitivity
- 做法:删除关键特征/改变关键超参/改变切分策略,观察性能与区间变化。
- 交付物:消融对比表(含区间)。
- 出图出表(论文友好)
- 统一图风格:字号、线宽、配色、注释。
- 每张图必须能回答一个子问题(不要炫技)。
- 输出:
- 关键结果图(趋势/对比/重要性)。
- 数据质量图(缺失热力图/异常分布)。
质量门槛(交付前自检)
- 同一份代码重复运行结果一致(固定随机种子/版本)。
- 训练/验证划分方式在报告中可解释且无泄露。
- 所有图表都有标题、轴标签、单位、数据来源(题目附件/外部数据)。
- 如使用“炫技模块”:必须能一键复现到图表与数值(不要只在正文描述)。
- 默认交付口径:
- 图:
outputs/figures/ - 表:
outputs/tables/ - 预测/区间:
outputs/predictions/
- 图: