← 返回文章库

用同一验证段挑参数又报成绩,怎样拆成内外两层考试

2026-10-24 · L5

同一验证段一边挑参数、一边当最终成绩,报告的是挑选后的最低误差,不能当成未参与选择的评估。应把日期分成内层选择和外层评估:内层决定配置,外层只接受已经冻结的模型输出。本页用能手算的均值预测器交付三外层、各两内层的完整选择日志,不用复杂模型掩盖信息流。

二十四个构造日与两种候选

构造标签没有金融单位,只是用于比较平方损失的数值。第一个外层测试为十三至十六日,第二个为十七至二十日,第三个为二十一至二十四日。每个外层测试前留一日gap,外层可参与拟合和选择的数据分别最多到十一、十五、十九日。旧折测试标签成熟后,可以在后续折中成为历史训练数据;同一折的测试不可回流。

候选K2和K4都是常数预测器,分别取本次训练边界前最后两个或四个允许日的标签均值作为整段预测。它们没有特征、不拟合额外斜率,正适合看清窗口长度如何被选出来。所有候选、平方损失、同分选较小K的规则在揭开外层标签前冻结。表中完整输入供复算,不要求读者信任预先填好的成绩矩阵。

实验日标签值
11
22
31
42
53
64
73
84
98
107
118
127
132
141
152
161
176
185
196
205
210
221
230
241

三外层各两内层怎样排日期

每个外层允许前缀内,取两段连续两日内层验证。第一外层验证八至九日、十至十一日,各自之前留七日和九日作为gap;对应拟合数据只能使用各自gap之前的历史。注意内层第二次拟合可以使用第一次已成熟的验证日,符合前进模拟;但第十二日是本外层全程隔离日,连内层选参也不能使用。

后两个外层把同样结构向后平移四日。每一行记录候选实际用了哪几个日期,不把“训练前缀”误写成“模型使用了前缀中全部数据”:K只取末尾一小段,较早日期在这个候选定义下没有权重。若换成真正的回归模型,则要另记它拟合的所有行,不能沿用这里的短窗口清单冒充完整日志。

外层候选K拟合日隔离日内层验证日冻结预测验证MSE
12[5, 6]7[8, 9]3.510.25
14[3, 4, 5, 6]7[8, 9]2.516.25
12[7, 8]9[10, 11]3.516.25
14[5, 6, 7, 8]9[10, 11]3.516.25
22[9, 10]11[12, 13]7.515.25
24[7, 8, 9, 10]11[12, 13]5.57.25
22[11, 12]13[14, 15]7.536.25
24[9, 10, 11, 12]13[14, 15]7.536.25
32[13, 14]15[16, 17]1.510.25
34[11, 12, 13, 14]15[16, 17]4.57.25
32[15, 16]17[18, 19]1.516.25
34[13, 14, 15, 16]17[18, 19]1.516.25
外层测试日外层gap内层K2均损失内层K4均损失选中K重拟合日外层MSE偷看外层后选K偷看后最低MSE
1[13, 14, 15, 16]1213.2516.252[10, 11]36.25427.8125
2[17, 18, 19, 20]1625.7521.754[12, 13, 14, 15]6.546.5
3[21, 22, 23, 24]2013.2511.754[16, 17, 18, 19]16.25416.25

参数选完后,外层预测来自哪个模型

内层两段验证长度相同,所以对两段MSE作等权平均,与把四条内层误差汇总后平均一致。若每段长度不同,要事先决定按日期权重还是按折权重,不能看哪个更好再选。选中K之后,在外层允许的最新历史边界重新取最后K日计算预测,并冻结模型身份。重拟合并不是把外层标签加入训练,而是把内层选定的规则应用于更靠后的可用历史。

外层预测日之后标签模型身份训练最晚允许日K预测值平方误差
132O12-K21127.530.25
141O12-K21127.542.25
152O12-K21127.530.25
161O12-K21127.542.25
176O16-K415439
185O16-K415434
196O16-K415439
205O16-K415434
210O20-K41944.520.25
221O20-K41944.512.25
230O20-K41944.520.25
241O20-K41944.512.25

每个外层四个预测日共享同一常数模型,因此相同预测重复出现是定义使然,不是复制遗漏。模型身份把选择日志和预测表连接起来:从任意一个预测日出发,都应找到它的K、内层比较记录与最终拟合日集合。若预测日志里只有“best_model”这样的通用名称,三折模型可能被覆盖成最后一折,事后就无法恢复当时选择。

单层挑优对照为什么成绩更低

错误对照在每个外层同时计算K2和K4的测试MSE,再用同一测试段挑较低者并报告。正确嵌套均损失约19.66666667,错误对照约16.85416667;差异来自外层信息参与选择。这里没有证明嵌套一定让任何样本的误差更高,也没有把差额估计为真实世界固定的乐观偏差。它只是展示同一输入、不同选择权限如何产生不同报告。

即便外层只比较了两个窗口,选择仍然发生;候选少不等于可以免去选择代价。反过来,若两候选恰好在所有外层给相同预测,两种报告也可能相等,但外层权限越界仍应如实记录。判断流程是否合规应检查选择先后和数据身份,不能仅靠两份最终均值有无差距。

外层什么时候也会失去隔离价值

研究者看完三外层结果,又换损失指标、改候选范围、删除最差市场阶段,再重复报告,这三段就参与了更高一层选择。嵌套结构只能保护事先冻结的一次流程,不能阻止人反复修改流程本身。应保存全部试验版本,另留未使用的后续数据,或者清楚承认报告是探索性结果。

本例标签即时可得,gap只为展示日期权限而设置;真实多期收益标签需要按实际成熟时间重建内外边界。内层与外层都应采用同样的因果数据可得规则,不能外层时序切分、内层却随机打乱。预处理器也须在每个内层训练段重新拟合,否则参数选择虽然隔离,缩放参数仍可能偷看验证。

执行检查可以从最晚一条外层预测倒查:二十四日引用O20模型,模型只能由二十日前允许历史构建,K由十六至十九日前缀内的内层验证决定;第十九日以后任何标签均不得决定该K。最后把十二条外层误差平均,应与三段四日MSE平均一致。这个身份与权重的双重核对,比只看代码里有没有nested字样可靠。

TimeSeriesSplit官方文档支持前进式索引和gap的接口语义,泄漏章节支持测试数据不参与选择。三层日期日志与两个常数候选是本页自行编写的教学模型,文档不证明这里的窗口长度适合金融预测,更不证明误差下降能变成可交易利润。

选择日志如何避免后验覆盖

每个外层的选参文件应在评估标签进入评分前封存,记录内层两个候选的全部损失和同分规则。外层评价函数只接收模型身份与预测,不应具有重新搜索K的权限。如果后续修复了一个真实代码错误,应保存原版和修正版并解释重新评估原因,而不是把改后的结果装成第一次运行。三个外层得分还应分别展示,均值仅描述这次固定流程跨三个阶段的表现,不代表已经积累三次互相独立的确认。可复算日志能检查权限顺序,却无法独自证明研究者此前从未看过这些数据。

继续核对研究流程时,可回到时序交叉验证母题;遇到相邻任务,再分别查看预处理参数训练区间审计、IC均值Newey West标准误。本文的滚动验证工具链接仅作基础流程说明,新增审计和统计计算由本页独立表格与模型交付。

道积君编辑组,AI辅助编写与核算。本文为构造教学实验,来源说明方法,数字由明示输入计算,不代表真实策略、收益预测或统计审定。

复算资料

本篇编号DJ4-059。下载Python复算脚本(文本)与构造输入输出JSON,按编号核对本篇。脚本改存为.py后可用Python标准库运行,数据不是实际用户记录。

这个页面有问题?

提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。