第 36 篇
信息增益入门
量化课堂第 36 篇(postId=1700,作者 yongpeng.r,编辑宏观经济算命师,难度进阶上、理解深度 level-0,2016-07-02 上线)。机器学习八篇的开篇,也是整个「机器学习 36–43」组的理论入口:把信息论里「熵 → 条件熵 → 信息增益」三个概念讲清楚,回答「怎么从一堆候选特征里挑出真正有效的」。在量化里,候选特征就是各种因子(价格、成交量、技术指标、财务指标、甚至天气)。素材见 raw/collections/jq-quant-classroom/36-36-信息增益入门md.md。
这是什么
一篇纯概念文,无平台代码。它先给「为什么需要信息增益」的问题:影响资产价格的因素太多(上一个交易日的价格、成交量、宏观走势、交易者心理预期、技术指标、财务指标、甚至当日天气),每个人都能列出一堆特征/因子——怎么知道哪个真有用?作者引入信息论的三把尺子:熵(一个变量的不确定性)、条件熵(知道一个特征后还剩多少不确定性)、信息增益(两者之差 = 该特征带来的信息量)。全部用离散变量的手算例子带路。
核心要点
熵:一个变量的不确定性
- 熵的定义(离散变量 Y 取 n 个值、概率 pᵢ):H(Y) = −Σ pᵢ·log₂(pᵢ)。log 以 2 为底。
- 只取一个值 → 熵为 0(没有不确定性)。熵越大 → 越不确定 → 越难预测。
- 掷硬币直觉:90% 正面朝上的硬币,比 50/50 的硬币不确定性低。
- 涨跌例子:设 X 表示次日涨跌。p(涨) 从 0% 变到 100% 时,熵先变大再变小;正好 50% 时熵最大(=1),最不稳定、最无序、最难猜。
条件熵:知道 X 之后,Y 还剩多少不确定
- 场景:不知道任何信息时,可假设次日涨跌各 50%,熵 = 1;但知道「今天涨/跌」后,次日概率变成条件概率 P(Xₜ | Xₜ₋₁=涨) 之类,熵会变。
- 公式:H(Y|X) = Σᵢ p(xᵢ)·H(Y|X=xᵢ),其中 p(xᵢ)=P(X=xᵢ)。含义:把 X 的每个取值当成一组,组内算 Y 的熵,再按 X 取该值的概率加权平均。
- 易混点(原文专门强调):H(Y|X=xᵢ) 是把「(Y|X=xᵢ)」整个当成一个新变量 Z,用 H(Z)=−Σp·log₂p 计算;别和 H(Y|X) 的记号混淆。
信息增益:特征贡献了多少信息
- 公式:g(Y,X) = H(Y) − H(Y|X)。它也叫互信息。
- 含义:知道特征 X 后,Y 的不确定性减少了多少。增益越大 → 特征提供的信息越多 → 这个特征越重要。
- 用途(原文小结):衡量各个因子是否有效、衡量机器学习里各个特征的重要性。
完整算例(6 个样本)
- 数据:6 个 Y,3 涨 3 跌 → p₁=p₂=1/2 → H(Y) = −½·log₂½ − ½·log₂½ = 1。
- X=涨 时:2 个 Y 全是涨 → H(Y|X=涨)= −1·log₂1 − 0 = 0。
- X=跌 时:4 个 Y 中 3 跌 1 涨 → H(Y|X=跌)= −¾·log₂(¾) − ¼·log₂(¼) = 0.8113。
- X 自身的分布:p(X=涨)=1/3、p(X=跌)=2/3 → 条件熵 = ⅓×0 + ⅔×0.8113 = 0.5409。
- 信息增益 = 1 − 0.5409 = 0.4591。
机制 / 论证
- 为什么 50/50 时熵最大:熵量化「平均要费多少劲才猜对」;越接近抛硬币,越没有可利用的规律,越难预测。增益的直觉是「引入 X 后,猜 Y 的赌注降了多少」——若 X 让某组变成 100% 确定,那组熵归零,增益被拉满。
- 为什么用它选特征:把「因子/特征有没有用」从拍脑袋变成可计算——看它把目标变量的不确定性压掉多少。这是决策树/随机森林做分裂的依据;本库 36–43 里,后续各篇都用特征预测涨跌,本篇给的是「怎么比较特征」的理论尺子。
- 条件熵为什么是加权平均:特征 X 的不同取值出现频率不同,频率高的取值对整体剩余不确定贡献大,所以要按 P(X=xᵢ) 加权,而不是简单平均。
可操作
- 手算一个离散特征 X 对目标 Y 的信息增益:
- 统计 Y 各取值频率,算 H(Y)。
- 按 X 的取值把样本分组,每组内算 H(Y|X=x)。
- 按 P(X=x) 加权求和 → 条件熵 H(Y|X)。
- 相减得信息增益;增益高 = 该特征(因子)值得用。
- 在量化里的接法:X 可以换成某个因子离散化后的状态、Y 是次日涨跌——但本篇只给数学概念,没有聚宽代码、没有因子回测示例;落地要在研究环境自己实现,离散化的工程做法见第 43 篇。
术语
- 熵 H(Y):−Σ p·log₂p,离散变量的不确定性度量。
- 条件熵 H(Y|X):已知特征 X 后 Y 的平均剩余不确定性。
- 信息增益 / 互信息 g(Y,X):H(Y) − H(Y|X),特征带来的不确定性减少量。
- 特征 / 因子:影响预测对象的可量化变量,本文里两者通用。
不确定 / 待验证
- 文中两张图(熵随 p(涨) 变化曲线、6 样本演示表)在附图,raw 只有图链 [需要验证];正文列出的数字已按公式复算核对(H(Y)=1、条件熵 0.5409、增益 0.4591)。
- 熵的 log 底数取 2(单位 bit);若换自然对数只是整体常数缩放,不改变特征间的排序——原文没写明底数口径。
- 原文只停在「增益高 = 特征重要」;没给「多大算够有效」的阈值、没做多特征联合比较的实例。
- 连续型特征怎么离散化/怎么算增益,本文未讲——第 43 篇补了技术指标离散化的工程做法。
- 没有讨论特征间冗余(两个高度相关特征各自增益都大,但信息重叠)——决策树语境里这是后续问题,本篇不涉及。
相关
- 熵与信息增益(衡量特征/因子带来多少信息) — 熵/条件熵/信息增益共享概念页(本篇提炼)
- 因子选股(排名 / 打分 / 阈值筛选) — 量化里的「特征」= 因子;本篇给因子有效性的一种衡量视角
- 朴素贝叶斯入门 — 机器学习组第 2 篇(概率分类,同「用特征判断涨跌」主题)
- 手把手教你如何应用机器学习 — 机器学习组的落地篇(技术指标离散化成特征)
- 聚宽量化课堂(低频量化策略 43 篇) — 量化课堂 43 篇总览
更新 2026-09-06