这节课我们主要讲讲:
1。OOB 和 validation 的数值计算上区别
2。时间序列模型建立时,如何处理 validation 和 test 与模型精度控制的小技巧
3。去掉时间相关的元素 —— 消除训练集里面过拟合的特征
---
1。OOB 和 validation set 数值计算上的差别
这两个数值有 2 点不一样:
a。使用的数据不一样
为了更好的得到模型验证的结果,所以我们往往使用一种比较特别的 train/validation split 方式,我们不是直接随机分类得到,而是根据时间顺序,取时间更为久远的作为 train set,取时间较为近的作为 validation set。因此,OOB计算的数据其实来自于 train set,是整个train set 里面随机收取的数据,其结果更适用于解释模型是否过拟合。而 validation set 则完全是时间纬度上更新的数据,因此其结果更适合用于说明模型的泛化情况。
b。数据量不一样
在 OOB 中,你的数据是 out of bag 数据,因此每个数据被用于计算的情况,是它没有被 train 选中的情况,这里的数据被选中的概率就低于 100%。而在 validation set 里面,每一次每个数据被会被计算,因此,计算概率是 100%。因此两者的数据计算均衡性有差别,通常我们认为,OOB 会比实际情况更低一点,