Claude-skill-registry-data mcm-c-modeler
Statistical/data-analysis modeling lead for COMAP MCM/ICM Problem C. Use when you need to interpret C题需求、检查题目数据是否足够/是否允许外生数据、制定可验证的统计/机器学习建模方案,并输出不确定性区间与稳健性分析。
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-modeler" ~/.claude/skills/majiayu000-claude-skill-registry-data-mcm-c-modeler && rm -rf "$T"
manifest:
data/mcm-c-modeler/SKILL.mdsource content
MCM/ICM C题建模手(数据分析)
目标(你要产出什么)
- 任务分解:把题目拆成 2-4 个可交付模型/分析模块(每个模块有输入/输出/评价方式)。
- 数据审计结论:数据是否完整、缺失/异常点、口径问题、是否需要外生数据。
- 建模方案:baseline + 改进版(可解释),并给出不确定性与稳健性证据。
工作流(按顺序执行)
-
提取题目硬约束
- 在题面里定位并摘录(用于报告“Assumptions/Data”段落):
- 是否出现类似 “THE DATA PROVIDED CONTAIN THE ONLY DATA YOU SHOULD USE”。
- 是否出现类似 “You may choose to include additional information/other data …”。
- 结论只允许三种:
- 禁止外生数据(只能用附件数据集)。
- 允许但非必须(外部信息可作背景/解释/少量特征)。
- 允许且可能需要(题目明确要求你补充数据/指标来源)。
- 在题面里定位并摘录(用于报告“Assumptions/Data”段落):
-
数据盘点(Inventory)
- 列出所有附件文件:格式(csv/tsv/xlsx)、行数、列数、时间范围、关键字段含义(优先读 data_dictionary)。
- 画出最小数据关系图:主键/外键(如 match_id、country、date、GlobalID 等)。
-
数据审计(Data Audit)
- 必做检查:
- 缺失值比例(按列/按组),是否存在结构性缺失(某类样本系统性缺字段)。
- 重复记录、异常值(极端、非法范围、时间倒序、经纬度越界等)。
- 口径冲突(单位、币种、国家/地区命名变化、时间戳定义不同)。
- 输出一个“数据风险清单”:
- 风险点 → 影响 → 处理策略(删除/插补/截断/重定义)。
- 必做检查:
-
定义可观测目标与指标(把题目变成可算的)
- 把“概念变量”落地:例如 momentum、difficulty、risk、priority score。
- 明确:
- 目标变量
(分类/回归/排序/时间序列)。y - 评估指标(AUC/F1/RMSE/MAE/LogLoss/收益率/命中率等)。
- 约束(不可用未来信息、交易日历、资源限制等)。
- 目标变量
4.1 C题套路化模板:子问类型 → 模型/证据(默认直接套)
- 解释型问题(哪些因素影响 y)
- 模型:线性/逻辑回归(含正则)或可解释树模型。
- 证据:系数/重要性 + 不确定性(区间)+ 反事实/PDP(择一)。
- 预测型问题(预测未来 y 并给区间)
- 模型:回归/时间序列(rolling 验证)。
- 证据:预测区间 + 覆盖率/宽度 + out-of-sample 指标。
- 分布预测(预测一个分布/比例向量)
- 模型:多项/Dirichlet 回归、分层分布模型或“先预测均值再校准”。
- 证据:分布距离(KL/EMD/JS 择一)+ 校准曲线(如有概率输出)。
- 分类/难度分档(difficulty tiers)
- 模型:可解释分类器 + 阈值规则。
- 证据:混淆矩阵 + F1/AUC + 分层误差分析(按组/按时间)。
- 检测“转折/动量/态势切换”
- 模型:变化点/状态模型。
- 证据:变化点标注图 + 切换前后关键特征对比。
- 决策/建议(资源有限、策略选择)
- 模型:评分函数/成本函数 + 约束条件。
- 证据:情景模拟/敏感性 + “收益-风险”对比表。
- Baseline → 强化版(可解释优先)
- Baseline:简单、稳健、可复现(线性/逻辑回归、树模型、朴素时间序列、马尔可夫等)。
- 强化版:在不牺牲可解释性的前提下加能力(分层/状态空间/变化点/集成)。
- 要求:每次升级都说明“为何更好”(理论 + 实证)。
5.1 炫技模块(选做,但要“能验、能讲、能落图”)
- 原则:每加一个高级模块,至少多产出 1 张图/1 张表/1 个区间,并能在 memo 里用一句话解释“为什么对决策有用”。
- 变化点/态势切换检测(适用:动量/舆情/交易/事件序列)
- 目标:识别“从 A 状态切换到 B 状态”的时间点,并解释触发因素。
- 交付物:变化点标注图 + 变化点前后关键特征对比表。
- 分层/部分池化(Hierarchical / Partial Pooling)(适用:国家/选手/产品/地区等分组且样本不均衡)
- 目标:让小样本组“借力”大样本组,避免过拟合。
- 交付物:组别效应(点估计+区间)森林图;对比 no-pooling vs pooling 的泛化指标。
- 概率输出的校准(Calibration)(适用:输出概率/分布/风险)
- 目标:让“80% 置信”真的覆盖 80%(更像可用系统)。
- 交付物:reliability diagram / calibration curve + Brier/LogLoss。
- 分布无关预测区间(Conformal/Ensemble + Interval)(适用:预测未来数值且需要区间)
- 目标:在不强假设分布的情况下给区间,并报告覆盖率。
- 交付物:区间覆盖率(empirical coverage)+ 区间宽度对比。
- 可解释性增强(Explainability)(适用:树模型/集成模型)
- 目标:把“模型为什么这么判断”讲清楚。
- 交付物:特征重要性(含不确定性)+ PDP/ICE(择一)。
-
不确定性(区间/置信)与稳健性(鲁棒)
- 至少给出一种区间:
- bootstrap 预测区间/性能指标区间;或
- 贝叶斯后验区间;或
- 时间序列的滚动窗口区间。
- 必做稳健性:
- 数据切分方式变化(不同 seed / 不同时间窗)。
- 特征删减(ablation)。
- 关键超参数敏感性。
- 至少给出一种区间:
-
结论到建议(写给非技术读者)
- 把模型输出翻译成:
- “哪些因素最关键、方向如何、幅度多大”。
- “建议做什么、风险是什么、置信度多高”。
- 把模型输出翻译成:
质量门槛(交付前自检)
- 是否明确写了“外生数据政策”并与题面一致。
- 是否避免信息泄露(任何
之后的数据不能用于t+1
决策)。t - 是否至少 1 个 baseline + 1 个改进版 + 1 份稳健性证据。
- 是否给出区间(预测/性能/参数任一)且解释其含义。
- 是否每个“炫技模块”都有对应的可验证证据(图/表/区间)而不是只写概念。
- 是否每个子问都能对应到“模型 + 指标 + 证据载体”(至少一个图/表/区间)。