20181128-华泰证券-华泰人工智能系列之十四_对抗过拟合_从时序交叉验证谈起_29页_2mb
报告摘要
金工研究:对抗过拟合——时序交叉验证的应用分析
核心内容
本文探讨了时序交叉验证在机器学习模型调参过程中的重要性,重点分析其在时间序列数据上的优势。通过与传统K折交叉验证的对比,发现时序交叉验证在时间序列数据上能有效防止过拟合,提高模型的泛化能力和测试集表现。研究还扩展至全A选股数据集,验证了时序交叉验证在金融投资领域的实用性。
主要观点
- 时序交叉验证适用于时间序列数据,避免了传统交叉验证中“未来信息预测历史”的作弊行为。
- 传统交叉验证在时间序列数据上容易导致过拟合,测试集表现较差。
- 时序交叉验证在训练集表现稍差,但在测试集上表现更优,有助于获得更稳定和更高的收益。
- 复杂模型(如XGBoost)在时序交叉验证下表现更佳,其过拟合风险较低。
- 简单模型(如逻辑回归)在两种方法下的表现接近,但时序交叉验证仍有一定优势。
- 时序交叉验证不仅适用于机器学习模型,也可应用于其他量化策略的参数寻优。
关键信息
1. 时序交叉验证 vs 传统交叉验证
- 训练集表现:时序交叉验证略差,但能保留时间序列的时序特性。
- 测试集表现:时序交叉验证优于传统交叉验证,特别是在复杂模型中。
- 时间开销:时序交叉验证通常更高效,训练时间更短。
2. 机器学习方法
- 采用的模型包括:逻辑回归、线性SVM、高斯核SVM、决策树、随机森林、XGBoost。
- 逻辑回归与XGBoost作为基学习器,分别代表简单模型与复杂模型。
3. 数据集
- 机器学习公共数据集:
- 北京地区PM2.5数据集(时序)
- 办公楼监控管理数据集(时序)
- 银行电话营销数据集(非时序)
- 全A选股数据集:
- 包含70个因子,涉及估值、成长、财务质量、杠杆、波动率、股价、换手率、情绪等多个维度。
- 采用年度滚动训练方式,共分为8个阶段。
4. 时序特性分析
- 因子数据普遍具有较强的序列相关性,不满足独立同分布假设。
- 市值因子和基本面类因子(如EP)具有显著的滞后相关性。
- 价量类因子(如return_1m)相关性较弱,但仍具有稳定的相关性。
5. 超参数选择
- 时序交叉验证倾向于选择“简单”的模型,降低过拟合风险。
- 对于逻辑回归,时序交叉验证的正则化项系数较小,模型泛化能力更强。
- 对于XGBoost,时序交叉验证得到的最优超参数(如最大树深度、行采样比例)更保守,更注重泛化能力。
6. 模型性能比较
- 样本内正确率:
- 逻辑回归:K折交叉验证略高(57.20% vs 57.00%)。
- XGBoost:K折交叉验证显著高于时序交叉验证(88.20% vs 59.90%)。
- 测试集正确率:
- 逻辑回归:时序交叉验证略优(56.18% vs 56.06%)。
- XGBoost:时序交叉验证整体表现更优(56.45% vs 56.20%)。
- AUC指标:
- 时序交叉验证整体优于K折交叉验证。
7. 回测结果
- 单因子分层回测:
- 时序交叉验证下的XGBoost模型在分层回测中表现优异。
- 组合1的年化收益率为21.15%,夏普比率为0.80,相对基准胜率为81.52%。
- 组合5的年化收益率为-3.52%,信息比率为-1.27,表现较差。
- 多空组合:
- 在时序交叉验证下,多空组合的月收益率和累积收益率表现良好。
小结
- 时序交叉验证在时间序列数据上能有效避免过拟合,提高模型的泛化能力。
- 在全A选股模型中,时序交叉验证能带来更稳定和更高的收益。
- 时序交叉验证在训练集上表现略差,但在测试集上具有明显优势,尤其适用于复杂模型。
- 时序交叉验证不仅适用于机器学习模型,还可用于其他量化策略的参数寻优。
风险提示
- 时序交叉验证高度依赖基学习器的表现。
- 若未来市场环境发生改变,可能导致基学习器失效,进而影响模型效果。
- 存在一定的欠拟合风险,需合理选择模型复杂度。
图表说明
- 图表1:模型的参数和超参数辨析
- 图表2:方差与偏差
- 图表3:均方误差、方差和偏差随模型复杂度的变化关系
- 图表4:欠拟合、正常拟合和过拟合示意图
- 图表5:K折交叉验证示意图
- 图表6:5折时序交叉验证示意图
- 图表7:机器学习公共数据集基本信息
- 图表8-9:北京地区PM2.5数据集部分特征展示与自相关系数
- 图表10:六种机器学习模型超参数和调参范围
- 图表11-14:PM2.5数据集两种交叉验证方法的训练时长与测试集表现
- 图表15-18:办公楼监控管理数据集两种交叉验证方法的训练时长与测试集表现
- 图表19-22:银行电话营销数据集两种交叉验证方法的训练时长与测试集表现
- 图表23:人工智能选股模型测试流程示意图
- 图表24:选股模型中涉及的全部因子及其描述
- 图表25:年度滚动训练示意图
- 图表26:全A选股模型超参数和调参范围
- 图表27-28:部分因子滞后1期和1~6期相关系数
- 图表29:模型历年滚动训练最优超参数
- 图表30-31:两种交叉验证方法对逻辑回归和XGBoost调参样本内正确率比较
- 图表32-33:两种交叉验证方法对逻辑回归和XGBoost调参测试集正确率比较
- 图表34-35:逻辑回归与XGBoost模型累积时序减去K折正确率及AUC
- 图表36:两种交叉验证方法模型性能对比
- 图表37-38:两种交叉验证方法对逻辑回归与XGBoost调参累积RankIC值
- 图表39:单因子分层测试法示意图
- 图表40-42:时序交叉验证应用于XGBoost模型分层组合绩效分析与净值对比
- 图表43-44:时序验证XGBoost分层组合月超额收益分布与多空组合月收益率及累积收益率
- 图表45:两种交叉验证方法单因子分层回测结果对比
- 图表46-47:基于两种交叉验证方法构建全A选股策略回测指标对比
- 图表48-49:两种交叉验证方法应用于XGBoost全A选股策略表现
总结和展望
- 时序交叉验证是处理时间序列数据的有效方法,有助于防止过拟合。
- 在金融投资领域,时序交叉验证能够带来更稳定和更优的收益。
- 未来研究可进一步探索时序交叉验证在其他金融策略中的应用。
- 时序交叉验证的使用需注意市场环境变化可能导致模型失效的风险。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载