本地验证构建:Kaggle版的"防自欺协议"
先掌握这个答案
标准构造四步:①时序切分:训练/验证按时间墙(q-707)——绝不随机;②指标复刻:本地评分函数与官方逐位一致(含所有舍入与裁剪细节——差一点就误导方向);③多次留出:滚动留出3-5段(单段验证=单次抽样,运气成分大);④Group对齐:若官方按时间分组测试(如按天给分),本地验证也按天聚合计分(样本级与天级的排名可能不同)。三常见错误:①随机KFold(q-708三宗罪);②本地指标口径差(少个abs、多个clip——分数系统性偏差);③验证集参与特征工程(全样本统计量泄漏,q-506③)。CV-LB监控:每日记录本地CV与Public的相对变化——相关(同涨同跌)=指南针可信;背离=本地有问题(先修验证再改模型,q-838)。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
按标签区间检查泄漏
以实际预测目标设计时间切分,检查每条标签观察区间是否跨过验证边界。标准化、填充、特征选择和调参仅在训练内拟合;只按日期切开仍可能因标签重叠产生泄漏。
核对来源:scikit-learn:时间序列交叉验证 ↗平台标准以当期官方规则为准
资格、评分、提交次数、算子和收益门槛都可能调整。保存规则快照与实验台账,避免围绕公开榜反复调参;平台成绩不能直接替代样本外研究证据或实际收益。
本阶段实战方法 · 用实验记录把竞赛变成研究成果
参加BRAIN或金融预测比赛时,把平台成绩和可迁移的研究能力分别评价。
- 先阅读当前赛题数据、时间戳、评分、提交限制与使用条款;门槛以平台当期规则为准。
- 每次只改变一个假设,记录数据版本、公式、参数、seed、本地验证、提交分数和尝试次数。
- 固定验证后总结失败案例、成本敏感性和复现步骤,产出别人能核查的项目报告。
使用边界
- Public榜不是最终测试集,反复围绕它调参会产生选择偏差。
- 平台Alpha达标不代表可直接实盘,也不等于通过招聘或获得稳定收入。
- 有Public榜反馈就不需要本地验证:Public是20%样本的一次抽样——把它当验证集=对公开榜过拟合(shake-up的种子);
- 本地CV分数够高就行:绝对值无意义(与LB有系统性偏移),重要的是「与LB的变化相关」——指南针只管方向
- 验证代码随手写:指标复刻差一个细节(clip/round)就可能让你优化错误方向——逐位对齐是硬要求(拿官方example对拍)
🛠 本题实践任务
为你参加(或模拟参加)的赛写valid.py:官方指标复刻+滚动3段留出+与example对拍。建CV-LB日录表(今天就是第一行)。
💡 提示(先自己想5分钟再看)
没比赛时用历史赛数据自演:把最后20%当「私有榜」——完整体验一次指南针校准的循环。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
🤖 AI导师
导师会先检查你的前置知识(指标口径、Purged CV),再用案例、公式和代码帮助理解。此功能需要先启用服务。