逻辑回归方法是一种常用的离散选择模型,在金融领域,很早便被应用于违约风
险、早偿风险分析等方面。在选股方面也经常被用于预测涨跌分类,因此我们采
用此方法为参照物对比机器学习方法的效果。
当我们提到机器学习这个概念的时候,往往会先入为主的认为这已经超过量化的
范畴。但是,从概念上讲,方法的理念却很简单:利用因子组合特性预测股票未
来趋势;从应用上讲,和回归方法类似,它也是基于因子历史解释能力预测未来
的走势。本文应用的AdaBoost 算法核心思想是通过历史训练数据训练出一组弱
分类器,并由这组弱分类器通过各自权重线性加权得到一个强分类器。
二元AdaBoost 算法流程:
1. 等权重初始化每一个样本权重 𝑤𝑖 =
1
𝑁
, i = 1,2, … N,N 为样本总数。
2. 从 m = 1 到 M,迭代训练每一个弱分类器,M 为弱分类器总数
a) 利用整体样本训练弱分类器 𝑇𝑚(𝑥),样本权重为 𝑤𝑖
b) 计算弱分类器错误率
𝑒𝑚 = Σ 𝑤𝑖 𝐼(𝑇𝑚(𝑥𝑖 ) ≠ 𝑦𝑖) 𝑁1
Σ 𝑤𝑖
𝑁1
⁄ ,𝐼()为示性函数
c) 计算弱分类器权重 𝛼𝑚 = log (
1−𝑒𝑚
𝑒𝑚 )
d) 更新样本权重 𝑤𝑖 ← 𝑤𝑖 exp(𝛼𝑚𝐼(𝑇𝑚(𝑥𝑖 ) ≠ 𝑦𝑖 )) , 𝑖 = 1,2, … 𝑁
证券研究报告
请务必阅读正文后免责条款部分 5
e) 归一化 𝑤𝑖
3. 输出由弱分类器线性加权强分类器 C(x) = 𝑎𝑟𝑔max
𝑘
Σ 𝛼𝑚𝐼(𝑇𝑚(𝑥) = 𝑘) 𝑀1
针对该算法,以下几个问题在实际应用过程中值得关注:
1. 算法流程中指的二元AdaBoost 是指分类结果分为两类,在本文应用中,具
体是将股票分为强势股和弱势股两类,当然AdaBoost 算法可以支持多分类,
但是在选股应用情景中,多分类是否可以提高预测准确性,我们将会在以后
的报告中进行讨论。
2. 弱分类器的数量M 选择也是分类的关键问题,过少的弱分类器是否可以有效
的组合因子分类效果?过多的弱分类器数量是否可以持续提高分类准确性?
这两个问题会在本文中进行测试。
3. 另外,弱分类器 Tm(x)是指计算简单,分类效果较略好于掷硬币的分类方法,
如单层的树状分类器,当然,较为复杂分类方法,如逻辑回归法,SVM 法
理论上都可以作为弱分类器应用到Boosting 方法中,但实际效果和计算开
销都值得探讨。
4. 在利用单层决策树作为弱分类器时,以哪个因子做为因变量进行分类训练,
并不在于AdaBoost 算法本身,而是AdaBoost 算法将这个问题代理给弱分
类器,这是我们这里应用的决策树算法需要解决的问题,通常情况下,决策
树在分类过程中会遍历每个因子,从中筛选基尼不纯度或是熵信息增益,来
选择当前分类效果最好的因子,作为此层弱分类器的分类因子,虽然最先选
择出的因子体现了该因子在弱分类器中的相对重要作用,但我们不能仅因此
判断该因子在整个AdaBoost 算法中的重要程度,随着弱分类器数量的增加,
相对不显著的因子被选中的次数可能在迭代过程中增加,实际上,通过对所
有弱分类器中选择因子,按照因子的重要程度进行求和之后才能体现该因子
的综合重要程度。
米筐量化交易平台:http://www.ricequant.com
量化炒股QQ群:484490463 群内大神每日在线讲解代码,用Python自动赚钱!
网友评论