数学、统计与计算方法 / QT22

选择效应与多重检验

保留全部尝试,证明 Bonferroni,区分 FWER/FDR 并按严格规则执行 BH。

Agent Markdown ↓
本领域路线 · 8 / 9 证明 Bonferroni,计算严格 BH,并区分 FWER 与 FDR。

前两篇已把预测目标与信息时钟写清,但研究者还可以尝试许多变量、窗口和参数,最后只展示最好的结果。即使每一次拟合都没偷看未来,这个挑选过程也会改变结果的分布。本篇保留完整候选集合,先在真值已知的模拟里观察选择效应,再区分“至少犯一次错”与“发现中错误的比例”。

1. 被评价的不只是冠军,还有挑冠军的方法

BusEq 实验有 12 个回归候选和两条基线,采用同一 202607 CIZ 快照、同一训练和验证月份,最终按预定 SSE 规则选择扩展历史均值。那 12 次回归不能在报告中消失;若还尝试过后来放弃的变量或起止日,也应进入研究记录。只对最终展示的一项作检验,会把“它为何留下来”排除在问题之外。1

为了把选择机制看清,我们暂时离开真实数据。构造 \(M\) 个候选,每个开发样本有 \(n=120\) 个独立正态月收益,已知标准差 \(\sigma=0.05\)。先设所有均值都为零。对每个候选事前固定单侧检验 \(H_0:\mu=0\)、\(H_1:\mu>0\),则

\[ Z_j=\sqrt n\,\bar R_j/\sigma\sim N(0,1),\qquad p_j=1-\Phi(Z_j). \]

模拟直接生成这个 \(Z\) 的精确分布,再换算样本均值,不需要制造 120 行月收益。它不是实际策略面板,也没有逐月净值路径。开发与独立保留样本各生成一组 \(5000\times500\) 的独立正态矩阵;种子为 PCG64(2201),先开发、再保留。\(M=1,10,100,500\) 使用相同 500 列的前缀,所以这些规模的结果彼此相关。2

每轮只按开发 \(Z\) 最大值选出编号 \(J\),冻结编号后才看独立保留样本的同一列。\(p\) 值问的是“在原假设及所设抽样模型下,至少这样极端的统计量有多常见”,不是“看完数据后原假设为真的概率”。单侧方向也不能看完符号再改。3

2. 没有真信号,冠军仍会越来越漂亮

候选数 \(M\)开发冠军平均样本收益同编号独立保留样本平均收益
1−0.000216−0.001749
100.710968−0.006699
1001.1461830.009726
5001.384628−0.007626

数值为 5000 次实验的平均,单位百分点/月。开发冠军变好不是均值从零变正,而是取最大值这项操作改变了统计量。保留样本的小幅正负差仍是有限模拟波动。2

还可以直接解释为什么保留样本不继承这种提升。\(J\) 完全由开发数据决定,保留向量与全部开发数据独立,且每列均值为零。因此给定开发数据后,

\[ E[\bar R^{hold}_J\mid\text{开发数据}] =\sum_{j=1}^M1_{\{J=j\}}E[\bar R^{hold}_j]=0. \]

再取期望仍是零。若看过保留结果再换编号,这个证明的独立性步骤便不再适用。

3. FWER:整组中至少错一次

令 \(V\) 表示错误拒绝的真实原假设个数。族错误率是 \(FWER=P(V\ge1)\)。若全部 \(M\) 个原假设为真,每个独立检验以 \(\alpha\) 的概率误报,那么

\[ FWER=1-P(\text{一个也不错})=1-(1-\alpha)^M. \]

这里的乘法需要独立性,等号也用了每项精确误报率为 \(\alpha\)。对一般仅“有效”的 \(p\) 值,我们只知道原假设下 \(P(p_j\le u)\le u\),不应自动把所有界写成等号。4

用 \(\alpha=0.05\) 比较理论和本次模拟:

\(M\)未校正 FWER 精确值未校正模拟Bonferroni 模拟Bonferroni 精确值(本独立全零模型)
10.0500000.04740.04740.050000
100.4012630.40800.05700.048890
1000.9940790.99340.04980.048782
500约 11.00000.04580.048773

Bonferroni 把每一项门槛改成 \(\alpha/M\)。其一般控制可以在这里完整证明:设 \(I_0\) 是真实原假设集合,只需各项 \(p\) 值有效,便有

\[ \begin{aligned} P(V\ge1) &=P\left(\bigcup_{j\in I_0}\{p_j\le\alpha/M\}\right)\\ &\le\sum_{j\in I_0}P(p_j\le\alpha/M)\\ &\le |I_0|\alpha/M\le\alpha. \end{aligned} \]

这次使用的是并集上界,不需要检验相互独立。但它也不能挽救本来无效的单项 \(p\) 值,或只把公布的候选数当作全部尝试数。5

为什么表中 \(M=10\) 的模拟 Bonferroni 值 0.0570 反而超过 0.05?它是 5000 次试验的频率,不是理论概率。该频率的 Monte Carlo 标准误约 0.003279。我们保留真实输出,不把它改成符合定理的数;定理靠证明成立,不靠这轮随机数恰好落在界内。\(M=500\) 未校正模拟全为误报,其代入式 MCSE 为零,也不能解释成风险估计毫无不确定性。2

4. FDR:控制的是比例的期望

记 \(R\) 为拒绝总数,\(V\) 为其中的误报数。定义

\[ FDP=\frac{V}{\max(R,1)},\qquad FDR=E[FDP]. \]

没有拒绝时 FDP 为零。FDR 不是一般意义下的 \(E[V]/E[R]\),也不是观测到 \(R=100\) 后保证恰有至多 \(100q\) 个误报。它是对重复抽样中每轮比例取期望。全零假设时 \(V=R\),故 FDP 是 \(R>0\) 的示性函数,FDR 与 FWER 恰好相同;为了区分两者,需要有真假混合的实验。6

本篇的 BH 规则采用 ISLP Algorithm 13.2 的严格比较。对 \(M\) 个 \(p\) 值排序,取

\[ k=\max\{j:p_{(j)}<qj/M\}; \]

集合为空时取 \(k=0\)、一个也不拒绝;否则拒绝前 \(k\) 个排序位置。必须寻找最大的合格序号,不能在遇到第一个不合格位置时就提前停止。这是 step-up 算法。这里引用其在全部 \(p\) 值相互独立、真实原假设下 \(p\) 值有效的条件下的 FDR 控制结论,不把本篇的数值演示当作控制定理的证明;一般依赖结构需要另外的理论。7

例如构造五个 \(p\) 值 \(0.006,0.012,0.601,0.756,0.918\),\(q=0.05\)。BH 的阈值依次为 \(0.01,0.02,0.03,0.04,0.05\),最大合格序号为 2;Bonferroni 的统一阈值为 0.01,只拒绝第一项。两者回答的错误控制问题不同,不是单纯的“宽松更好”。

真假混合实验仍有 \(M=100\),前 10 个均值为 0.01,其余 90 个为零,\(\sigma=0.05,n=120\) 不变,重置 PCG64(2202)。5000 次运行得到:

混合实验、BH \(q=0.05\)输出
平均 FDP,即 FDR 模拟估计0.04527148
该估计的 MCSE0.00178395
至少一次误报的频率0.1488
每轮平均拒绝数2.4438
每轮平均真发现数2.2692

FDR 约 4.53% 与“至少错一个”约 14.88% 可以同时出现。这里知道真假,是因为模型由我们构造,不是从真实策略历史里识别出了谁必然有效。2

等号为什么也属于算法?

给 \(M=2,q=0.05,p=(0.025,0.06)\)。严格 < 下两项都不合格,拒绝数为零;若改成 ,第一项恰在门槛上,拒绝数为 1。连续模拟中精确等号的概率为零,但离散输入或四舍五入后的输入可能有等号;显示时四舍五入也不应改变底层比较。实验保留这组人工边界例,正文和交互使用同一严格规则。2

先在全零模型下改变候选数,比较开发冠军与固定编号的独立保留结果;再切入混合模型,看 FWER 和平均 FDP 的不同。图中是候选或重复试验的分布,不是未生成的月度收益路径。

5. 复核与迁移

解释题。 同一轮 BH 发现很多候选,后来知道其中 20% 是误报。能否据此断言 \(q=5\%\) 的 FDR 控制失效?

解析。 不能仅凭这一轮断言。控制对象是重复抽样中 FDP 的期望,不是每轮确定上限。不过仍须检查原假设 \(p\) 值是否有效、独立性等采用条件是否满足,以及研究者是否按预定规则执行。满足某个观测比例也反过来不能证明这些条件成立。

迁移题一。 \(M=10\) 个独立全零检验,每项门槛 0.05,至少一次误报的概率是多少?Bonferroni 的证明哪一步允许任意依赖?

解析。 未校正值为 \(1-0.95^{10}\approx0.401263\)。Bonferroni 证明用 \(P(\cup A_j)\le\sum P(A_j)\),不使用乘法分解,所以无需独立;只要每个真实原假设的误报概率都不超过 \(0.05/10\),总 FWER 就不超过 0.05。

迁移题二。 开发期尝试 100 项,挑出编号 7。先看它的保留成绩,不喜欢,再改成编号 12。为什么不能继续引用本篇“保留均值为零”的条件证明?

解析。 新编号不再只由开发数据决定;在给定开发数据后,它仍依赖保留结果,因此不能把 \(E[\bar R_J^{hold}\mid开发]\) 拆成固定编号的零均值。新尝试应写回研究账本,之后的确认需要未用于这次调整的数据。网页把成绩折叠起来只是一种学习顺序,不会让已被研究者查看的历史重新独立。

迁移题三。 对上面的人工等号例分别执行 <,再说明只保存三位小数的 \(p\) 值有何风险。

解析。 拒绝数分别为 0 和 1。若原值略大于 0.025 却显示成 0.025,用显示值重算会改变决定;应保留原始精度、比较规则和全部候选数量,显示精度与运算精度分开。

最后,把这种记录意识带回真实研究:目标、期限、数据版本、全部特征和参数、所有尝试、选择准则,以及何时查看评价结果,都属于方法本身。即使得到可信预测,下一步仍须把它转成有预算和成本的可行决策。成本、约束与稳健决策


  1. 共同输入实际结果,forecast 组;BusEq 版本与数据来源见 预测目标与正则化。 ↩︎

  2. 复算程序完整结果 selection 组及重复试验数组。模拟按严格 < 比较完整精度的 p 值;人工等号例单独展示两种比较规则的差别。 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  3. James 等,ISLP 2023,作者全文入口,§13.1.1–13.1.2、§13.2,印刷 pp.558–564。 ↩︎

  4. 同上,§13.3.1,pp.565–566,FWER 定义及独立全零模型。 ↩︎

  5. 同上,§13.3.2 的 Bonferroni 子单元,pp.567–568;本文以真实原假设集合写出完整并集上界证明。 ↩︎

  6. 同上,§13.4.1,pp.573–575,包括 \(R=0\) 时比例取零的约定。 ↩︎

  7. 同上,§13.4.2,pp.575–577,Algorithm 13.2 的严格比较;该书不提供一般控制定理证明,本篇明确限定到全部 \(p\) 值相互独立、真实原假设下有效。 ↩︎

动手试一试

选择效应与多重检验:交互

这篇词条与哪些内容相连

图中汇集本篇及其段落的直接关系,具体使用位置见下方列表。箭头按关系名称阅读。例如“需要先修”指向需要掌握的内容;推荐阅读顺序另见本领域路线。

逐条查看关系与依据

KEEP ASKING

把这一页,变成一堂课。

专属 Prompt 与同源材料会一并复制。Agent 先读取指定文献,再围绕本页的材料、推导和练习展开教学。

READ TOGETHER

一起读,也一起把问题说清楚。

关于整篇的想法留在这里;某个推导、算例或表格的问题,可以点小节旁的“章说”,在原处展开讨论。

使用 GitHub 账号参与

本篇讨论

搜索笔记

让 Agent 教我

这里包含专属 Prompt 及本次学习范围的正文、案例、来源和图表说明,分支内容以当前选择为准。复制后粘贴到你常用的 Agent。