阶段9Kaggle 金融赛●●●●●

Public/Private榜单:一场防刷榜的制度设计课

我的掌握程度:
q-838精讲

先掌握这个答案

机制:测试集被切成两块——Public(比赛期间可见,用于实时排名)与Private(终局才见,决定最终名次)。典型切分20%/80%或50%/50%。shake-up必然性:Public榜是「同一模型的另一次抽样」——名次本身有抽样误差(Public前10名的真实差距常小于噪声);对Public过拟合的模型(反复针对榜调参)在Private必然回落。三条铁律:①本地CV优先:一切决策看本地时序CV,Public榜只当「参考性抽检」;两者矛盾时信本地(除非证明本地有泄漏);②提交次数预算制:把提交当稀缺资源(每日限额),每用于「验证一个假设」而非「碰运气」;③终局策略:最后几天冻结模型,只做稳健化(ensemble/去极值),不引入新变体。

先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。

从理解到使用

先固定IC的实验口径

明确股票池、信号可得时点、预测持有期、相关方法及权重。IC阈值不能跨研究直接套用;重叠标签导致序列相关,ICIR或t值不能无条件按独立样本解释。最终还要检验成本、换手与容量。

本阶段实战方法 · 用实验记录把竞赛变成研究成果

参加BRAIN或金融预测比赛时,把平台成绩和可迁移的研究能力分别评价。

  1. 先阅读当前赛题数据、时间戳、评分、提交限制与使用条款;门槛以平台当期规则为准。
  2. 每次只改变一个假设,记录数据版本、公式、参数、seed、本地验证、提交分数和尝试次数。
  3. 固定验证后总结失败案例、成本敏感性和复现步骤,产出别人能核查的项目报告。

使用边界

  • Public榜不是最终测试集,反复围绕它调参会产生选择偏差。
  • 平台Alpha达标不代表可直接实盘,也不等于通过招聘或获得稳定收入。
背景 · 从一个困惑说起
Kaggle比赛结束那一刻,所有队伍的最终名次按Private榜重新洗牌——有人在Public榜第5,Private掉到第300(shake-up惨案);有人第50名逆袭铜牌。这不是bug,是精心设计的防作弊机制——理解它,你就理解了「泛化」二字的全部分量。
由此产生的问题
Public/Private的机制是什么?为什么shake-up必然发生?它对参赛策略的三条铁律?
核心概念
机制:测试集被切成两块——Public(比赛期间可见,用于实时排名)与Private(终局才见,决定最终名次)。典型切分20%/80%或50%/50%。shake-up必然性:Public榜是「同一模型的另一次抽样」——名次本身有抽样误差(Public前10名的真实差距常小于噪声);对Public过拟合的模型(反复针对榜调参)在Private必然回落。三条铁律:①本地CV优先:一切决策看本地时序CV,Public榜只当「参考性抽检」;两者矛盾时信本地(除非证明本地有泄漏);②提交次数预算制:把提交当稀缺资源(每日限额),每用于「验证一个假设」而非「碰运气」;③终局策略:最后几天冻结模型,只做稳健化(ensemble/去极值),不引入新变体。
为什么需要它
①制度即教材:P/L切分就是「样本外检验」的竞赛化——你的Private名次≈研究真实水平的度量,Public名次≈运气+水平混合;②反直觉训练:新手本能「追Public榜」,恰恰是被制度钓鱼——克制力本身就是竞赛能力;③迁移到实盘:实盘没有Private榜揭盲,但市场终会揭——「按Private的方式活」=按样本外的方式研究。
实际应用场景
实操节奏:赛前搭好本地时序CV→中期所有调参看CV、每日仅1-2次提交核对CV与Public的相关性→末期ensemble+冻结。CV与Public长期不相关的队伍=本地验证有问题(通常是泄漏或切分错误)——这是免费的自检信号。
与之前知识的联系
q-837的指标理解+q-710/771(阶段8)的时序验证在此合流;「CV优先原则」与机构研究的「走查优先」完全同构——竞赛是研究纪律的试炼场。q-839专讲shake-up防御的细节。
⚠ 常见误解
  • Public排名高=方案好:它是20%样本上的一次抽样;最终名次以Private为准——比赛的第一课就是别信实时榜
  • shake-up是运气无法防:幅度可以管理:稳健模型(ensemble、少过拟合Public)的shake幅度通常小于激进模型
  • 提交额度用满是赚:每次提交都在消耗「独立性」——频繁看榜调参=对Public训练,Private必跌

🤖 AI导师

导师会先检查你的前置知识(评价指标、本地验证概念),再用案例、公式和代码帮助理解。此功能需要先启用服务。