Advance Finance Machine Learning读书笔记
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
本人失业在家,正在读刚买的Advance Finance Machine Learning(AFML),基于此书全是英文,有些知识点需要再次整理与巩固,所以写一下这个系列。
之前有搜到大神weixin_38753422的AFML系列。写得很详细并且有代码和图片解释,链接在此
此系列从Part 1 Chapter 3开始写起,Chapter3之前内容可以在上面的链接里看到。(注意并不是所有内容的整理,而是我个人觉得需要整理的内容)
本文讲的时Part 1 Chapter 7 Cross-Validation in Finance(金融数据中的CV)
Chapter 6 是关于Bagging 和 Boosting的 没啥好整理的,站内一搜全是关于这个的资料
在Finance中的CV和普通CV有什么不同
CV的目的就是防止模型的Overfitting,但是在金融数据中如果按照正常流程的CV,不仅防止不了过拟合,反而还会超参搜索的过程中导致过拟合。
K-Fold CV为什么不起作用
- 数据不能保证是服从IID过程的。
- 测试集在构建模型的过程中被使用了很多次
数据泄露
数据泄露(Leakage):当训练集内的信息,出现在了测试集上,就代表有数据泄露发生。
例子:
一个序列相关的特征 X X X,对应着它的标签 Y Y Y是从一组Overlapping的Data上采集的
1.因为是序列相关,所以 X t ≈ X t + 1 X_t\approx X_{t+1} Xt≈Xt+1
2.因为是Overlapping的数据点,所以 Y t ≈ Y t + 1 Y_t\approx Y_{t+1} Yt≈Yt+1
假设, t t t 时刻数据点和 t + 1 t+1 t+1 时刻的数据点分布在不同的数据集上,那么数据就已经泄露了
结果:数据泄露导致模型分辨不出哪些特征具有预测信息,而哪些没有。
(注意:当 X i X_i Xi与 X j X_j Xj是Overlapping,只要 Y i Y_i Yi与 Y j Y_j Yj相互独立,信息就不会泄露)