目录 / 文档-技术白皮书 / 18-EFT.WP.Methods.CrossStats v1.0
第5章 重采样与交叉验证(Bootstrap/Jackknife/K-fold)
一句话目标:以统一口径实现不确定度评估与泛化误差估计,覆盖 Bootstrap/Jackknife/K-fold 及其加权、分层与时序变体,并将产出纳入 manifest.stats.*。
I. 范围与对象
- 范围
适用于指标 theta = g(D) 的方差/区间估计与模型 f 的泛化误差评估。包含加权样本、复杂抽样、分层与时序阻塞场景。 - 对象
- 输入:数据 D = { (x_i, y_i, w_i, t_i) },抽样信息 pi(i) 或复制权重,窗口 Delta_t,度量函数 L( f(x), y ),折数 K,抽样次数 B。
- 输出:{est, SE, CI}、cv_score, var_cv, 诊断与契约报告 report.C30-5xx。
- 约束:sum(w_i)/N_hat ≈ 1;所有窗口运算在 tau_mono 上评估,以 ts 发布;涉及 T_arr 的量并行记录两口径与 delta_form。
II. 名词与变量
- 样本与权重:N, w_i, pi(i), W_norm = ( ∑ w_i ) / N_hat。
- 指标与度量:theta = g(D), hat{theta}, SE, CI_{1-alpha},损失 L。
- 交叉验证:K, S_k(第 k 折索引),f_{-k}(去第 k 折训练的模型),cv_score。
- 重采样:B(重复次数),D^{*b}(第 b 次 Bootstrap 样本),theta^{*b}。
- 时序与到达时:tau_mono, ts, offset/skew/J, T_arr, delta_form。
III. 公设 P305-*
- P305-1(可再现性):重采样与分折必须记录 seed, rng_impl, fold_assign。
- P305-2(权重一致):加权重采样遵循生成口径,W_norm 需满足阈值;分层/整群结构在采样阶段保持不破坏设计。
- P305-3(时基一致):任何窗口化重采样/交叉验证在 tau_mono 执行;发布映射至 ts 并附 offset/skew/J。
- P305-4(泄漏防护):特征工程、标准化、选择/调参必须在折内拟合并外推至验证集;禁止跨折信息泄漏。
- P305-5(到达时并行口径):指标依赖 T_arr 时,记录两口径与 delta_form,并执行阈值断言。
- P305-6(预算与收敛):B ≥ B_min,K ≥ K_min;对自助法与 MCMC 后验抽样需记录 mcse 或稳定性诊断。
IV. 最小方程 S305-*
- S305-1(Bootstrap 点估计与方差)
- theta^{*b} = g( D^{*b} ), b = 1..B;hat{theta}_boot = ( 1 / B ) * ( ∑_{b=1}^B theta^{*b} )。
- Var_boot( hat{theta} ) = ( 1 / (B - 1) ) * ( ∑ ( theta^{*b} - hat{theta}_boot )^2 ),SE_boot = sqrt( Var_boot )。
- S305-2(Bootstrap 百分位与 BCa 区间)
- 百分位区间:CI = [ q_{alpha/2}( theta^{*} ), q_{1-alpha/2}( theta^{*} ) ]。
- BCa:CI = [ q_{Phi( z0 + ( z_{alpha/2} / ( 1 - a_hat * ( z_{alpha/2} - z0 ) ) ) )}, q_{Phi( z0 + ( z_{1-alpha/2} / ( 1 - a_hat * ( z_{1-alpha/2} - z0 ) ) ) )} ],
其中 z0 为偏倚校正项,a_hat 为加速项,Phi 正态分布函数。
- S305-3(Jackknife 伪值、偏倚与方差)
- 留一量:hat{theta}_{(i)} = g( D \ {i} ),均值 bar{theta}_{(.)} = ( 1 / N ) * ( ∑ hat{theta}_{(i)} )。
- 偏倚估计:bias_hat = ( N - 1 ) * ( bar{theta}_{(.)} - hat{theta} )。
- 方差:Var_jack( hat{theta} ) = ( ( N - 1 ) / N ) * ( ∑ ( hat{theta}_{(i)} - bar{theta}_{(.)} )^2 ),SE_jack = sqrt( Var_jack )。
- S305-4(K-fold 交叉验证分数)
- cv_score = ( 1 / K ) * ( ∑_{k=1}^K ( 1 / |S_k| ) * ( ∑_{i ∈ S_k} L( f_{-k}( x_i ), y_i ) ) )。
- 重复 K-fold 的方差:Var( cv_score ) ≈ Var( scores_over_repeats )。
- S305-5(分层/加权自助)
分层:对每层 h 独立抽样大小 n_h,再合并;加权自助:m_i ~ Multinomial( N; p_i ∝ w_i ) 或 m_i ~ Poisson( w_i )。 - S305-6(时序阻塞 CV)
块划分 B_j 满足时间不逆向;滚动验证得分:cv_ts = ( 1 / J ) * ( ∑ L_j ),L_j 为第 j 块外推损失。 - S305-7(交叉拟合 cross-fitting,用于因果/双稳健)
将数据分 K 折,估计 eta_{-k} 于训练折,评估目标折的影响函数 phi( W_i; eta_{-k} ),
hat{theta} = ( 1 / N ) * ( ∑ phi( W_i; eta_{-k(i)} ) ),SE 由折间方差或自助法给出。 - S305-8(到达时两口径差)
delta_form = | ( 1 / c_ref ) * ( ∫ n_eff d ell ) - ( ∫ ( n_eff / c_ref ) d ell ) |,并断言 delta_form ≤ tol_Tarr。
V. 统计流程 M30-5(就绪→抽样/分折→估计→诊断→发布)
- 就绪
组装 D、w_i/replicate weights、Delta_t 与目标度量 g/L;执行 check_dim 与 W_norm 校核。 - 抽样/分折
依据场景选择 Bootstrap/Jackknife/K-fold/Blocked-CV;分层与权重在抽样阶段生效;记录 seed、fold_assign。 - 估计
计算 hat{theta}, SE, CI 或 cv_score、var_cv;若涉及 T_arr,并行两口径并产出 delta_form。 - 诊断
自助稳定性(B 敏感度)、交叉验证泄漏检查、重复 K-fold 方差与折间漂移;时序阻塞检查逆向泄漏;记录 mcse/iter_resid。 - 发布
写入 manifest.stats.resample.*:方法、B/K、分层/权重口径、SE/CI/cv_score、offset/skew/J、delta_form、阈值评估与签名。
VI. 契约与断言(C30-5xx)
- C30-501(样本与权重):| W_norm - 1 | ≤ tol_w_norm;层内样本不足时降级或回退策略记录。
- C30-502(重复预算):B ≥ B_min;若 B < B_min,不得发布为“强口径”。
- C30-503(折数下限):K ≥ K_min;分类极端不均衡时启用分层分折并记录层级比例。
- C30-504(泄漏防护):跨折拟合对象仅在训练折估计;leakage_checks == pass。
- C30-505(区间/方差一致):SE_boot 与 SE_rep/SE_jack 的差异比 ≤ tol_var_gap;BCa 与百分位区间端点顺序正确。
- C30-506(时序阻塞):验证集时间严格晚于训练集;逆序计数 = 0。
- C30-507(到达时差):delta_form ≤ tol_Tarr。
- C30-508(数值稳定):重复 K-fold 分数的 cv_var ≤ tol_cv_var;自助法 B 增量后指标变化 ≤ tol_boot_stab。
VII. 实现绑定 I30-*
- I30-51 bootstrap_metric(fn, ds, B, scheme, strata=None, weights=None, seed) -> {est, SE, CI, diag}
scheme ∈ {pairs, residual, wild, weighted};支持分层与复制权重;diag 含 bias_hat, bca_params。 - I30-52 jackknife_metric(fn, ds, weights=None) -> {est, SE, CI, bias_hat}
支持 leave-one-out/leave-group-out;与复杂抽样的删除一群兼容。 - I30-53 cross_validate(model, ds, K, metric, stratified=False, repeated=1, groups=None, seed) -> {cv_score, var_cv, per_fold}
折内拟合,折外评估;支持重复 K-fold 与组块不泄漏。 - I30-54 blocked_cv(model, ds, blocks, rolling=False) -> {cv_score, per_block}
blocks 基于 tau_mono;支持滚动窗训练/验证。 - I30-55 crossfit_ate(ds, K, learner_outcome, learner_propensity) -> {ATE, SE, CI}
交叉拟合双稳健估计,返回影响函数诊断。 - I30-56 emit_resample_manifest(results, policy) -> manifest.stats.resample
将方法、口径、阈值、签名与 TraceID 落盘;与 manifest.stats.estim、manifest.stats.cv 关联。
不变量:unique(per_fold.id);alpha_used ≤ alpha_budget;sum(weights_boot)/N_hat ≈ 1;no_leakage == true。
VIII. 交叉引用
- 抽样设计与权重来源:见本卷第3章。
- 点估计与区间口径、U = k * u_c:见本卷第4章。
- 多重比较与序贯监控:见本卷第6章。
- 漂移与稳定运行监测:见本卷第7章。
- 时间轴与到达时两口径:见《Methods.Cleaning v1.0》第5–6章。
- 计量与单位一致:见《Methods.Cleaning v1.0》第4章。
IX. 质量与风控
- SLI/SLO
SE_gap = | SE_boot - SE_ref | / SE_ref,width_p50/p90,cv_var,leakage_flags,latency_ms_p99,B_utilization。 - 风控与回退
- 触发:C30-502/503/504/506/507 失败或 cv_var > tol_cv_var。
- 动作:提高 B 或重复次数;切换到 BCa/复制权重;改用阻塞 CV;降级发布为“实验”,回退上一签名清单并告警。
小结
本章以 P305-* 约束重采样与交叉验证的统一语义,给出 S305-* 计算式,落地 M30-5 的就绪→估计→诊断→发布闭环,并通过 I30-5* 实现分层/加权/时序场景的一致化与可审计产出。版权与许可(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/