第 12 章 统计决策理论
本章对应 Wasserman 原书第 12 章。到目前为止我们有了很多估计方法——矩估计、MLE、后验均值、Bootstrap——但还没有回答一个根本问题:怎样比较两个估计量的好坏? 决策理论给出了形式化的答案:先说清楚"错了要付出什么代价"(损失函数),再比较平均代价(风险)。本章的结论对量化极其重要:最优估计取决于损失函数;参数很多时,最大似然不再最优,收缩估计(James–Stein、Ledoit–Wolf)可以一致地更好——这是现代组合管理中期望收益与协方差估计的理论基石。
学习目标
- 掌握决策理论的基本语言:决策规则、行动、损失函数、风险函数;知道平方损失下风险就是 MSE = 方差 + 偏差²。
- 理解风险函数通常相互交叉,会用最大风险与贝叶斯风险两种单数字概括,并由此导出 minimax 规则与贝叶斯规则。
- 会求贝叶斯规则:平方损失取后验均值,绝对损失取后验中位数,0-1 损失取后验众数;会用"常数风险的贝叶斯规则是 minimax"这一结论构造 minimax 估计。
- 理解大样本参数模型中 MLE 近似 minimax 且近似贝叶斯,以及这一结论在高维时为何失效。
- 理解可容许性及其局限,掌握 Stein 悖论与 James–Stein 估计。
- 能把损失函数思想与收缩估计用于期望收益估计、协方差估计、VaR 预测和组合优化。
读前导读
这一章在解决什么问题
前面几章给了你一堆估计方法,但没有一个统一的"记分规则"来判断谁更好。本章就是这套记分规则:先规定"估错了罚多少"(损失函数),再看"平均罚多少"(风险)。这与你熟悉的投资决策框架完全同构:选一个目标函数(效用、跟踪误差、VaR),再在不确定性下比较各方案的期望得分。
CFA 里你学过"无偏估计量"和"有效估计量"(方差最小),并默认无偏是美德。本章要推翻这个默认:平方损失下,总误差 = 方差 + 偏差²。故意引入一点偏差(把估计往某个目标"收缩"),若能大幅降低方差,总误差就更小。你熟悉的 Vasicek Beta 调整(把个股 Beta 往 1 拉)、Black–Litterman 的均衡先验,都是这个思想的应用。本章最重要的结果是 Stein 悖论:同时估计 3 个以上的均值时,样本均值一定能被收缩估计全面打败。这直接解释了为什么用样本均值、样本协方差做均值-方差优化效果那么差,以及 Ledoit–Wolf 收缩为什么有效。
本章还区分两种"最优":贝叶斯规则(在先验下平均表现最好,类似按情景概率加权的期望收益最大化)和 minimax 规则(在最坏情形下表现最好,类似压力测试或稳健优化)。
需要先想起来的数学
1. 上确界与下确界(\(\sup\)、\(\inf\))。 \(\sup_\theta R(\theta)\) 是"\(R\) 在所有 \(\theta\) 上能达到的最大值",严格说是最小上界,最大值不一定取得到时也有定义;\(\inf\) 是对应的最小下界。例:\(1-1/n\) 对 \(n=1,2,\dots\) 没有最大值,但上确界是 1。读的时候把 \(\sup\) 当"最坏情况"、\(\inf\) 当"能做到的最好"即可。参见 第 00 册第 01 章 函数极限与连续。
2. 期望作为积分与积分换序。 \(\mathbb E_\theta[g(X)]=\int g(x)f(x;\theta)dx\)。二重积分 \(\iint\) 在被积函数非负(或绝对可积)时,先对 \(x\) 积还是先对 \(\theta\) 积结果一样,就像一张收益矩阵先按行求和再加总、或先按列求和再加总,总数相同。定理 12.7 的证明全靠这一点。参见 第 00 册第 03 章 积分、第 07 章 概率中的分析工具。
3. 求导找最小值。 对一个关于 \(c\) 的函数求导令为 0,得到极值点。例:\(g(c)=\mathbb E(\theta-c)^2=\mathbb V(\theta)+(\mathbb E\theta-c)^2\),显然 \(c=\mathbb E\theta\) 时最小。定理 12.8 就是这个计算。参见 第 00 册第 02 章 导数与泰勒展开。
4. 大 O 记号。 \(O(n^{-2})\) 表示"量级不超过常数乘 \(1/n^2\)"。\(n=100\) 时,\(O(n^{-1})\) 约为 0.01 量级,\(O(n^{-2})\) 约为 0.0001 量级,所以后者可以忽略。参见 第 07 章。
5. 反证法。 定理 12.10、12.19、12.21 都是"假设结论不成立,推出矛盾"。读法:先找到"若不然"那一句,再看矛盾落在哪个已知性质上(通常是"贝叶斯规则使贝叶斯风险最小")。参见 第 00 册第 08 章 读懂数学证明与符号。
其他符号:\((z)^+=\max\{z,0\}\),即"负数截成 0",与期权到期收益 \((S-K)^+\) 同一个记号;\(\tanh x=\frac{e^x-e^{-x}}{e^x+e^{-x}}\) 是取值在 \((-1,1)\) 之间的 S 形函数;\(\|\theta\|^2=\sum\theta_i^2\) 是向量长度的平方。
怎么读这一章
核心必读:12.1(损失与风险)、12.3(贝叶斯规则,特别是定理 12.8 和分位数损失)、12.7(Stein 悖论)以及 12.8.2、12.8.3 两个量化实战。12.2 的例 12.3 计算较多,第一遍抓住"风险曲线会交叉"即可。12.4 的 minimax 部分记住"常数风险的贝叶斯规则是 minimax"这一句,例 12.15 可第二遍再看。12.5 的局部渐近 minimax 定理和 12.6 的定理 12.19–12.23 偏理论,第一次可以只读结论。
12.1 基本语言
设参数 \(\theta\in\Theta\),估计量为 \(\hat\theta\)。在决策理论中,估计量称为决策规则(decision rule),它的可能取值称为行动(action)。用损失函数(loss function)\(L(\theta,\hat\theta)\) 度量估计与真值之间的差距。常见损失:
| 损失 | 公式 |
|---|---|
| 平方误差损失 | \((\theta-\hat\theta)^2\) |
| 绝对误差损失 | \(\lvert\theta-\hat\theta\rvert\) |
| \(L_p\) 损失 | \(\lvert\theta-\hat\theta\rvert^p\) |
| 0-1 损失 | \(\theta=\hat\theta\) 时为 0,否则为 1 |
| Kullback–Leibler 损失 | \(\int\log\frac{f(x;\theta)}{f(x;\hat\theta)}f(x;\theta)dx\) |
估计量是数据的函数 \(\hat\theta(X)\),损失是随机的。评价估计量用平均损失:
定义 12.1(风险,risk)。
平方损失下,风险就是均方误差:
推导拆解:记 \(m=\mathbb E_\theta\hat\theta\)。把误差拆成两段:\(\hat\theta-\theta=(\hat\theta-m)+(m-\theta)\)。平方后取期望: \(\mathbb E(\hat\theta-\theta)^2=\mathbb E(\hat\theta-m)^2+2(m-\theta)\,\mathbb E(\hat\theta-m)+(m-\theta)^2\)。 第一项就是方差;第二项里 \(\mathbb E(\hat\theta-m)=0\),交叉项消失;第三项是常数,即偏差²。这和"组合跟踪误差的平方 = 主动收益的方差 + 平均主动收益²"是同一个恒等式。
本章未特别说明时都用平方损失。"方差 + 偏差²"的分解是全章的主线:允许一点偏差,换取方差的大幅下降,总风险可能更小——收缩估计就是这么做的。
量化读法:损失函数不是数学装饰,它对应真实的代价。预测收益用于排序选股,关心的是排名而非数值;预测 VaR 用于资本计提,低估比高估代价大得多;预测成交量用于拆单,绝对误差可能比平方误差更贴近成本。先想清楚损失,再选估计量。
12.2 比较风险函数
风险 \(R(\theta,\hat\theta)\) 是 \(\theta\) 的函数。两个估计量的风险曲线常常交叉,谁也不能一致占优。
例 12.2。 \(X\sim N(\theta,1)\),\(\hat\theta_1=X\),\(\hat\theta_2=3\)(不管数据,永远猜 3)。\(R(\theta,\hat\theta_1)=1\),\(R(\theta,\hat\theta_2)=(3-\theta)^2\)。当 \(2<\theta<4\) 时"永远猜 3"反而更好,否则 \(X\) 更好。
例 12.3。 \(X_1,\dots,X_n\sim\text{Bernoulli}(p)\),\(Y=\sum X_i\)。
- \(\hat p_1=\bar X\):无偏,\(R(p,\hat p_1)=\dfrac{p(1-p)}{n}\)。
- \(\hat p_2=\dfrac{Y+\alpha}{\alpha+\beta+n}\):Beta\((\alpha,\beta)\) 先验下的后验均值,
\[R(p,\hat p_2)=\frac{np(1-p)}{(\alpha+\beta+n)^2}+\Big(\frac{np+\alpha}{\alpha+\beta+n}-p\Big)^2.\]取 \(\alpha=\beta=\sqrt{n/4}\)(原因见例 12.12),得 \(\hat p_2=\dfrac{Y+\sqrt{n/4}}{n+\sqrt n}\),风险为常数 \(\dfrac{n}{4(n+\sqrt n)^2}\)。两条风险曲线交叉:\(p\) 靠近 1/2 时 \(\hat p_2\) 更好,靠近 0 或 1 时 \(\hat p_1\) 更好。
12.2.1 两种单数字概括
定义 12.4。
- 最大风险(maximum risk):\(\bar R(\hat\theta)=\sup_\theta R(\theta,\hat\theta)\);
- 贝叶斯风险(Bayes risk):\(r(f,\hat\theta)=\int R(\theta,\hat\theta)f(\theta)d\theta\),\(f\) 为先验。
例 12.5。 续例 12.3。最大风险:\(\bar R(\hat p_1)=\max_p\frac{p(1-p)}{n}=\frac1{4n}\),\(\bar R(\hat p_2)=\frac{n}{4(n+\sqrt n)^2}\),后者更小。但 \(n\) 很大时,除了 \(p=1/2\) 附近一小段,\(\hat p_1\) 的风险都更小,所以很多人仍偏爱 \(\hat p_1\)——单数字概括都不完美。均匀先验下的贝叶斯风险:\(r(f,\hat p_1)=\int_0^1\frac{p(1-p)}{n}dp=\frac1{6n}\),\(r(f,\hat p_2)=\frac{n}{4(n+\sqrt n)^2}\);\(n\ge20\) 时 \(r(f,\hat p_2)>r(f,\hat p_1)\),提示 \(\hat p_1\) 更好。这符合直觉,但依赖先验的选择。最大风险的好处是不需要先验。
两种概括导出两种构造估计量的方法:
定义 12.6。
- 关于先验 \(f\) 的贝叶斯规则(Bayes rule):\(r(f,\hat\theta)=\inf_{\tilde\theta}r(f,\tilde\theta)\);
- minimax 规则:\(\sup_\theta R(\theta,\hat\theta)=\inf_{\tilde\theta}\sup_\theta R(\theta,\tilde\theta)\)。
下确界取遍所有估计量。贝叶斯规则在"平均情形"最优,minimax 规则在"最坏情形"最优。
金融直觉:把每个 \(\theta\) 看成一个市场情景,\(R(\theta,\hat\theta)\) 是方案 \(\hat\theta\) 在该情景下的预期损失。贝叶斯风险是"按情景概率加权的平均损失",需要你给出情景概率(先验);最大风险是"压力测试下的最差损失",不需要概率。两个方案的损失曲线交叉时,选哪个取决于你更在意平均还是最坏情况,这和在期望收益最大化与最大回撤约束之间取舍是一回事。
12.3 贝叶斯估计量
记后验 \(f(\theta\mid x)=\dfrac{f(x\mid\theta)f(\theta)}{m(x)}\),\(m(x)=\int f(x\mid\theta)f(\theta)d\theta\) 为 \(X\) 的边缘密度。估计量在 \(x\) 处的后验风险(posterior risk)为
定理 12.7。 贝叶斯风险可写成 \(r(f,\hat\theta)=\int r(\hat\theta\mid x)m(x)dx\)。因此,对每个 \(x\) 取使后验风险最小的 \(\hat\theta(x)\),得到的就是贝叶斯规则。
证明。 交换积分次序:
推导拆解:
- 第一个等号:贝叶斯风险的定义 \(\int R(\theta,\hat\theta)f(\theta)d\theta\),再把 \(R\) 按定义 12.1 展开成对 \(x\) 的积分。
- 第二个等号做了两件事。一是用贝叶斯定理改写联合密度:\(f(x\mid\theta)f(\theta)=f(x,\theta)=f(\theta\mid x)m(x)\),同一个联合密度的两种分解。二是交换积分次序:原来先对 \(x\) 积、再对 \(\theta\) 积,现在先对 \(\theta\) 积、再对 \(x\) 积。损失非负,换序合法。
- 第三个等号:内层 \(\int L(\theta,\hat\theta(x))f(\theta\mid x)d\theta\) 正是后验风险的定义。
- 最后一步:\(m(x)\ge0\) 是固定的权重,要让加权和最小,只需让每个 \(x\) 上的被加项最小;而 \(\hat\theta(x)\) 在不同 \(x\) 上可以独立选择,互不牵制。
这个定理的实用含义很大:贝叶斯决策者只需要对眼前观测到的 \(x\) 最小化后验期望损失,不需要考虑"没发生的数据"。
定理 12.8。 贝叶斯规则在
- 平方损失下是后验均值 \(\mathbb E(\theta\mid X=x)\);
- 绝对损失下是后验中位数;
- 0-1 损失下是后验众数。
证明(平方损失)。 \(r(\hat\theta\mid x)=\int(\theta-\hat\theta(x))^2f(\theta\mid x)d\theta\),对 \(\hat\theta(x)\) 求导令为 0:\(\int(\theta-\hat\theta(x))f(\theta\mid x)d\theta=0\),即 \(\hat\theta(x)=\int\theta f(\theta\mid x)d\theta\)。(绝对损失时导数为 \(\mathbb P(\theta<\hat\theta\mid x)-\mathbb P(\theta>\hat\theta\mid x)\),令其为 0 即中位数。)
推广(原书未讲):分位数损失。 损失 \(\rho_\tau(u)=u(\tau-I(u<0))\),\(u=\theta-\hat\theta\)("pinball 损失")下,贝叶斯规则是后验的 \(\tau\) 分位数。同理,预测问题中最小化期望 pinball 损失的预测值是条件分布的 \(\tau\) 分位数——这就是分位数回归和 VaR 预测评估的理论依据:评价一个 1% VaR 模型,合适的打分规则是 \(\tau=0.01\) 的 pinball 损失,而不是平方误差。
推导拆解(绝对损失与分位数损失):
- 绝对损失:\(g(c)=\int|\theta-c|f(\theta\mid x)d\theta\)。把 \(c\) 往右挪一点点 \(\Delta\):所有在 \(c\) 左边的 \(\theta\),损失增加 \(\Delta\);在右边的,损失减少 \(\Delta\)。所以 \(g'(c)=P(\theta<c\mid x)-P(\theta>c\mid x)\)。令其为 0,左右概率各一半,就是中位数。
- 分位数损失:\(u=\theta-c>0\)(低估)时罚 \(\tau u\),\(u<0\)(高估)时罚 \((1-\tau)|u|\)。同样把 \(c\) 右移 \(\Delta\):左边的每个 \(\theta\) 多罚 \((1-\tau)\Delta\),右边的每个少罚 \(\tau\Delta\)。导数 \(=(1-\tau)F(c)-\tau(1-F(c))=F(c)-\tau\),令其为 0 得 \(F(c)=\tau\)。 直观上,两侧罚得不对称,最优点就会偏向罚得重的那一侧。\(\tau=0.01\) 时,真实值落在预测下方要罚 0.99,落在上方只罚 0.01,所以最优预测压到 1% 分位数,这正是 VaR。
例 12.9。 \(X_i\sim N(\mu,\sigma^2)\),\(\sigma^2\) 已知,先验 \(\mu\sim N(a,b^2)\)。平方损失下的贝叶斯估计为后验均值
12.4 Minimax 规则
找 minimax 规则一般很难。核心结论只有一句:风险为常数的贝叶斯规则是 minimax 的。
定理 12.10。 设 \(\hat\theta^f\) 是先验 \(f\) 的贝叶斯规则。若对所有 \(\theta\),
证明。 若不然,存在 \(\hat\theta_0\) 使 \(\sup_\theta R(\theta,\hat\theta_0)<\sup_\theta R(\theta,\hat\theta^f)\)。平均值不超过最大值,于是
白话解释:条件 \(R(\theta,\hat\theta^f)\le r(f,\hat\theta^f)\) 说的是"这个规则在任何情景下的损失都不超过它的平均损失"。可平均值本来就不超过最大值,于是平均损失 = 最大损失,风险曲线在先验看重的地方是"平顶"的。最不利先验是"自然界故意把概率押在你最难估的地方",在这种先验下你都只能做到这个水平,任何规则的最坏情况就不可能更好。证明链条中三个不等号依次用了:平均 ≤ 最大、假设、定理条件。 若 \(\hat\theta\) 是某先验下的贝叶斯规则且风险为常数 \(c\),则它是 minimax 的。(\(r(f,\hat\theta)=\int cf=c\),满足定理 12.10 的条件。)
例 12.12。 例 12.3 的 \(\hat p=\frac{Y+\sqrt{n/4}}{n+\sqrt n}\) 是 Beta\((\sqrt{n/4},\sqrt{n/4})\) 先验下的后验均值,且风险为常数,所以是 Bernoulli 平方损失下的 minimax 规则。\(\alpha=\beta=\sqrt{n/4}\) 正是使风险中 \(p\) 的一次项与二次项系数同时为 0 的取值。
例 12.13。 换一个损失:\(L(p,\hat p)=\frac{(p-\hat p)^2}{p(1-p)}\)。此时 \(\hat p=\bar X\) 的风险为 \(\frac{1}{p(1-p)}\cdot\frac{p(1-p)}{n}=\frac1n\),是常数;可以证明它是均匀先验下的贝叶斯规则,故为 minimax。同一个估计量是否 minimax,取决于损失函数。
定理 12.14。 \(X_1,\dots,X_n\sim N(\theta,1)\) 时,\(\bar X\) 对任何"良好"的损失函数(水平集为凸且关于原点对称)都是 minimax 的,并且是唯一具有此性质的估计量。
参数空间受限时情况不同。
例 12.15。 \(X\sim N(\theta,1)\),已知 \(\theta\in[-m,m]\),\(0<m<1\)。平方损失下唯一的 minimax 估计是
推导拆解(后验均值为什么是 \(m\tanh(mx)\)):两点先验下,后验概率 ∝ 似然 × 1/2。\(\theta=m\) 时似然 \(\propto e^{-(x-m)^2/2}=e^{-x^2/2}e^{-m^2/2}e^{mx}\),\(\theta=-m\) 时 \(\propto e^{-x^2/2}e^{-m^2/2}e^{-mx}\)。公共因子约掉,后验概率之比为 \(e^{mx}:e^{-mx}\)。后验均值 \(=m\cdot P(\theta=m\mid x)+(-m)\cdot P(\theta=-m\mid x)=m\frac{e^{mx}-e^{-mx}}{e^{mx}+e^{-mx}}\)。\(x\) 很大时 \(\tanh\to1\),估计趋近 \(m\) 但永远到不了,因为后验总给 \(-m\) 留了一点概率。
量化读法:minimax 思想对应稳健优化(robust optimization)——在参数的不确定集合内针对最坏情形做最优决策,不需要先验。稳健均值-方差优化(期望收益落在椭球不确定集内)就是这一思路;贝叶斯风险则对应"在先验下平均最优"的贝叶斯组合优化。例 12.5 说明二者可能给出不同偏好。
12.5 最大似然、minimax 与贝叶斯的关系
大样本、低维时,MLE 近似 minimax 且近似贝叶斯。 平方损失 = 偏差² + 方差。在正则参数模型中,偏差² 通常是 \(O(n^{-2})\),方差是 \(O(n^{-1})\),方差主导:
参数很多时,这些结论失效。
例 12.16(多个正态均值,many Normal means)。 \(Y_i\sim N(\theta_i,\sigma^2/n)\),\(i=1,\dots,n\),参数个数与观测个数一样多。设 \(\theta\in\Theta=\{\theta:\sum\theta_i^2\le c^2\}\),损失 \(\sum(\hat\theta_i-\theta_i)^2\)。MLE \(\hat\theta=Y\) 的风险为 \(n\cdot\sigma^2/n=\sigma^2\)。可以证明 minimax 风险约为
量化读法:\(N\) 只股票的期望收益、\(N(N+1)/2\) 个协方差元素,都是"参数与观测量级相当"的高维估计问题。样本均值、样本协方差都是 MLE,正是在这里表现最差。均值-方差优化会放大这些估计误差(被称为"误差最大化器"),所以收缩、因子结构、正则化几乎是必需的。
12.6 可容许性
Minimax 和贝叶斯估计量刻画"好"的估计量;可容许性则用来刻画"坏"的估计量。
定义 12.17。 若存在 \(\hat\theta'\) 使对所有 \(\theta\) 有 \(R(\theta,\hat\theta')\le R(\theta,\hat\theta)\),且至少对某个 \(\theta\) 严格小于,则称 \(\hat\theta\) 不可容许(inadmissible)——它被一致地打败了。否则称为可容许(admissible)。
例 12.18(可容许 ≠ 好)。 \(X\sim N(\theta,1)\),"永远估计为 3"的规则 \(\hat\theta=3\) 是可容许的:若有规则 \(\hat\theta'\) 处处不差,特别地 \(R(3,\hat\theta')\le R(3,\hat\theta)=0\),则 \(\int(\hat\theta'(x)-3)^2f(x;3)dx=0\),故 \(\hat\theta'\equiv3\)。没有任何规则能在 \(\theta=3\) 处与它打平之外还在别处更好。可容许性是很弱的要求,一个显然糟糕的规则也可以是可容许的。
定理 12.19(贝叶斯规则可容许)。 设 \(\Theta\subset\mathbb R\),每个估计量的风险 \(R(\theta,\hat\theta)\) 关于 \(\theta\) 连续,先验 \(f\) 具有全支撑(对任意 \(\theta\) 和 \(\epsilon>0\),\(\int_{\theta-\epsilon}^{\theta+\epsilon}f>0\)),且贝叶斯风险有限,则贝叶斯规则 \(\hat\theta^f\) 可容许。
证明。 若 \(\hat\theta\) 一致不差于 \(\hat\theta^f\) 且在 \(\theta_0\) 处严格更好,差值 \(\nu>0\)。由连续性,在 \((\theta_0-\epsilon,\theta_0+\epsilon)\) 内差值 \(>\nu/2\)。于是
定理 12.20。 \(X_i\sim N(\mu,\sigma^2)\),平方损失下 \(\bar X\) 可容许。(证明技术性强。思路:严格正先验的后验均值可容许;取先验 \(N(a,b^2)\),\(b\to\infty\) 时后验均值趋于 \(\bar X\)。)
可容许性与 minimax 一般互不蕴含,但有以下联系:
定理 12.21。 若 \(\hat\theta\) 风险为常数且可容许,则它是 minimax 的。(若不然,存在 \(\hat\theta'\) 使 \(R(\theta,\hat\theta')\le\sup R(\cdot,\hat\theta')<c\) 对所有 \(\theta\) 成立,与可容许矛盾。)
定理 12.22。 \(X_i\sim N(\theta,1)\),平方损失下 \(\bar X\) 是 minimax 的。(由定理 12.20 可容许,风险 \(1/n\) 为常数,用定理 12.21。)
minimax 规则不一定可容许,但"差得不多":若存在 \(\hat\theta'\) 和 \(\epsilon>0\) 使 \(R(\theta,\hat\theta')<R(\theta,\hat\theta)-\epsilon\) 对所有 \(\theta\) 成立,称 \(\hat\theta\) 强不可容许。定理 12.23:minimax 规则不是强不可容许的。
量化读法:例 12.18 也是对策略评价的提醒——"在某些指标上不能被严格超越"并不说明一个策略好。
12.7 Stein 悖论
\(X\sim N(\theta,1)\) 时 \(\hat\theta=X\) 可容许。估计两个毫不相关的量 \(\theta_1,\theta_2\)(\(X_1\sim N(\theta_1,1)\)、\(X_2\sim N(\theta_2,1)\) 独立,损失为两者平方误差之和),\(\hat\theta=X\) 仍然可容许。推广到 \(k\) 个:\(X_i\sim N(\theta_i,1)\) 独立,损失 \(\sum_{j=1}^k(\hat\theta_j-\theta_j)^2\)。
Stein(1956)的惊人结果:当 \(k\ge3\) 时,\(\hat\theta(X)=X\) 不可容许。 James–Stein 估计量
为什么令人震惊?各 \(\theta_i\) 之间毫无关系——可以是"某只股票的期望收益""某城市的降雨量""某球员的打击率"——但把它们放在一起估计,用其他分量的数据来"收缩"每个分量,总误差就一定下降。关键在于损失是总和:收缩对个别分量可能变差,但总平方误差一定更小。
直觉。 \(\mathbb E\sum X_i^2=\sum\theta_i^2+k\):观测向量系统性地比真值向量"长"。把它往原点缩短一点,正好纠正这种膨胀。收缩系数 \(1-\frac{k-2}{\sum X_j^2}\) 是数据驱动的:若 \(\sum X_j^2\) 接近 \(k\)(数据看起来和纯噪声差不多),就几乎收缩到 0;若 \(\sum X_j^2\) 远大于 \(k\)(信号很强),就几乎不收缩。它也可以理解为经验贝叶斯:假设 \(\theta_i\sim N(0,A)\),后验均值是 \(\frac{A}{A+1}X_i=(1-\frac{1}{A+1})X_i\),而 \(\frac{k-2}{\sum X_j^2}\) 正是 \(\frac{1}{A+1}\) 的无偏估计。
变体:向共同均值收缩。 收缩目标不必是 0,可以是任意事先固定的点,或数据的总均值 \(\bar X\):
推导拆解("观测向量更长"是怎么来的):\(X_i=\theta_i+\varepsilon_i\),\(\varepsilon_i\sim N(0,1)\)。\(\mathbb EX_i^2=\theta_i^2+2\theta_i\mathbb E\varepsilon_i+\mathbb E\varepsilon_i^2=\theta_i^2+1\)。对 \(i\) 求和得 \(\sum\theta_i^2+k\)。每个分量多出 1 的噪声能量,\(k\) 越大多出得越多,所以维度越高收缩的收益越大。为什么是 \(k\ge3\) 而不是 \(k\ge2\):\(k-2\) 来自 \(\mathbb E[1/\chi^2_k]=1/(k-2)\),\(k\le2\) 时这个期望是无穷大,收缩系数不再可控(练习 9)。
金融直觉:设想 200 只股票过去 5 年的平均收益。排名第一的那只,高收益里有一部分是真本事,一部分是运气;样本量越小、波动越大,运气占比越高。James–Stein 做的是"按整体噪声水平打折":如果所有股票的平均收益差异与纯噪声差不多大,说明排名主要靠运气,就大幅拉回均值;如果差异远大于噪声,就基本相信原排名。它不需要知道哪只股票是运气好,只需要知道"整体上运气占多大比例"。这就是 12.8.2 中"赢家诅咒"被纠正的机制。注意"一致更优"针对的是总误差:某一只股票的收缩估计可能比样本均值更差,但加总一定更好,而组合优化恰恰关心整体。
Wasserman 的启示:同时估计许多参数时,收缩估计有巨大价值;它在现代非参数函数估计中也起着核心作用。
12.8 量化实战
12.8.1 风险函数的比较:Bernoulli 与受限正态均值
用代码核对例 12.5 的最大风险、贝叶斯风险与"\(n\ge20\) 时偏好翻转"的结论,并数值计算例 12.15 中三个估计量的风险函数。
import numpy as np
from scipy import stats, integrate
# (1) 例 12.3/12.5:Bernoulli 的两个估计量 —— MLE p1 = Ybar 与 minimax 规则 p2 = (Y+sqrt(n/4))/(n+sqrt(n))
def risk_mle(p, n): return p * (1 - p) / n
def risk_mm(n): return n / (4 * (n + np.sqrt(n)) ** 2) # 常数风险
print(" n 最大风险(MLE) 最大风险(minimax) 贝叶斯风险(MLE, 均匀先验) 贝叶斯风险(minimax) |p-1/2|<? 时 minimax 更好")
for n in [5, 19, 20, 100, 1000]:
# minimax 风险更小的区域:p(1-p)/n > risk_mm ⇔ |p-1/2| < sqrt(1/4 - n*risk_mm)
half = np.sqrt(0.25 - n * risk_mm(n))
print(f"{n:>4} {1/(4*n):>12.5f} {risk_mm(n):>16.5f} {1/(6*n):>22.5f} {risk_mm(n):>22.5f} {half:>20.3f}")
# (2) 例 12.15:X~N(theta,1),已知 |theta|<=m=0.5。minimax 规则 m*tanh(mX) vs MLE 类规则 X
m = 0.5
def risk(est, th):
f = lambda x: (est(x) - th) ** 2 * stats.norm.pdf(x, th, 1)
return integrate.quad(f, -np.inf, np.inf)[0]
ths = np.linspace(-m, m, 5)
r_tanh = [risk(lambda x: m * np.tanh(m * x), t) for t in ths]
r_x = [risk(lambda x: x, t) for t in ths]
r_clip = [risk(lambda x: np.clip(x, -m, m), t) for t in ths] # 截断到参数空间的 MLE
print("theta :", np.round(ths, 2))
print("m*tanh(mX):", np.round(r_tanh, 4), " 最大", round(max(r_tanh), 4))
print("截断 MLE :", np.round(r_clip, 4), " 最大", round(max(r_clip), 4))
print("X :", np.round(r_x, 4))
# 贝叶斯风险(先验在 ±m 各 1/2)——定理 12.10:所有 theta 的风险都不超过它
print("两点先验下 m*tanh(mX) 的贝叶斯风险:", round(0.5 * (risk(lambda x: m*np.tanh(m*x), m) + risk(lambda x: m*np.tanh(m*x), -m)), 4))
输出:
n 最大风险(MLE) 最大风险(minimax) 贝叶斯风险(MLE, 均匀先验) 贝叶斯风险(minimax) |p-1/2|<? 时 minimax 更好
5 0.05000 0.02387 0.03333 0.02387 0.361
19 0.01316 0.00871 0.00877 0.00871 0.291
20 0.01250 0.00835 0.00833 0.00835 0.288
100 0.00250 0.00207 0.00167 0.00207 0.208
1000 0.00025 0.00023 0.00017 0.00023 0.123
theta : [-0.5 -0.25 0. 0.25 0.5 ]
m*tanh(mX): [0.199 0.0821 0.0434 0.0821 0.199 ] 最大 0.199
截断 MLE : [0.258 0.2021 0.1851 0.2021 0.258 ] 最大 0.258
X : [1. 1. 1. 1. 1.]
两点先验下 m*tanh(mX) 的贝叶斯风险: 0.199
读法:
- minimax 规则的最大风险总是更小;但均匀先验下的贝叶斯风险在 \(n=19\) 时 minimax 规则还略优(0.00871 < 0.00877),\(n=20\) 时翻转(0.00835 > 0.00833),与原书"\(n\ge20\)"一致。最后一列给出 minimax 规则占优的区间 \(|p-1/2|<\cdot\),它随 \(n\) 缩小,但速度只有 \(n^{-1/4}\),\(n=1000\) 时仍有 \(p\in(0.38,0.62)\)——"只是一小段"要在很大的 \(n\) 下才成立。
- 受限正态均值:\(m\tanh(mX)\) 的最大风险 0.199 恰好等于两点先验下的贝叶斯风险,正是定理 12.10 的条件 \(R(\theta,\hat\theta)\le r(f,\hat\theta)\) 取等号的情形。截断 MLE 已经比 \(X\) 好得多,但仍不如 minimax 规则——"知道参数在哪个范围"这一信息,用非线性收缩利用得更充分。
12.8.2 James–Stein:从原书习题 6 到截面期望收益
第一部分复现原书习题 6(比较 MLE 与 James–Stein 的风险);第二部分是量化版本:200 只股票、5 年月度数据估计期望收益,向截面均值收缩。
import numpy as np
rng = np.random.default_rng(12)
# (1) 原书习题 6:k 个正态均值,MLE X vs James–Stein (12.12),总平方误差损失
def js0(x): # 向 0 收缩,方差已知为 1
k = len(x); return max(0.0, 1 - (k - 2) / np.sum(x ** 2)) * x
reps = 4000
print(" k ||theta||^2 风险(MLE) 风险(JS)")
for k, th in [(3, np.zeros(3)), (10, np.zeros(10)), (10, np.full(10, 1.0)), (10, np.full(10, 3.0)),
(100, rng.normal(0, 1, 100)), (100, rng.normal(0, 5, 100))]:
X = th + rng.standard_normal((reps, k))
r_mle = np.mean(np.sum((X - th) ** 2, 1))
r_js = np.mean([np.sum((js0(x) - th) ** 2) for x in X])
print(f"{k:>3} {np.sum(th**2):>12.1f} {r_mle:>10.2f} {r_js:>9.2f}")
# (2) 量化版本:200 只股票的期望月收益,用 5 年月度数据估计,向截面均值收缩
N, T, sig = 200, 60, 0.08 # 月波动 8%
mu = 0.008 + 0.003 * rng.standard_normal(N) # 真实期望月收益:均值 0.8%,截面离散 0.3%
reps, loss = 500, {"样本均值": [], "James–Stein(向截面均值)": []}
for _ in range(reps):
R = mu + sig * rng.standard_normal((T, N))
m = R.mean(0)
se2 = sig ** 2 / T # 每只股票样本均值的方差(实践中用估计值)
grand = m.mean()
c = max(0.0, 1 - (N - 3) * se2 / np.sum((m - grand) ** 2)) # 向均值收缩时用 k-3
m_js = grand + c * (m - grand)
loss["样本均值"].append(np.mean((m - mu) ** 2))
loss["James–Stein(向截面均值)"].append(np.mean((m_js - mu) ** 2))
print(f"\n估计误差标准差 {np.sqrt(se2):.4f},真实截面离散 0.0030;最后一次的收缩系数 c = {c:.3f}")
for k_, v in loss.items():
print(f"{k_:<24} 均方根误差 = {np.sqrt(np.mean(v)):.5f}")
# 排名最高的 10 只股票:估计值 vs 真值("赢家诅咒")
top = np.argsort(m)[-10:]
print(f"样本均值最高 10 只:估计均值 {m[top].mean():.4f},JS 估计 {m_js[top].mean():.4f},真实均值 {mu[top].mean():.4f}")
输出:
k ||theta||^2 风险(MLE) 风险(JS)
3 0.0 3.01 1.61
10 0.0 9.93 1.21
10 10.0 10.04 6.17
10 90.0 9.95 9.27
100 83.4 99.86 46.77
100 2358.0 100.04 96.25
估计误差标准差 0.0103,真实截面离散 0.0030;最后一次的收缩系数 c = 0.009
样本均值 均方根误差 = 0.01034
James–Stein(向截面均值) 均方根误差 = 0.00326
样本均值最高 10 只:估计均值 0.0283,JS 估计 0.0091,真实均值 0.0099
读法:
- 第一部分:MLE 的风险恒等于 \(k\);James–Stein 在每一种 \(\theta\) 下都更小。\(\theta\) 靠近收缩目标(原点)时改进巨大(\(k=10\) 时从 9.93 降到 1.21),离得远时改进变小(\(\|\theta\|^2=2358\) 时 100 → 96),但从不更差——这就是"一致占优"。
- 第二部分:5 年月度数据估计单只股票期望收益的标准误约 1.03%/月,是真实截面差异 0.3% 的三倍多。信噪比这么低,James–Stein 几乎把所有估计都收缩到截面均值(\(c\approx0.01\)),均方根误差从 1.03% 降到 0.33%,降幅约 70%。
- "赢家诅咒":样本均值排名前 10 的股票,估计的月收益 2.83%,真实只有 0.99%;收缩后的 0.91% 与真值几乎一致。用样本均值做均值-方差优化,等于把资金集中押在这些"被运气抬高"的股票上。Jorion(1986)的 Bayes–Stein 期望收益估计就是这一思想在组合管理中的标准形式。
12.8.3 协方差收缩:Ledoit–Wolf 与最小方差组合
协方差矩阵有 \(N(N+1)/2\) 个参数,是更典型的高维估计问题。Ledoit–Wolf(2004)把样本协方差 \(S\) 向一个结构化目标(如单位阵的倍数)收缩:\(\hat\Sigma=(1-\delta)S+\delta F\),收缩强度 \(\delta\) 由数据估计以最小化期望 Frobenius 损失——思想与 James–Stein 一脉相承。下面在 3 因子结构的真实协方差下,比较用样本协方差与用 Ledoit–Wolf 估计构造全额投资最小方差组合的真实波动。
import numpy as np
from sklearn.covariance import LedoitWolf
rng = np.random.default_rng(8)
N = 100
# 真实协方差:3 因子结构 + 特质波动(月度)
B = rng.normal([1.0, 0.0, 0.0], [0.3, 0.5, 0.5], size=(N, 3))
F = np.diag([0.045, 0.03, 0.025]) ** 2
D = np.diag(rng.uniform(0.05, 0.12, N) ** 2)
Sigma = B @ F @ B.T + D
def minvar(S): # 全额投资的最小方差组合 w ∝ S^{-1} 1
w = np.linalg.solve(S, np.ones(N)); return w / w.sum()
w_true = minvar(Sigma)
vol = lambda w: np.sqrt(12 * w @ Sigma @ w) # 用真实协方差评估(年化)
print(f"真实最优组合年化波动 {vol(w_true):.2%}")
print(" T 样本协方差 Ledoit-Wolf LW 收缩强度")
L = np.linalg.cholesky(Sigma)
for T in [60, 120, 240, 600]:
res = {"S": [], "LW": [], "a": []}
for _ in range(50):
X = rng.standard_normal((T, N)) @ L.T
S = np.cov(X, rowvar=False)
lw = LedoitWolf().fit(X)
res["S"].append(vol(minvar(S)) if T > N else np.nan) # T<=N 时样本协方差奇异
res["LW"].append(vol(minvar(lw.covariance_)))
res["a"].append(lw.shrinkage_)
s_txt = f"{np.nanmean(res['S']):.2%}" if T > N else " 奇异 "
print(f"{T:>4} {s_txt:>12} {np.mean(res['LW']):>12.2%} {np.mean(res['a']):>12.3f}")
输出:
真实最优组合年化波动 8.51%
T 样本协方差 Ledoit-Wolf LW 收缩强度
60 奇异 11.42% 0.300
120 21.48% 10.74% 0.174
240 11.29% 10.14% 0.098
600 9.31% 9.20% 0.041
读法:100 只股票、10 年月度数据(\(T=120\))时,样本协方差构造的"最小方差"组合真实波动高达 21.5%,是理论最优 8.5% 的 2.5 倍——\(T/N\) 接近 1 时样本协方差的小特征值被严重低估,优化器把仓位压向这些"虚假的低风险方向"。Ledoit–Wolf 把波动降到 10.7%。\(T<N\) 时样本协方差奇异,根本无法求逆,收缩估计照常可用。数据越多,最优收缩强度越小,两者趋于一致——正如 12.5 节所说,MLE 的劣势是高维(\(N/T\) 不小)现象。
12.8.4 其他应用速记
- 按真实损失选估计量:排序选股用 IC(秩相关)评估信号,而不是平方误差;VaR 预测用分位数损失评估;执行成本模型中,若高估冲击成本只是少做一点交易、低估则会显著亏损,可用不对称损失得到偏保守的估计。
- 因子模型协方差:Barra 类风险模型用因子结构约束协方差(参数从 \(N^2/2\) 降到约 \(NK\)),本质上也是向结构化目标的收缩;特质波动、因子收益协方差还会再做时间序列与截面的收缩(如贝叶斯收缩、Newey–West 调整)。
- 小样本参数的收缩:Beta 的 Vasicek 调整、行业/风格内的均值收缩、基金经理 alpha 的经验贝叶斯,都是例 12.9 和 James–Stein 的具体应用。
本章小结
决策理论把"估计量好不好"变成可计算的问题:选损失函数,算风险函数(平方损失下即 MSE = 方差 + 偏差²)。风险函数通常交叉,于是用最大风险(得到 minimax 规则)或贝叶斯风险(得到贝叶斯规则)做单数字概括。贝叶斯规则只需对观测到的数据最小化后验期望损失:平方损失取后验均值,绝对损失取中位数,0-1 损失取众数(推广到分位数损失取分位数)。常数风险的贝叶斯规则是 minimax 的,由此得到 Bernoulli 的 \(\frac{Y+\sqrt{n/4}}{n+\sqrt n}\) 和受限正态均值的 \(m\tanh(mX)\)。大样本低维时 MLE 近似 minimax 且近似贝叶斯;高维时这一结论失效,多个正态均值问题的 minimax 风险远小于 MLE 的风险。可容许性是很弱的要求,但它揭示了 Stein 悖论:\(k\ge3\) 个均值同时估计时,样本均值不可容许,James–Stein 收缩估计一致更优。期望收益的 Bayes–Stein 估计、协方差的 Ledoit–Wolf 收缩,都是这一结论在组合管理中的直接应用。
| 概念 | 公式 / 结论 |
|---|---|
| 风险 | \(R(\theta,\hat\theta)=\mathbb E_\theta L(\theta,\hat\theta)\);平方损失下 \(=\mathbb V+\text{bias}^2\) |
| 最大风险 / 贝叶斯风险 | \(\sup_\theta R\);\(\int R(\theta,\hat\theta)f(\theta)d\theta\) |
| 贝叶斯规则 | 对每个 \(x\) 最小化后验风险 \(\int L f(\theta\mid x)d\theta\) |
| 后验均值 / 中位数 / 众数 | 平方 / 绝对 / 0-1 损失下的贝叶斯规则 |
| 分位数损失 | \(\rho_\tau(u)=u(\tau-I(u<0))\) → 后验 \(\tau\) 分位数 |
| minimax 充分条件 | \(R(\theta,\hat\theta^f)\le r(f,\hat\theta^f)\ \forall\theta\);常数风险贝叶斯规则 |
| Bernoulli minimax | \(\frac{Y+\sqrt{n/4}}{n+\sqrt n}\),风险 \(\frac{n}{4(n+\sqrt n)^2}\) |
| 受限正态均值 | \(\lvert\theta\rvert\le m<1\):\(m\tanh(mX)\) |
| MLE 局部渐近 minimax | \(nR\approx1/I(\theta)\) |
| 多个正态均值 | MLE 风险 \(\sigma^2\),minimax 风险 \(\approx\sigma^2c^2/(\sigma^2+c^2)\) |
| 可容许 | 不被一致打败;全支撑先验的贝叶斯规则可容许 |
| 常数风险 + 可容许 | ⇒ minimax |
| James–Stein | \(\big(1-\frac{k-2}{\sum X_j^2}\big)^+X_i\),\(k\ge3\) 时一致优于 \(X\) |
| 向均值收缩 | \(\bar X+\big(1-\frac{k-3}{\sum(X_j-\bar X)^2}\big)^+(X_i-\bar X)\) |
| Ledoit–Wolf | \((1-\delta)S+\delta F\),\(\delta\) 由数据估计 |
练习
基础
- 平方损失下求以下模型的贝叶斯估计与贝叶斯风险:(a) Binomial + Beta 先验;(b) Poisson + Gamma 先验;(c) 正态(方差已知)+ 正态先验。(原书习题 1。)
- 有限参数空间、0-1 损失下,证明贝叶斯估计是后验众数。(原书习题 3。)
- 证明:分位数损失 \(\rho_\tau(\theta-\hat\theta)\) 下,使后验期望损失最小的 \(\hat\theta\) 是后验的 \(\tau\) 分位数。(提示:对 \(\hat\theta\) 求导得 \(F(\hat\theta\mid x)-\tau=0\)。)
- 验证例 12.3 中取 \(\alpha=\beta=\sqrt{n/4}\) 时风险为常数 \(\frac{n}{4(n+\sqrt n)^2}\)。
- 用 12.8.2 节代码,计算 \(k=3\)、\(\theta=(5,5,5)\) 时两个估计量的风险,并解释为什么改进很小。
进阶
- 证明在损失 \((\theta-\hat\theta)^2/\sigma^2\) 下 \(\bar X\) 可容许且 minimax。(原书习题 2。)
- 对形如 \(bS^2\) 的方差估计(\(S^2\) 为无偏样本方差),在 Stein 损失 \(L(\sigma^2,\hat\sigma^2)=\frac{\hat\sigma^2}{\sigma^2}-1-\log\frac{\hat\sigma^2}{\sigma^2}\) 下求使风险对所有 \(\sigma^2\) 都最小的 \(b\)。(原书习题 4。答案:\(b=1\)。提示:风险 \(=b-1-\log b-\mathbb E\log(S^2/\sigma^2)\),只有前三项依赖 \(b\)。若改用平方损失,最优的 \(b\) 为 \(\frac{n-1}{n+1}\),可对比。)
- \(X\sim\text{Bin}(n,p)\),损失 \(L(p,\hat p)=(1-\hat p/p)^2\)。证明 \(\hat p(X)=0\) 是唯一的 minimax 规则——它甚至不在参数空间内部。体会损失函数选择的后果。(原书习题 5。)
- 推导 James–Stein 的经验贝叶斯解释:若 \(\theta_i\sim N(0,A)\)、\(X_i\mid\theta_i\sim N(\theta_i,1)\),证明 \(\mathbb E\big[\frac{k-2}{\sum X_j^2}\big]=\frac{1}{A+1}\)。(提示:边缘上 \(X_i\sim N(0,A+1)\),\(\sum X_j^2/(A+1)\sim\chi^2_k\),\(\mathbb E[1/\chi^2_k]=1/(k-2)\)。)
- 修改 12.8.3 节代码:(a) 把 Ledoit–Wolf 换成"常相关模型"目标或因子模型协方差(用前 3 个主成分 + 对角特质项),比较最小方差组合的真实波动;(b) 加入期望收益估计,比较"样本均值 + 样本协方差"与"James–Stein 均值 + Ledoit–Wolf 协方差"的切点组合真实 Sharpe。
原书推荐习题:第 12 章 6(James–Stein 与 MLE 的模拟比较,必做)、1(共轭模型的贝叶斯估计)、4(Stein 损失下方差估计的最优缩放)、5(minimax 规则的反直觉例子)。
原书对照
| 本章内容 | 原书章节 | PDF 页码 |
|---|---|---|
| 决策规则、损失函数、风险 | 12.1 | p.204–205 |
| 比较风险函数、最大风险、贝叶斯风险、例 12.2–12.5 | 12.2 | p.205–208 |
| 贝叶斯估计量、后验风险、定理 12.7–12.8 | 12.3 | p.208–209 |
| Minimax 规则、例 12.12–12.15 | 12.4 | p.209–211 |
| MLE、minimax 与贝叶斯;多个正态均值 | 12.5 | p.212–213 |
| 可容许性 | 12.6 | p.213–215 |
| Stein 悖论 | 12.7 | p.215 |
| 文献注、习题 | 12.8–12.9 | p.215–216 |
(PDF 页码 = 原书正文页码 + 17。)