随机森林算法(Random Forests)是一种基于统计学习理论的组合分类器,它将bootstrap重抽样方法和决策树算法相结合,该算法的本质是构建一个树型分类器h k (x), k1,的集合,然后使用该集合通过投票进行分类和预测。由于该算法较好地解决了单分类器在性能上无法提升的瓶颈,因此具有较好的性能,能应用于各种分类筛选和预测中。当然,该算法也存在一些有待完善的地方,针对这些不足,理论界主要集中在三个方面进行优化研究,一是引进新的算法,二是对将数据预处理融入到算法中,三是针对算法自身构建过程进行优化。本文在充分查阅国内外相关资料的基础上,对后二个方面开展了优化研究。
一、在数据预处理方面,提出了两种改进随机森林的优化算法。
首先,针对随机森林不能很好地处理非平衡数据的问题,根据聚类算法思想和物理学的重心理论,本文提出了CSMOTE算法,该算法能较好地降低数据集的非平衡性,从而提升了随机森林算法的分类性能。该算法针对SMOTE算法在选取“人造”样本时,存在一定的盲目性现象和容易产生边缘化的问题,提出了从负类样本的重心出发,有目的构造“人造”样本的新思路,使得在“人造”负类样本的过程中,新产生的样本有向重心汇聚的趋势,这样就可以有效地解决了SMOTE算法的缺陷,从而实现了既保留原有数据集的信息,又较好地解决数据集的非平衡性问题,从而在很大的程度上提升了随机森林算法在非平衡数据集上的分类性能。
其次,随机森林算法在进行节点分裂时常采用C4.5算法,但C4.5算法在处理连续变量时,采用二分离散化的方法,该方法运行效率依懒于连续变量取值的数量,该数量越大,随机森林算法执行时间越长。针对此现象,本文提出了一种降低连续变量取值的数量的新算法,该算法可以很好地为C4.5算法提供简约的数据集,从而提升C4.5算法的执行效率。新算法是在借鉴CHI2系列算法思想的基础上,针对CHI2系列算法没有考虑2统计量和真实值之间存在偏差的问题而提出的。该算法使用2矫正公式较好地处理了CHI2系列算法中的偏差问题。文中通过使用三种通用的UCI数据集,将新算法和没有解决偏差问题CHI2系列算法,在改善随机森林算法性能方面进行了比较分析。实证数据表明,和CHI2系列算法相比,新算法能更有效地约简数据集中的冗余信息,使连续变理取值的数量很大程度地减少,从而提升随机森林算法的执行效率。
二、在随机森林自身构建过程优化方面,本文通过分析随机森林算法分类性能的影响因素,针对随机森林在生成过程中,节点分裂算法不同引起的随机森林分类性能不同的现象,提出了一种基于线性组合的节点分裂混合算法。该算法将C4.5算法和CART算法在节点分裂时的函数进行线性组合,通过变换组合函数中的系数,充分发挥了这两种算法优势,较好地实现了随机森林算法分类性能的优化。同时,还详细分析了混合算法的稳定性、相关度和强度。首先,通过构造F统计量进行方差分析,对该混合算法的稳定性进行了检验。统计结果表明,该随机森林的混合算法随着森林中树木个数的变化虽然存在一定的不稳定性,但当森林中树木达到800棵时,算法可以达到稳定的状态。然后对混合算法的相关度和强度进行了理论上的推导和论述,同时实现了随机森林的平均相关度和强度的计算,并使用实证分析的办法,验证了平均相关度和算法分类精度存在负相关,森林的平均强度和算法的分类精度存在正相关的关系,并得了出混合算法对提升森林的平均强度和降低平均相关度较有其他算法具有明显的优势,也从另一个方面验证了混合算法的优越性。
在优质股票池选择的实际应用中,该应用的数据集存在大量的连续变量,且该应用对分类算法的精度要求严格。本研究提出的随机森林优化算法,可以很好地处理连续变量及提升随机森林的分类精度。本文在价值成长投资策略的选股指标体系的基础上,通过小波分析和CORCHI2算法进行数据预处理,使用节点分裂混合算法形成的随机森林成功地实现了优质股票池的选择,可为投资者进行有针对性的投资组合提供统计支持。