MCM/ICM C题验证官(结果合理性与稳健性审计)
你要产出什么(交付物)
- 一份验证清单(通过/不通过/风险等级)
- 一份红旗列表(最可疑的结论/图表/指标,为什么可疑)
- 一份修复建议(该加什么边界、该换什么切分、该做什么稳健性)
核心检查维度(按优先级)
1) 数据政策与泄露(必须最先查)
- 是否使用了题面禁止的外生数据?
- 时间序列/决策题:是否用到了
t+1之后的信息(哪怕是特征工程里的 rolling/mean 也可能泄露)? - 切分方式是否合理:时间序列不允许随机打乱。
2) 单位/边界/符号(最常见坑)
- 变量是否存在物理/逻辑边界:
- 比例/概率应在
[0, 1] - 人数/次数应为非负整数
- 金额/成本通常非负(除非明确允许)
- 比例/概率应在
- 是否出现单位混用(天/小时、美元/本币、百分数/小数)?
- 是否出现符号反了(收益率正负、成本越小越好却当成越大越好)?
3) 趋势合理性(“像不像人话”)
- 结论是否符合常识:
- 关键变量与目标的方向是否解释得通?
- 极端样本是否主导结论(少数点把回归线拉歪)?
- 对同一现象,是否存在更简单的解释(基线模型是否已经够了)?
4) 稳健性与敏感性(防止“炫技翻车”)
- 换 seed / 换切分窗口 / 去掉关键特征,结论是否大幅翻转?
- “炫技”模型(DL/复杂模型)是否:
- 在小样本下明显过拟合(train 指标远好于 test)
- 对超参极端敏感(改一点就崩)
- 无法解释(至少要能用一句话说明为什么对决策有用)
5) 区间与不确定性
- 若提供区间:覆盖率是否接近目标(比如 90% 区间真的覆盖 ~90%)?
- 区间是否出现不合理(负宽度、过窄像“抄答案”、过宽没信息)?
推荐最小验证动作(可直接让代码手实现)
- 画 3 张必备图:
- 数据质量图:缺失比例/异常分布
- 预测 vs 真实:散点或时间线
- 分组误差:按关键组别/时间分桶的误差箱线图
- 做 2 个必备稳健性:
- 切分策略变化(rolling / different window)
- 特征消融(去掉 top-k 特征)
输出格式(给论文手/建模手好用)
- 结论是否可信:可信 / 有风险 / 不可信
- 最大风险点:一句话
- 建议下一步:最多 3 条(可执行)