每日精学 258|多重检验的Bonferroni虚警上界

2026-10-01

雷达 · 通信 · 电子战 / 基础精学 258

01
摘要与关键词

同时检查多个频率或样本位置时,单个门限的虚警率不能代表整组至少一次虚警率。Bonferroni 方法以联合事件的并集上界分配单次概率预算,不需要检验独立。

技术分析在明确的模型和符号约定下给出基本关系、推导与适用边界,并用固定参数数值算例和独立整数接口自检分别核对模型运算与数字子核。两种验证层次的输入尺度和覆盖范围分别记录,有限算例不外推为完整系统性能。

关键词:多重检验的Bonferroni虚警上界;条件模型;数值验证;数字实现

02
问题背景

同时检查多个频率或样本位置时,单个门限的虚警率不能代表整组至少一次虚警率。Bonferroni 方法以联合事件的并集上界分配单次概率预算,不需要检验独立。

该问题位于由模型关系到有限精度数据通路的连接处。数学等式首先规定各量的语义;随后需要确认计算采用的输入、范围与尺度符合等式前提。公开基础信号处理中的观测证据、约束集合和数值表示具有不同作用,混淆这些作用会使输出虽落在合法范围,却不再对应所声明的模型。

03
假设与符号表

一组含 M 个检验,每个真零假设的 p 值满足 P(pi≤t)≤t。组虚警事件定义为至少错误拒绝一个真零假设。

所有对数未特别注明时采用自然对数。向量和矩阵的行列方向由公式明确指定;概率质量、条件密度和未归一化权重分别按定义使用。整数码只表示某个中间量,不默认具有物理单位。实际数值算例保留所列固定参数,不能据其有限取值范围推断一般输入的性能。

M:检验数量(正整数)

α:组虚警上界(概率)

pi:有效 p 值(零到一)

\mathcal H_0:真零假设位置(集合)

04
基础公式与完整推导

事件并集

并集概率不超过各事件概率之和,不依赖事件独立。

P\left(\bigcup_{i\in\mathcal H_0}A_i\right)\le\sum_{i\in\mathcal H_0}P(A_i).

单次预算

每个有效 p 值在真零假设下通过该门限的概率不超过 α/M。

A_i=\{p_i\le\alpha/M\}.

组虚警界

对真零假设事件应用并集界,再利用真零假设数不超过 M。

P_{\mathrm{FWER}}\le|\mathcal H_0|\alpha/M\le\alpha.

独立全零特例

独立均匀 p 值下,没有任何虚警的概率为单次无虚警概率的 M 次方。

P_{\mathrm{FWER}}=1-(1-\alpha/M)^M.

未经调整的差异

在全部零假设成立且各检验独立时,若每次都使用 α,组虚警随检验数量增加,不能仍把 α 写成整组概率。

P_{\mathrm{FWER}}=1-(1-\alpha)^M.

05
一致性与敏感性分析

独立不是必要前提

若分配不同预算,只要预算和不超过 α,仍可使用相同并集论证。

P_{\mathrm{FWER}}\le\sum_i\alpha_i

这种分配允许按检验族结构调整预算,但数据依赖预算若与 p 值相关,需要另行证明有效性。

\sum_i\alpha_i\le\alpha

模型关系与数值误差的区分

推导中的恒等关系在其假设下精确成立;计算时观测模型误差、输入量化和中间舍入属于不同来源。设理想运算为 y=f(x),输入量化扰动为 ex,具体数值实现误差为 ea,则输出可写为

\widehat y=f(x+e_x)+e_a.

若 f 在所讨论的连续参数点可微且扰动足够小,一阶项为 Df(x)ex。

地址、候选掩码、分支标签和状态版本是离散量,不满足这种局部微分假设;改变一个控制位可能换掉整个合法集合或数据来源。因此连续误差界不能用于替代控制语义检查。

只有将同一输入送入独立的数学参考与被测实现,差值才隔离数值实现误差。若两个程序各自生成随机输入,输出不同可能来自不同样本;若参考重复使用相同错误的符号约定,逐点一致也不能证明定义正确。固定参数算例、结构不变量和边界事务提供互补证据。

06
物理含义

虚警预算需要明确是单个检验还是一组检验。并集上界提供保守保证,但不利用检验之间可知的相关结构。

数学输出需要按定义解释。无量纲比值、自然对数度量、概率权重和整数地址分别回答不同问题;即使都存放在定点寄存器内,也不能互相替代。输出幅度变化可能来自公共尺度、观测变化或可行集合变化,只有回到模型定义才能确定其含义。

07
数值验证

M=20、组预算 0.05,200000 组独立均匀 p 值估计组虚警,并比较调整前后的解析曲线。

配套 MATLAB 语法脚本实际在 GNU Octave 10.3.0 中执行,完成断言、数据导出与图表生成。MATLAB R2026b 启动返回许可证到期错误,因此本次没有取得 MATLAB 原生运行结果。

该边界只限定运行环境,不将历史 MATLAB 日志作为本次数值证据。完整实际输出、运行版本及绘图数据与脚本一起保存。

固定参数算例的实际关键数值
结果字段 实际值
test family size 20
single test budget 0.0025
analytic family false alarm 0.04883012474683324
empirical family false alarm 0.0487
图 1:多重检验的Bonferroni虚警上界的固定参数数值关系

图 1 多重检验的Bonferroni虚警上界的固定参数数值关系

图中横轴为脚本中规定的扫描参数或样本索引,纵轴为实际计算值;多条曲线按脚本列顺序对应各计算序列。曲线连接用于显示离散扫描结果,不意味着中间所有参数已经仿真。确定性穷举仅覆盖声明的有限域;随机向量用于补充不同组合,不构成连续参数上的证明。

08
数字实现与验证边界

八位有理门限两侧的精确乘积比较,不生成统计 p 值。

整数接口及有效周期

独立模块统一使用同步高有效复位和输入输出有效标志。输入总线分成八个十六位槽,各槽低八位承载本子核实际使用的码字;控制总线提供对应掩码、标签或地址。未使用槽不参与数学运算。

输出分成四个三十二位槽,负结果采用二补码;保护位用于保存中间精确整数结果,不代表算法必须使用三十二位物理精度。

被测时钟上升沿先判断复位;复位优先于有效输入并清除输出数据与输出有效位。非复位的有效输入在该边沿形成输出,输出有效位同步置一。无效输入周期仅清除输出有效位,数据保持上一次有效结果。调用者只能在输出有效时消费数据,不能把保持的旧值当作新的计算结果。

量化尺度与中间位宽

若整数码 q 对应实际量 x=q2−F,小数位数 F 应在接口中固定。两个同尺度量相加保持尺度,乘积的尺度为 2−2F。

模块中的宽位整数运算先保存完整结果;若外部需要重新缩放,必须明确舍入方向和饱和策略。

x_1+x_2=(q_1+q_2)2^{-F},\qquad x_1x_2=(q_1q_2)2^{-2F}.

八位有符号输入包含最小码字 −128,它的正幅值 128 不能用八位有符号数表示。

绝对值、符号取反、乘积及多项加和必须先扩展位宽。精确整数参考直接使用宽整数计算,输出编码再转换为对应二补码,这样可区分算法差异与位宽回绕。

实际自检覆盖

Icarus Verilog 实际编译并运行独立自检,确认 4448 个有效向量、262 个无效周期和 5 次同步复位全部通过。输入包括零、一、127、128、254 和 255 的码字边界,多级组合与固定种子的随机向量。

自检同时核对有效标志、无效周期数据保持、复位与有效同时出现以及中途复位后继续接收。

实际仿真事件摘录
事件 输入低三十二位 控制码 输出低三十二位
0 00000000 0000 00000000
1 00010001 0000 00000000
2 007f007f 0000 00000000
3 00800080 0000 00000000

事件摘录以十六进制保存接口位型,完整输入和全部输出槽见独立追踪文件。低位摘录不承担全部数值结果的解释;完整测试通过状态来自对每个有效事务的全总线比较。参考向量由独立 Python 整数计算生成,不依赖被测 RTL 内的比较函数。

上述验证针对所声明的整数子核。它没有运行器件综合、静态时序、功耗分析或板级测量,也没有验证包含缓存、存储仲裁和完整算法控制器的系统。模块采用固定界限循环、组合算术与时钟寄存器构成,可作为可综合源代码;具体资源数和最高频率仍需目标工具与器件约束。

09
适用条件与工程应用

适用于有效 p 值和预先定义的检验族。自适应选择检验后再解释固定 M 需要处理选择机制。

工程接入应先确认输入是否正是公式中的量,再确定尺度、位序与事务边界。若某个量已由上游近似或饱和处理,应把该处理列入误差来源;后续子核的整数精确性不能恢复上游丢失的信息。并行和流水线可以改变吞吐与延迟,但不得改变同一事务中的控制与数据配对关系。

10
限制与非理想因素

无效 p 值、重复测试未计入 M 或把单元概率称作整组概率会破坏结论。RTL 只演示有理门限比较。

模型不匹配与有限精度并不具有相同修正方法。前者需要重新给出观测关系、约束或统计假设;后者需要增加保护位、选择合适缩放或改进数值运算。有限样本的误差为零仅说明当前输入与参考一致,不能自动推出未测试输入、完整链路或实际设备的误差为零。

11
配套脚本文件

独立文件及用途
文件 用途
matlab/lesson258_verify.m 固定参数数值计算与图表生成
matlab/numerical_results.txt 本次实际运行环境及关键数值
matlab/plot_data.csv 图表逐点数据
systemverilog/lesson258_core.sv 所声明的可综合整数子核
systemverilog/tb_lesson258_core.sv 有效周期、边界与复位自检
systemverilog/reference_vectors.txt 独立整数参考向量
systemverilog/trace_results.txt 实际事务追踪

12
结论

在全部零假设成立且各检验独立时,若每次都使用 α,组虚警随检验数量增加,不能仍把 α 写成整组概率。 虚警预算需要明确是单个检验还是一组检验。并集上界提供保守保证,但不利用检验之间可知的相关结构。

固定参数数值复验和整数子核自检分别支持模型层关系与数字接口行为。结论的适用范围受所列假设、候选或状态集合、量化尺度以及实际运行环境限制;完整系统性能需在扩展模型与验证条件下另行评估。

13
参考资料

MathWorks. Constant False Alarm Rate Detection. 在线原始资料。

GNU Octave. Arithmetic and Linear Algebra. 公开运行环境文档。

内容依据:每日精学第 258 课《多重检验的Bonferroni虚警上界》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。

阅读4
分享
写评论...