目录 / 文档-技术白皮书 / 18-EFT.WP.Methods.CrossStats v1.0
第6章 多重比较与错误控制(FWER/FDR/Sequential)
一句话目标:以统一 alpha_budget 与可审计阈值实现 FWER/FDR/序贯错误控制,覆盖离线与在线、分层与加权、依赖与非依赖场景,并将决策口径落盘到 manifest.stats.multiplicity.*。
I. 范围与对象
- 范围
适用于同一研究或运行窗口内的多指标、多切片、多时段假设集合 H = { H_i } 的错误控制。涵盖离线批次、在线流式与序贯监测。 - 对象
- 输入:p_i 或检验统计量 Z_i,目标家族错误率 FWER 或 FDR 控制水平 alpha 或 q,家族大小 m,权重 w_i,依赖假设类型 dep ∈ {indep, PRDS, arbitrary},序贯查看点 t = 1..T 与 alpha_spending。
- 输出:拒绝集 R,调整后 p_i_adj 或阈值 tau_i,序贯边界与停序决策,错误控制评估与契约报告。
- 约束:所有统计窗口在 tau_mono 上计算,以 ts 发布;若指标涉及到达时度量 T_arr,并行记录两口径与 delta_form。
II. 名词与变量
- 家族与错误率:m(待检个数),V(错误拒绝数),R(总拒绝数),FWER = P(V ≥ 1),FDR = E( V / max(R,1) )。
- 显著性与预算:alpha(FWER 控制目标),q(FDR 控制目标),alpha_budget,alpha_t(第 t 次查看消耗)。
- p 值序与权重:p_(1) ≤ ... ≤ p_(m),w_i > 0,bar{w} = ( 1 / m ) * ( ∑ w_i )。
- 依赖性:dep ∈ {indep, PRDS, arbitrary},c_m = ( ∑_{j=1}^m 1 / j )。
- 序贯:信息比例 info_t ∈ (0,1],花费函数 A(t),边界 z_t 或对数似然比 LLR_t。
III. 公设 P306-*
- P306-1(统一预算):任意家族内错误预算满足 ( ∑_t alpha_t ) ≤ alpha_budget 或在线 FDR 目标 q 的资源约束。
- P306-2(依赖口径显式):必须声明 dep 并选择相容的调整法;未证独立性时默认 dep="arbitrary"。
- P306-3(层级与权重可追溯):分层/门控结构与权重来源记录于 manifest.stats.multiplicity.hierarchy 与 weights。
- P306-4(泄漏与调参隔离):多重比较在固定分析集与冻结阈值下执行;在线场景调参与监测流隔离。
- P306-5(时基与到达时一致):序贯/在线控制在 tau_mono 上推进;若指标含 T_arr,记录两口径与 delta_form 并断言阈值。
- P306-6(可复现实验):记录 seed, alpha_spending, look_schedule, stopping_rule 与中止原因。
IV. 最小方程 S306-*
- S306-1(Bonferroni FWER 控制)
- 阈值:p_i ≤ alpha / m。
- 调整 p 值:p_i_adj = min( 1, m * p_i )。
- S306-2(Šidák FWER 控制,独立)
阈值:p_i ≤ 1 - ( 1 - alpha )^( 1 / m )。 - S306-3(Holm 步降 FWER)
- 排序 p_(1) ≤ ... ≤ p_(m),找最小 k 使得 p_(k) > alpha / ( m - k + 1 );拒绝所有 i < k。
- 调整 p 值:p_(i)_adj = max_{j ≤ i} ( ( m - j + 1 ) * p_(j) ) 截至 1。
- S306-4(Hochberg 步升 FWER,独立或同方向依赖)
找最大 k 使 p_(k) ≤ alpha / ( m - k + 1 );拒绝所有 i ≤ k。 - S306-5(BH FDR 控制)
- 排序后取 k = max{ i : p_(i) ≤ ( i / m ) * q };拒绝所有 i ≤ k。
- 加权 BH:以权重 w_i(bar{w} = 1)替换为 p_i / w_i ≤ ( i / m ) * q。
- S306-6(BY FDR 控制,任意依赖)
使用 c_m = ( ∑_{j=1}^m 1 / j ),阈值 p_(i) ≤ ( i / ( m * c_m ) ) * q。 - S306-7(门控与层级)
家族序 F_1 → F_2 → ...,若 F_k 通过门槛,则将未用 alpha 转移至 F_{k+1};保持 ( ∑ alpha_k ) ≤ alpha_budget。 - S306-8(组序贯花费 Alpha Spending)
- 花费函数 A(t) 非减,A(1)=alpha_budget;第 t 次查看消耗 alpha_t = A(info_t) - A(info_{t-1})。
- 典型形式:A_Pocock(t) = alpha * log(1 + (e - 1) * t),A_OBF(t) = 2 - 2 * Phi( z_alpha / sqrt(t) )(双侧示例,需与边界解耦求 z_t)。
- 边界以 alpha_t 求得:P( |Z_t| ≥ z_t | H0 ) = alpha_t。
- S306-9(序贯 GLRT / SPRT)
似然比 LR_t = ( ∏_{s=1}^t f_1(X_s) ) / ( ∏_{s=1}^t f_0(X_s) ),若 LR_t ≥ A 接受 H1,若 LR_t ≤ B 接受 H0;阈值近似 A ≈ (1 - beta) / alpha, B ≈ beta / (1 - alpha)。 - S306-10(在线 FDR 投资)
预算 W_0,序列阈值 alpha_t = g( W_{t-1}, policy );若第 t 次拒绝则 W_t = W_{t-1} - cost(alpha_t) + reward(p_t, policy),否则 W_t = W_{t-1} - cost(alpha_t);保证 FDR ≤ q 的 policy 需固定并记录。 - S306-11(到达时两口径差)
delta_form = | ( 1 / c_ref ) * ( ∫ n_eff d ell ) - ( ∫ ( n_eff / c_ref ) d ell ) |,并断言 delta_form ≤ tol_Tarr(当检验量依赖 T_arr)。
V. 统计流程 M30-6(就绪→建族→选择法→执行→评估→发布)
- 就绪
明确家族 H、目标 FWER 或 FDR、依赖假设 dep、alpha_budget 或 q;冻结数据切片与特征工程版本。 - 建族与分层
构造门控/层级结构与权重 w_i;声明是否需要在线或序贯查看 look_schedule 与 alpha_spending。 - 选择方法
dep="arbitrary" 用 Holm/BY;dep ∈ {indep, PRDS} 可用 Hochberg/BH/weighted BH;在线或序贯选择 alpha_spending 或在线 FDR 投资策略。 - 执行
计算 p_i 或 Z_i,应用所选校正;序贯计算时按 info_t 花费 alpha_t 并更新边界与停序判断。 - 评估
估计 FDP_hat = V_hat / max(R,1),序贯诊断包括实际花费轨迹 ∑ alpha_t、边界穿越次数、平均运行长度估计。 - 发布
落盘 manifest.stats.multiplicity.*:method, dep, alpha_budget/q, weights, hierarchy, look_schedule, alpha_spent, R, FDP_hat、阈值与签名;若涉及 T_arr 同步记录 delta_form。
VI. 契约与断言(C30-6xx)
- C30-601(预算约束):sum(alpha_t) ≤ alpha_budget + eps_alpha。
- C30-602(依赖匹配):method_dep_compat == true(方法与 dep 相容)。
- C30-603(权重归一):加权 BH 需 bar{w} = 1 ± tol_w。
- C30-604(层级闭包):门控传递满足闭包性,未使用预算不得消失,alpha_rollover ≥ 0。
- C30-605(在线可审计):在线 FDR 记录 W_t、alpha_t、decision_t,并断言 W_t ≥ 0。
- C30-606(序贯一致):alpha_spent(t) 单调不减;边界解与计算精度误差 ≤ tol_boundary。
- C30-607(到达时差):若检验依赖 T_arr,则 delta_form ≤ tol_Tarr。
- C30-608(泄漏防护):多重比较前冻结数据;leakage_checks == pass。
VII. 实现绑定 I30-*
- I30-61 adjust_pvalues(pvals, method, alpha_or_q, weights=None, dep="arbitrary") -> {decision, p_adj, threshold}
method ∈ {bonferroni, sidak, holm, hochberg, bh, by, wbh}。 - I30-62 gatekeeping_hierarchy(families, alpha_budget, transfer_policy) -> {decision_by_family, alpha_allocation}
支持固定顺序与树形门控。 - I30-63 sequential_alpha_spending(looks, alpha_budget, spending_fn, stat_stream) -> {boundaries, alpha_spent, stop_time, decision}
spending_fn ∈ {pocock, obf, custom};计算 z_t 或 LLR 边界。 - I30-64 online_fdr_investing(p_stream, q, policy, seed) -> {alpha_t, decision_t, W_traj}
policy 固化为版本号;返回预算轨迹与拒绝序列。 - I30-65 evaluate_multiplicity_contracts(results, rules) -> report
检查 C30-6xx 并生成审计证据。 - I30-66 emit_multiplicity_manifest(results, policy) -> manifest.stats.multiplicity
落盘方法口径、预算、依赖、权重/层级、阈值、决策与签名。
不变量:alpha_spent ≤ alpha_budget;bar{w} ≈ 1(加权法);method_dep_compat 恒为真;序贯 stop_time ≤ max_looks。
VIII. 交叉引用
- 重采样与交叉验证用于不确定度与稳定性:见本卷第5章。
- 漂移监测触发多重比较家族的在线控制:见本卷第7章。
- A/B 与多臂试验中的多指标与停序:见本卷第8章。
- 时基与到达时两口径、发布与审计:见《Methods.Cleaning v1.0》第5–6章与第10章。
IX. 质量与风控
- SLI/SLO
alpha_overrun = max( 0, alpha_spent - alpha_budget ),fdr_est_gap = max( 0, FDP_hat - q ),boundary_error, latency_ms_p99,R_count,power_proxy(基于最小可检效应)。 - 风控与回退
- 依赖不明时回退至 Holm 或 BY;序贯边界不稳定时使用更保守 pocock;在线异常停止则冻结新假设并切回离线批次。
- 任何 C30-601/602/606/607 失败触发回滚到上一个已签名的 manifest.stats.multiplicity。
小结
本章以 P306-* 统一错误预算与依赖口径,给出 S306-* 的 FWER/FDR/序贯控制公式与门控、加权、在线扩展,落地 M30-6 的标准流程,并通过 I30-6* 形成可复现、可审计的多重比较治理闭环。版权与许可(CC BY 4.0)
版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。
首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/