1. 特征工程概述
1.1 特征工程的定义
特征工程(Feature Engineering)是指利用领域知识和数据挖掘技术,将原始数据转换为能更有效表示潜在问题、提升机器学习模型性能的特征向量的过程。它是数据预处理与模型训练之间的关键桥梁,决定了模型所能学习的“信息上限”。
核心公式: 特征工程 = 数据变换 + 特征构造 + 特征选择 + 特征缩放
1.2 特征工程在机器学习流程中的位置
在标准机器学习流水线中,特征工程位于数据清洗之后、模型训练之前。其位置决定了数据质量向模型性能的传递效率。
1.3 特征工程的重要性
特征工程的质量直接决定了模型性能的天花板。即使使用最先进的深度学习架构,低质量的特征输入也会导致模型无法学习到有效的模式。
| 维度 | 无特征工程 | 有特征工程 |
|---|---|---|
| 数据表示 | 原始、噪声、冗余 | 干净、紧凑、信息密集 |
| 模型复杂度 | 需要更深/更宽的网络 | 可用简单模型达到高精度 |
| 训练效率 | 收敛慢、易过拟合 | 收敛快、泛化强 |
| 可解释性 | 黑箱、难以理解 | 特征含义明确、可追溯 |
| 业务落地 | 难以调试和优化 | 可迭代、可维护 |
业界共识: 在 Kaggle 竞赛和量化金融实战中,特征工程带来的性能提升通常超过模型架构调优。好的特征 + 简单模型 > 差特征 + 复杂模型。
1.4 特征工程与模型性能的关系
特征工程通过以下机制影响模型性能:
- 信息密度提升: 将原始数据中的非线性关系、交互效应显式编码为特征,降低模型学习难度。
- 噪声抑制: 通过分箱、平滑、异常值截断等操作,减少随机波动对模型的影响。
- 尺度统一: 标准化/归一化使不同量纲的特征在梯度下降中保持稳定更新。
- 维度控制: 特征选择与降维避免维度灾难,提升模型泛化能力。
1.5 特征工程的核心任务分类
特征工程涵盖以下五大核心任务,本课程将重点围绕分箱实践展开:
- 特征构造: 基于业务逻辑创建新特征(如收益率、波动率、动量因子)。
- 特征变换: 对特征进行数学变换(如对数变换、Box-Cox、分箱离散化)。
- 特征缩放: 标准化、归一化、稳健缩放。
- 特征选择: 过滤法、包裹法、嵌入法。
- 特征降维: PCA、t-SNE、自编码器。
常见误区: 初学者常将特征工程视为“一次性预处理”,而忽略了它在模型迭代中的持续优化作用。在量化金融中,因子特征需要随市场状态动态调整分箱边界,否则会导致因子失效。
1.6 量化金融中的特征工程特点
在量化金融场景下,特征工程面临独特挑战:
- 信噪比极低: 金融数据中信号占比通常低于 5%,需要精细的特征提取。
- 非平稳性: 市场状态变化导致特征分布漂移,分箱边界需自适应。
- 多重共线性: 因子间高度相关,需要特征选择与正交化处理。
- 过拟合风险: 高维特征空间极易过拟合,分箱可起到正则化作用。
| 金融特征类型 | 常见原始数据 | 特征工程操作 |
|---|---|---|
| 动量因子 | 收盘价序列 | 收益率计算、滚动窗口聚合、分箱离散化 |
| 波动率因子 | 高频价格数据 | 标准差估计、GARCH 残差、分箱编码 |
| 流动性因子 | 成交量、买卖价差 | Amihud 指标、换手率分箱 |
| 基本面因子 | 财务报表 | 比率计算、行业中性化、分箱排名 |