今天分享的是:华泰证券-华泰人工智能系列之十六:再论时序交叉验证对抗过拟合
报告共计:23页
本报告主要对时序交叉验证进行改进研究,旨在解决其在机器学习模型调参中存在的问题,以提升模型性能并对抗过拟合。
1. 研究背景与改进思路
- 时序交叉验证的问题:在之前研究中发现K折交叉验证用于时间序列数据存在过拟合风险,时序交叉验证虽能降低过拟合,但原研究存在基线模型设置不合理(无法明确时序交叉验证优势来源)和训练集验证集切分不精细(违背时序交叉验证本意)的问题。
- 改进思路:一是设置更合理的基线模型,提出“训练集折半的K折交叉验证”和“乱序递进式交叉验证”,以探究时序交叉验证提升的真实原因;二是对scikit - learn库的model_selection包进行改造,实现分组时序交叉验证,确保验证集在时序上严格位于训练集之后。
2. 测试方法与流程
- 测试方法:以逻辑回归和XGBoost为基学习器,采用年度滚动训练方式,对六种交叉验证方法(K折、时序、训练集折半的K折、乱序递进式、分组时序、乱序分组递进式)进行测试。
- 测试流程:包括数据获取(全A股,特定时间区间等)、特征和标签提取(70个因子及个股超额收益)、特征预处理(去极值、处理缺失值等)、滚动训练集和验证集合成(按不同交叉验证方法划分)、样本内训练、交叉验证调参(网格搜索选最优超参数)、样本外测试(单因子测试)及模型评价(正确率、AUC等指标及单因子测试统计指标和回测绩效)。
3. 测试结果与结论
- 最优超参数:时序和分组时序交叉验证选出的模型更“简单”,过拟合风险更低,如逻辑回归正则化项系数更小,XGBoost最大树深度更浅等。
- 模型性能:样本内表现为时序和分组时序交叉验证较差,测试集表现则较好,分组时序略优于原始时序交叉验证,表明其能减轻过拟合且提升主要源于时序信息保留。
- 单因子测试:时序和分组时序交叉验证在多项指标表现较好,但RankIC波动大,分层回测中在TOP组合年化收益率等方面有优势,但多空组合收益波动大。
- 策略回测:构建行业市值中性全A选股策略回测结果较杂乱,时序和分组时序交叉验证虽单因子测试效果好,但策略组合未充分体现优势,未来需探索更合理策略组合构建方式。
以下为报告节选内容