Skip to content

Random Forest 技术文档

随机森林(Random Forest)是 Leo Breiman 于 2001 年提出的集成学习方法,通过 Bootstrap 采样和随机特征子集构建多棵决策树均值集成,是 A 股量化选股最常用的基础模型之一。


模型简介

随机森林在每棵树的训练过程中引入双重随机性

  1. Bootstrap 采样:对训练集进行有放回抽样,每棵树使用不同样本
  2. 随机特征子集:每次分裂仅从 $\sqrt{p}$(分类)或 $p/3$(回归)个特征中寻找最优分裂

这种设计使各树之间相关性降低,集成后方差大幅减小,同时保持低偏差。

原始论文:Random Forests — Leo Breiman, Machine Learning 45(1), 5–32, 2001


在 A 股量化策略中的应用

1. 多因子选股

将价值、成长、动量、质量等几十个 Alpha 因子作为输入特征,以次日涨跌或未来收益为标签训练分类/回归随机森林,输出个股得分进行排名选股。

2. 特征重要性(因子筛选)

feature_importances_ 基于 MDI(Mean Decrease Impurity)计算,可无监督地筛选对收益预测贡献最大的因子,替代传统 IC 值排名法。

3. 袋外误差(OOB)评估

设置 oob_score=True 直接获得无需交叉验证的泛化误差估计,节省回测计算量,且自然适应时序数据(OOB 样本不参与该树训练)。


核心参数(金融应用推荐)

参数说明推荐值
n_estimators树的数量100–500
max_features每次分裂特征数"sqrt"(分类)
max_depth树最大深度None 或 5–15
min_samples_leaf叶子最少样本5–20
oob_score开启袋外评估True
n_jobs并行数-1(全核)
class_weight类别权重'balanced'

性能特点

优势:

  • 对异常值和噪声鲁棒,适合 A 股数据质量参差不齐的场景
  • 无需特征标准化,原始因子值可直接输入
  • OOB 估计避免数据泄露,特别适合金融时序回测
  • feature_importances_ 直接产出因子排名

劣势:

  • 预测速度比单决策树慢(需集成所有树)
  • 树数量过多时内存占用大
  • 精度通常不如 Boosting 模型(高偏差)

官方参考资料

⚡ Real-time Data · 📊 Smart Analysis · 🎯 Backtesting