目录 / 文档-技术白皮书 / 45-EFT.WP.Data.Pipeline v1.0
I. 章节目的与范围
的规范:规则类型、抽样与显著性、阻断与预警分级、异常处置、审计与导出;确保与 Σ_in/Σ_out 契约、切分/覆盖、计量与引用锚点一致。质量门(DQ gates) 与 数据验证(validation)固化流水线II. 术语与依赖
- 术语:dq_rules、pass_rate、shadow、quarantine、significance.alpha、blocking/warning、leakage_guard、drift。
- 依赖:契约与导出(《Core.DataSpec v1.0》);单位/量纲校核(《Core.Metrology v1.0》);切分/质量(《DatasetCards v1.0》);特征与 I/O 假设(《ModelCards v1.0》)。
- 数学与符号:内联符号用反引号(如 α、QPS、T_inf、ρ、u_c);含除号/积分/复合算符必须加括号;如涉路径量 T_arr,登记 gamma(ell) 与 d ell;公式/符号/定义禁用中文。
III. 字段与结构(规范性)
stage:
name: "schema.check|dq.scan|leakage.audit"
type: "validate.schema|validate.dq|validate.leakage"
impl: "I16-2.schema_check|I16-7.dq_scan|I16-8.leakage_audit"
inputs: ["<upstream_artifact>"]
outputs: ["<clean_rows>|<dq_report>|<leakage_report>"]
schema_ref: "contracts/<name>@vX.Y" # 与契约绑定
dq:
sample: {rows: 50000, strategy: "head|random|stratified"}
significance: {alpha: 0.05} # 统计检验阈值
gates: # 质量门清单
- {id:"DQ_001", kind:"not_null", cols:["id","ts"], level:"block"}
- {id:"DQ_002", kind:"unique", cols:[["id","ts"]], level:"block"}
- {id:"DQ_003", kind:"range", col:"value", rule:"[0,1e6]", unit:"<SI>", level:"block"}
- {id:"DQ_004", kind:"enum", col:"status", values:["ok","warn","err"], level:"block"}
- {id:"DQ_005", kind:"distribution", col:"latency_ms", rule:"p99<=200", level:"warn"}
- {id:"DQ_006", kind:"freshness", col:"updated_at", max_lag:"PT30M", level:"warn"}
- {id:"DQ_007", kind:"drift", col:"feature_*", metric:"psi<=0.2", level:"warn"}
- {id:"DQ_008", kind:"leakage", policy:["per-object","per-timewindow"], level:"block"}
on_fail: "quarantine|skip|block" # 失败处置
retries: {max: 2, backoff: "expo"}
timeout_s: 1800
IV. 规则类型与判定口径
- 完整性类:not_null、unique、primary_key 一致性。
- 取值与单位:range(区间闭包显式)、unit(SI 单位校核,与 constraints.units 对表);复合量合成前先做单位归一。
- 枚举与语义:enum 与稳定映射;新值接纳策略 unknown|reject|map-to-other。
- 时效与覆盖:freshness.max_lag、采样覆盖与样本量最小值。
- 分布一致性:distribution(分位/p99/KS/AD),显著性采用 α 并报告 p 值与区间。
- 数据漂移:drift.psi/kl/ks,阈值默认 psi<=0.2(warn), psi<=0.3(block) 可覆盖。
- 泄漏审计:leakage.policy(per-object|per-timewindow|per-scene),跨 splits 重叠视为阻断。
- 契约一致性:schema_ref 字段/类型/单位/键约束与 Σ_in/Σ_out 对齐。
V. 抽样、显著性与分级
- 抽样:sample.rows 与 strategy:"head|random|stratified";分层抽样需声明分层键与配额。
- 显著性:各统计检验配 α=0.05(默认),报告 p 值与效果量;阻断项需达到双重条件(阈值违背且 p<α)。
- 分级:level:"block|warn";block 触发 on_fail 与隔离导出;warn 仅记录并告警。
VI. 异常处置与审计导出
- 处置:on_fail:"quarantine|skip|block";隔离区标注工件路径、哈希与失配原因。
- 审计:生成 dq/report.jsonl(逐规则记录)、dq/summary.csv(汇总)、dq/leakage_report.csv;在 export_manifest.artifacts[] 登记 sha256。
VII. 计量与单位(SI)
- 性能与时间度量:QPS(1/s)、T_inf(ms,报告 {p50,p95,p99})、ρ(无量纲);带宽 net_mbps、体量 size_bytes。
- metrology:{units:"SI", check_dim:true} 为强制;对 range/unit/distribution 规则中涉及的单位按 SI 校核。
- 若规则涉及路径量(如 T_arr),需在规则或阶段配置中登记:delta_form、path="gamma(ell)"、measure="d ell",并采用两种等价表达之一进行一致性校验:
- T_arr = ( 1 / c_ref ) * ( ∫ n_eff d ell )
- T_arr = ( ∫ ( n_eff / c_ref ) d ell )。
VIII. 机器可读片段(可直接嵌入)
layers:
- name: "validate"
stages:
- name: "dq.scan"
type: "validate.dq"
impl: "I16-7.dq_scan"
inputs: ["clean_rows"]
outputs: ["dq_report"]
schema_ref: "contracts/clean_rows@v1.3"
dq:
sample: {rows: 100000, strategy: "stratified"}
significance: {alpha: 0.05}
gates:
- {id:"DQ_001", kind:"not_null", cols:["id","ts"], level:"block"}
- {id:"DQ_003", kind:"range", col:"power_w", rule:"[0,2e3]", unit:"W", level:"block"}
- {id:"DQ_005", kind:"distribution", col:"latency_ms", rule:"p99<=150", level:"warn"}
- {id:"DQ_007", kind:"drift", col:"feature_*", metric:"psi<=0.2", level:"warn"}
- {id:"DQ_008", kind:"leakage", policy:["per-object","per-timewindow"], level:"block"}
on_fail: "quarantine"
retries: {max: 2, backoff: "expo"}
timeout_s: 1800
IX. Lint 规则(节选,规范性)
lint_rules:
- id: DQ.SCHEMA_REF_REQUIRED
when: "$.layers[*].stages[?(@.type=='validate.dq')]"
assert: "has_key('schema_ref')"
level: error
- id: DQ.SAMPLE_DEFINED
when: "$.layers[*].stages[?(@.type=='validate.dq')].dq.sample"
assert: "value.rows > 0 and value.strategy in ['head','random','stratified']"
level: error
- id: DQ.LEVEL_ALLOWED
when: "$.layers[*].stages[*].dq.gates[*].level"
assert: "value in ['block','warn']"
level: error
- id: DQ.RANGE_UNIT_SI
when: "$.layers[*].stages[*].dq.gates[?(@.kind=='range')]"
assert: "is_SI_unit($.unit)"
level: error
- id: DQ.DRIFT_THRESHOLDS
when: "$.layers[*].stages[*].dq.gates[?(@.kind=='drift')]"
assert: "psi_threshold_ok($.metric)"
level: warn
- id: DQ.LEAKAGE_POLICY
when: "$.layers[*].stages[*].dq.gates[?(@.kind=='leakage')]"
assert: "contains_any(['per-object','per-timewindow','per-scene'])"
level: error
X. 导出清单与报告
export_manifest:
version: "v1.0"
artifacts:
- {path:"dq/report.jsonl", sha256:"..."}
- {path:"dq/summary.csv", sha256:"..."}
- {path:"dq/leakage_report.csv",sha256:"..."}
references:
- "EFT.WP.Core.DataSpec v1.0:EXPORT"
- "EFT.WP.Core.Metrology v1.0:check_dim"
- "EFT.WP.Data.DatasetCards v1.0:Ch.12"
XI. 本章合规自检
- dq.sample/significance 已设定,规则清单覆盖完整性/取值/枚举/时效/分布/漂移/泄漏。
- 分级与处置清晰:block 阻断并隔离导出,warn 记录并告警;审计工件与 sha256 已登记。
- schema_ref 与契约一致;单位为 SI 且 check_dim=true;range/distribution/性能指标单位一致。
- 泄漏护栏有效,跨 splits 重叠为阻断;涉及路径量已登记 delta_form/path/measure 并通过校核。
- export_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/