跳转到内容

树模型与深度学习

在中低频截面预测(月频/周频选股、信号过滤)中,LightGBM/XGBoost 几乎总是比神经网络更稳、更快、更易调:

  1. 金融截面特征是典型的表格数据——树模型对表格数据的归纳偏置(轴平行分裂、对单调变换不敏感)与问题天然匹配;
  2. 小样本:金融的有效样本量受标签重叠与自相关限制(见金融交叉验证),深度学习需要的数据量不存在;
  3. 对缺失值、异常值、特征尺度不敏感——省掉大量容易引入泄漏的预处理。

深度学习的优势场景与表格数据相反:

  • 高频序列:tick 级订单簿的时序模式,LSTM/Transformer 有真实优势;
  • 文本与图像:见文本与 NLP;
  • 非线性交互:特征交互复杂且样本充足时。

金融里应用深度学习最常见的失败模式:拿几千个截面样本训深层网络,正则化再强也只是在拟合噪声。

gbdt-baseline.py
import lightgbm as lgb
import numpy as np
def fit_meta_label(X_train, y_train, X_val, y_val, seed: int = 42):
"""元标签二分类的最小 GBDT 基线(见 标签:三重障碍法)"""
model = lgb.LGBMClassifier(
n_estimators=300, learning_rate=0.05, num_leaves=15,
max_depth=4, min_child_samples=200, # 强正则:金融数据的默认
subsample=0.8, colsample_bytree=0.8,
random_state=seed,
)
model.fit(X_train, y_train, eval_set=[(X_val, y_val)],
callbacks=[lgb.early_stopping(50, verbose=False)])
return model

两条选型纪律:

  1. 先做 GBDT 基线:任何深度模型必须显著跑赢 GBDT 基线才有存在价值——基线打不过就不上复杂模型;
  2. 集成优于单体:集成多个弱模型(不同种子、不同特征子集的 GBDT 平均)比追求单一强模型更稳健,代价小、方差降得多。
  • 表格截面预测:LightGBM/XGBoost 基线先行,深度模型要证明自己;
  • GBDT 的正则化默认值:浅树(depth 3–5)、强 min_child_samples、子采样;
  • 集成不同种子与特征子集,而非加深加宽单一模型。
  • 表格数据:先做 GBDT 基线,深度模型必须跑赢它
  • 神经网络需要更多样本与更强正则,金融数据通常两者都缺
  • 集成多个弱模型比追求单一强模型更稳健