【量化投资策略探讨】决策树和随机森林

决策树

决策树方法(decision tree)是一种代表因子值和预测值之间的一种映射关系。从决策树的“根部”往“枝叶”方向走,每路过一个节点,都会将预测值通过因子的值分类。决策树的结构如下所示:

如果我们把上图中的绿色想象成股票下跌,红色为股票上涨。同时,在每个黄色节点的分类是根据因子值阈值大小选择走左边还是右边,那么走到决策树的末端能够预测出股票的上涨与下跌。

虽然决策树能够很好的处理数据的异常值,使得极端值不会影响整个模型的构建结果,但是同样的,决策树容易出现过度拟合现象,无法正确处理噪声数值。于是,我们需要随机森林算法来改善。

Tips: 在量化预测中,由于金融市场的数据存在大量噪声,我们必须限制树的高度(即层数)防止过度拟合。当预测正确率在70%~80%之间时,可以设定决策树的最大层数。

随机森林

“森林”即指大量的决策“树”组成了森林。随机森林的想法来自于bootstrap aggregating (缩写为 bagging);即让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练样本组成,某个初始训练样本在某轮训练集中可以出现多次或根本不出现,训练之后可得到一个预测函数序列h_1,⋯ ,h_n ,最终的预测函数H对分类问题采用投票方式,对回归问题采用简单平均方法对新示例进行判别。所以,bagging的主要想法是平均许多噪声较多但是相对来说是无偏差性的模型,以此来降低噪声。

B = 建立的树的总棵树, T_1...T_b...T_B = 1~B编号的树,N = 总训练样本数,Z = 抽样数,p = 总因子数,m= 抽取因子数,树的高度 = h。

随机森林(Random Forest)的算法:

  1. For b=1 to B; (a) 从训练样本总数为N中随机抽取样本 Z个 (b) 以下列三个标准来建立一棵随机森林的树 T_b,直到树的高度达到h i. 从p个因子中随机取出m个因子 ii. 找出m个因子中最佳的分类因子p* iii. 以该因子将一个节点分成两个子节点
  2. 输出树的合集{ T_1...T_b...T_B }
  3. 将测试组的数据放入所有的棵树中得出B个预测结果,求出预测结果的平均值则为我们最后需要的预测值。

(图片来源:Elements of statistics 第15章)

总结

在量化中实现随机森林算法时,建议在决策树的建立时,可以使用python的sklearn。其原理设计信息熵,条件熵和信息增益等推导过程,详细可参见http://blog.csdn.net/suipingsp/article/details/41927247 。然而,更加推荐根据上述算法过程为自己的策略量身定做。

参考资料:

兴业证券研报——万剑归宗!

Elements ofstatistics

原文发布于微信公众号 - 量化投资与机器学习(ZXL_LHTZ_JQXX)

原文发表时间:2016-09-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LhWorld哥陪你聊算法

【深度学习篇】--神经网络中的调优二,防止过拟合

一种方式去使用TensorFlow做正则是加合适的正则项到损失函数,当一层的时候,可以如下定义:

2193
来自专栏老秦求学

[Deep-Learning-with-Python]基于Keras的房价预测

通过20世纪70年代波士顿郊区房价数据集,预测平均房价;数据集的特征包括犯罪率、税率等信息。数据集只有506条记录,划分成404的训练集和102的测试集。每个记...

1763
来自专栏IT派

最常用的十大机器学习算法都在这了,果断收藏!

导语:本文列出了数据科学家使用的十大机器学习算法,并且介绍了这十大算法的特点,供各位机器学习的新人们更好地理解和应用。

1443
来自专栏机器之心

资源 | 从人脸检测到语义分割,OpenCV预训练模型库

项目地址:https://github.com/opencv/open_model_zoo

1563
来自专栏目标检测和深度学习

不使用残差连接,ICML新研究靠初始化训练上万层标准CNN

深度卷积神经网络(CNN)是深度学习成功的关键。基于 CNN 的架构在计算机视觉、语音识别、自然语言处理以及最近的围棋博弈等多个领域取得了前所未有的准确率。

1262
来自专栏AI科技大本营的专栏

何恺明、吴育昕最新成果:用组归一化替代批归一化

编译 | 阿司匹林 AI科技大本营按:近日,FAIR 团队的吴育昕和何恺明提出了组归一化(Group Normalization,简称 GN)的方法。其中,GN...

3605
来自专栏机器之心

学界 | 马里兰大学论文:训练深度神经网络中的一致性难题

3495
来自专栏AI科技评论

干货 | 基于深度学习的目标检测算法综述

目标检测(Object Detection)是计算机视觉领域的基本任务之一,学术界已有将近二十年的研究历史。近些年随着深度学习技术的火热发展,目标检测算法也从基...

7092
来自专栏AI科技大本营的专栏

深度概览卷积神经网络全景图,没有比这更全的了

【AI科技大本营导读】深度卷积神经网络是这一波 AI 浪潮背后的大功臣。虽然很多人可能都已经听说过这个名词,但是对于这个领域的相关从业者或者科研学者来说,浅显的...

1442
来自专栏数据科学学习手札

(数据科学学习手札30)朴素贝叶斯分类器的原理详解&Python与R实现

  要介绍朴素贝叶斯(naive bayes)分类器,就不得不先介绍贝叶斯决策论的相关理论:

50913

扫码关注云+社区

领取腾讯云代金券