目录 / 文档-技术白皮书 / 16-EFT.WP.Methods.Cleaning v1.0
一句话目标:定义从采集到发布全过程的质量与漂移度量口径、计算式与告警阈值,使 q_score、drift、PSI、KS 等指标在批处理、流式与在线快照中可比、可审计、可回退。
I. 范围与对象
- 适用对象
批处理快照、事件流滑动窗口、在线快照的清洗发布物与其 manifest。 - 输入与窗口
参考窗口 W_ref = [ts_ref0, ts_ref1),当前窗口 W_now = [ts_now0, ts_now1),二者在 tau_mono 上评估,在 ts 上发布。 - 输出与约束
- 输出指标集合 Q.* 与 DR.*,聚合分数 q_score ∈ [0,1]、drift ∈ [0,1],并在 contracts 中断言阈值。
- 涉及时基时同时报告 offset/skew/J 与其上界。
II. 指标分层与命名
- 分层
- 字段级:Q.field.*(k)、DR.field.*(k),其中 k 为字段名。
- 数据集级:Q.ds.*、DR.ds.*,对字段级指标做加权或并联上界。
- 命名
质量前缀 Q.*;漂移前缀 DR.*;时基相关以 timing.* 承载;到达时一致性以 arrival.* 承载。
III. 统计窗口与抽样
- 窗口定义
- N_ref = count(W_ref),N_now = count(W_now),Delta_t = ts_now1 - ts_now0。
- 事件流采用滑动窗口并行:W_ref 固定或指数衰减权;W_now 为最近窗口。
- 抽样与正则化
- 若全量不可得,采用蓄水池抽样,样本量 n = min(N_now, n_max)。
- 频数与分布估计中对空箱使用 epsilon > 0 平滑,默认 epsilon = 1e-6。
IV. 质量指标定义(字段级与数据集级)
- 完整性与缺失
- Q.field.comp(k) = 1 - missing_ratio(k) = 1 - ( Σ m_k == 0 ) / N_now。
- Q.ds.comp = ( 1 / |K| ) * Σ_k Q.field.comp(k)。
- 合法性与约束
- Q.field.valid(k) = ( count(valid(k)) / N_now )。
- Q.ds.valid = ( 1 / |K| ) * Σ_k Q.field.valid(k)。
- 唯一性与去重结果
dup_ratio = ( dup_count / N_now ),Q.ds.unique = 1 - dup_ratio。 - 参照完整性
orphan_ratio = ( orphan_fk / N_now ),Q.ds.fk = 1 - orphan_ratio。 - 量纲与单位
Q.ds.dim = 1 若 check_dim(expr) 全通过,否则 Q.ds.dim = 0;或用 1 - ( violations / checks ) 连续化。 - 时效性与新鲜度
fresh_age_s = ( ts_now1 - max(ts) ),Q.ds.fresh = max( 0, 1 - fresh_age_s / T_fresh_max )。 - 时基质量
- timing.offset = offset,timing.skew = skew_ppm,timing.J = J_ms_p99;
- Q.ds.timing = g_t( offset, skew_ppm, J_ms_p99 ),如 g_t = exp( - a1*|offset| - a2*|skew_ppm| - a3*|J_ms_p99| )。
- 到达时两口径一致性
- arrival.delta_form = | ( 1 / c_ref ) * ( ∫ n_eff d ell ) - ( ∫ ( n_eff / c_ref ) d ell ) |;
- Q.ds.arrival = max( 0, 1 - p99_delta_form_s / tolP99_Tarr_s )。
- 汇总质量分数
q_score = clamp01( Σ_i w_i * Q_i ),Σ_i w_i = 1,Q_i ∈ { Q.ds.comp, Q.ds.valid, Q.ds.unique, Q.ds.fk, Q.ds.dim, Q.ds.fresh, Q.ds.timing, Q.ds.arrival }。
V. 漂移指标与统计检验(W_ref 对 W_now)
- 直方口径(离散或分箱)
- 令 p_i = P_ref(B_i),q_i = P_now(B_i),Σ_i p_i = Σ_i q_i = 1。
- DR.field.PSI(k) = Σ_i ( q_i - p_i ) * ln( ( q_i + epsilon ) / ( p_i + epsilon ) )。
- DR.field.KL(k) = Σ_i p_i * ln( ( p_i + epsilon ) / ( q_i + epsilon ) )。
- DR.field.JS(k) = ( 1 / 2 ) * KL( p || m ) + ( 1 / 2 ) * KL( q || m ),m = ( p + q ) / 2。
- 连续变量分布距离
- DR.field.W1(k) = ( ∫ | F_ref(x) - F_now(x) | dx ) (Wasserstein-1 口径)。
- DR.field.KS(k) = sup_x | F_ref(x) - F_now(x) |。
- 核两样本距离
DR.field.MMD2(k) = ( 1 / n^2 ) Σ k(x_i, x_j) + ( 1 / m^2 ) Σ k(y_i, y_j) - ( 2 / (nm) ) Σ k(x_i, y_j )。 - 分类变量一致性
DR.field.chi2(k) = Σ_i ( ( c_now_i - E_now_i )^2 / ( E_now_i + epsilon ) ),其中 E_now_i = N_now * p_i。 - 多变量漂移(可选)
DR.ds.mmd2 = MMD2( X_ref, X_now ),对选定字段子集联合评估。 - 概念漂移代理(若有标签或模型)
- 预测均值漂移:DR.pred.mean = | E_ref[f(x)] - E_now[f(x)] |。
- 性能漂移:DR.perf = | metric_ref - metric_now |。
- 变化点与在线检验
- CUSUM:S_t = max( 0, S_{t-1} + ( x_t - mu_0 - k ) ),S_t > h 报警。
- Page-Hinkley:m_t = min( m_{t-1}, x_t ),PH_t = x_t - m_t - lambda,PH_t > h 报警。
- ADWIN 思路:自适应窗口切分,| mean(W_L) - mean(W_R) | > eps 时切换参考。
VI. 漂移聚合与归一化
- 字段贡献与聚合
- 令 d_k 为字段级漂移度量(如 JS 或 PSI),alpha_k ≥ 0 为权重,Σ alpha_k = 1。
- DR.ds.raw = Σ_k alpha_k * d_k。
- 归一化到 [0,1]:drift = clamp01( 1 - exp( - beta * DR.ds.raw ) ),beta > 0。
- 解释性分解
字段贡献率 share_k = ( alpha_k * d_k ) / ( Σ_j alpha_j * d_j + epsilon ),降序输出前 K_top 字段与前 bins_top 的箱贡献。
VII. SLO 设定与告警级别
- 指标与阈值(建议口径,可在 contracts 中固化)
- SLO.q_score.p99 ≥ q_min;SLO.PSI ≤ psi_warn(告警)、≤ psi_fail(熔断)。
- SLO.KS ≤ ks_max;SLO.JS ≤ js_max;SLO.W1 ≤ w1_max。
- SLO.timing.skew_ppm ≤ skew_max,SLO.timing.J_ms_p99 ≤ J_max。
- SLO.arrival.p99_delta_form_s ≤ tolP99_Tarr_s。
- SLO.fresh_age_s ≤ T_fresh_max。
- 多级告警
- warn:接近阈值触发降权或流量限速;critical:触发回退或隔离,freeze_release 阶段阻断发布。
- 对事件流增设抑制窗口,防止抖动引起告警风暴。
VIII. 不确定度与量纲校核嵌入
- 单位与量纲
- 指标中含时间、距离、概率等量纲时,先执行 repair_units 并用 check_dim(expr) 校核:
- 例如 dim(T_arr) = [T],dim(W1) = unit(x),概率量 dim(PSI) = []。
- 不确定度传播
- 若 x 具不确定度 u(x),漂移度量的线性化近似:u(d_k) ≈ sqrt( Σ ( ∂d_k/∂x_i )^2 * u(x_i)^2 )。
- 发布时可给出 U = k * u_c 的覆盖因子估计,写入 manifest.env_correction.uncertainty_U 或 quality.* 扩展键。
IX. 实现绑定与接口(与 I10- 对齐)*
- 计算与落盘
- compute_quality(ds, policy) -> metrics_Q:返回 Q.ds.*, 字段级 Q.field.* 与 q_score。
- compute_drift(ds_ref, ds_now, policy) -> metrics_DR:返回字段级与数据集级漂移、drift 与解释性分解。
- emit_contracts(metrics, thresholds) -> tests[]:生成 contracts.tests 并评估通过/失败。
- freeze_release(ds, tag, metrics) -> manifest:在 manifest.quality、manifest.outlier_drift 与 contracts 中落盘。
- 在线/流式
在 Threads 执行图中,detect_outlier 节点上游挂接 compute_drift 的滑窗实例;对 TS.sli.* 指标按窗口滚动聚合。
小结
- 本附录给出在 tau_mono 统一时基下的质量与漂移标准口径,覆盖缺失、合法、唯一、参照、量纲、时效、时基与到达时一致性等质量维度,以及 PSI/KL/JS/KS/W1/MMD、变化点检测等漂移度量。
- 通过 q_score = clamp01( Σ w_i * Q_i ) 与 drift = clamp01( 1 - exp( - beta * Σ alpha_k * d_k ) ) 实现可比的聚合分数;阈值进入 contracts,结果进入 manifest,与审计链、回退锚点协同闭环。
版权与许可(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/