目录文档-技术白皮书16-EFT.WP.Methods.Cleaning v1.0

第3章 标准输入与模式绑定


一句话目标:将异构 D_raw 规范化为标准模式 SRef,为后续计量一致、时间与路径处理、契约审计与发布冻结提供统一、可审计的输入基座。


I. 范围与对象

  1. 适用数据
    • 时间序列、路径参数化观测、事件日志、标量/向量/张量字段、环境与参考条件记录。
    • 单源与多源合并、批量与流式入口,均以统一 SRef 模式落盘。
  2. 目标产物
    产出 D_std(标准化数据)与 manifest.schema(模式与注册信息),并满足最小契约:unique(pk),non_decreasing(ts|ell),check_dim(expr) 待第4章完成,arrival_forms 占位待第6章完成。

II. 名词与变量(记忆锚点)


III. 模式总则与命名规范

  1. 命名规则
    • 全部使用小写 snake_case,仅 ASCII 字符;前缀按域分组:core.*,timing.*,path.*,arrival.*,env.*,qc.*,prov.*。
    • 禁用歧义名与缩写歧义:t 不得代替 ts,n 不得代替 n_eff,T 不得代替 T_arr 或 T_fil 或 T_trans。
  2. 文本与公式
    • 变量与表达统一反引号包裹;任何积分与除号表达加括号并显式测度与域。
    • 单位与量纲字段必须存在:unit(field) 与 dim(field)。
  3. 版本与兼容
    schema_ver 采用语义化版本;破坏性变更通过迁移脚本与别名映射保障向后兼容。

IV. SRef 标准模式与最小字段集

  1. core.keys
    • prov.rid,core.pk,core.idx_k[],schema_ver。
    • 契约:unique(pk),idx_k 为可复合与可选。
  2. timing.*
    • timing.tau_mono,timing.ts,timing.offset,timing.skew,timing.J,timing.window = Delta_t。
    • 契约:non_decreasing(tau_mono),ts = map_to_pub( tau_mono ; offset, skew, J )。
  3. path.*
    • path.ell,path.param = gamma(ell),path.measure = d ell,path.L_gamma。
    • 契约:non_decreasing(ell),L_gamma = ( ∫_gamma 1 d ell )。
  4. arrival.*(占位并保持可空,待第6章计算)
    • arrival.c_ref,arrival.n_eff,arrival.T_arr_form1,arrival.T_arr_form2,arrival.delta_form,arrival.tol_Tarr。
    • 契约(占位):delta_form ≤ tol_Tarr。
  5. env.*
    • env.RefCond,env.site,env.device,env.mode。
    • 规则:任一 corr_env(x; RefCond) 必须记录 RefCond。
  6. qc.*
    • qc.m,qc.q_score,qc.drift,qc.flags[]。
    • 规则:m = 1 表示缺失,coverage = 1 - mean(m)。
  7. prov.*
    prov.hash = hash_sha256(blob),prov.signature,prov.issuer,prov.time,prov.TraceID。

V. 主键、外键与索引策略

  1. 主键构成
    • 单主键:pk = {rid} 适用于单源无并发写入场景。
    • 复合主键:pk = {source_id, ts} 或 pk = {source_id, ell},用于时间或路径驱动数据。
    • 路径型建议:pk = {track_id, ell},保证 non_decreasing(ell)。
  2. 外键与参照
    • fk(env.site) → sites(id),fk(env.device) → devices(id) 等由 registry 提供。
    • 孤儿记录必须在绑定阶段拒绝或隔离。
  3. 索引
    • 必选:index(ts) 或 index(ell),index(qc.q_score)。
    • 选配:index(env.RefCond),index(arrival.delta_form)(方便后续一致性审计)。

VI. 类型与可空性约定

  1. 标量类型
    • int64,float64,bool,string,bytes;时间统一 int64 或 string 的 ISO 表示,在标准化后落地为 int64 纳秒或毫秒一律声明。
    • unit(field) 与 dim(field) 必填(对 bool/string 可置 unit = "-",dim = "-")。
  2. 可空性
    • 缺失不以 null 表达,统一由 qc.m 标注;业务上必须缺省的字段以占位默认值并在 manifest 解释。
    • arrival.* 允许在第3章结束时为可空,占位等待第6章计算。

VII. 别名兼容与标准化规则

  1. 别名映射(示例)
    • 时间:timestamp|time|t → ts,mono_ts|logical_ts → tau_mono。
    • 路径:s|arc_len → ell,path_len → L_gamma。
    • 到达时:c|c0 → c_ref,neff|n_effective → n_eff。
    • 质量:missing|mask → m,quality|score → q_score。
  2. 归一策略
    • 名称归一:去除空格、大小写、非 ASCII,替换为 snake_case。
    • 单位归一:仅记录单位与量纲,不做数值转换(数值转换留至第4章)。
    • 值域校验:对枚举与布尔进行强制收敛,非法值进入隔离区。

VIII. 流程 M10-3(模式绑定与标准化)


IX. 实现绑定 I10-3(接口与不变量)

  1. 接口原型
    • standardize_names(ds, registry) -> ds'
    • register_schema(ds, registry) -> (schema_id, report)
    • validate_dataset(ds, rules) -> report
  2. 前置条件
    ds 必须可迭代访问字段;registry 提供别名映射、键策略、外键表与允许字段表。
  3. 后置条件与不变量
    • unique(pk) = true,non_decreasing(ts|ell) = true,fields(ds') ⊇ fields(SRef.minimal)。
    • unit(field) 与 dim(field) 完整,arrival.* 与 env.* 占位存在。
    • manifest.schema 含 schema_ver、registry_hash、rename_map、key_policy。
  4. 失败语义
    • 命名冲突或关键字段缺失 → E_SCHEMA_MISSING;
    • 主键不唯一 → E_PK_DUP;
    • 单调性失败 → E_MONO_FAIL;
    • 外键不匹配 → E_FK_FAIL;
    • 类型非法 → E_TYPE_INVALID。
    • 以上均要求生成隔离分支与详细 report。

X. 契约与断言(本章必过项)

  1. 结构契约
    • exists(core.pk),exists(timing.tau_mono|timing.ts),exists(path.ell)(路径型数据)。
    • fields(ds) ⊇ SRef.minimal。
  2. 键与时/径契约
    unique(pk),non_decreasing(ts) 或 non_decreasing(ell)。
  3. 计量与单位契约(占位通过)
    forall x ∈ numeric_fields: exists unit(x) ∧ exists dim(x)。
  4. 到达时与环境契约(占位通过)
    exists(arrival.c_ref),exists(env.RefCond);arrival.delta_form 可空,待第6章完成后强制约束 delta_form ≤ tol_Tarr。

XI. 审计、统计与面板字段

  1. 统计概要
    • n_rows,n_fields,dup_pk,mono_breaks(ts|ell),coverage = 1 - mean(qc.m)。
    • alias_applied,unit_dim_filled,fk_failures。
  2. 面板与告警
    • 面板必含:coverage,dup_pk,mono_breaks,fk_failures。
    • 告警阈值建议:dup_pk = 0,mono_breaks = 0,fk_failures = 0,coverage ≥ q_min_coverage。

XII. 交叉引用


小结
本章将输入统一收敛到 SRef,以命名、键、类型、单位/量纲字段与到达时/环境占位为核心产物,形成可审计、可扩展、可复用的标准输入层。自此,数据已具备进入第4–6章计量一致化、时间与路径一致化、到达时两口径计算的前提条件,并满足第9–10章契约与发布冻结的结构性要求。


版权与许可(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/