跳转至

P3-6.6 相同列名与不同特征

Section ID: P3-6.6 Version: v2026.09.20

副标题: 当测量方式或单位改变时,为什么同名列也可能变成不同特征?

在设计特征(feature)时,还有一个很容易被忽略的陷阱。那就是一想到 列名一样,那应该就是同一个特征吧。但在真实数据里,即使都叫 flow_mean,也可能是传感器版本变了、单位变了,或者计算规则变了。只要发生这种变化,数字虽然还在那里,也很难再说它还是同一个特征。

一个特征是不是“同一个特征”,不能只看列名,而应该连同 它到底测了什么量、按什么规则、用什么单位做出来 一起判断。

什么情况下,同样的列名并不代表同一个特征

如果只因为列名相同就直接当作同一个特征继续用,那么即使特征的意义已经变了,也很容易被直接放上同一张比较表和同一条基准线。

表面上看到的状态 Part 3 应该先问的问题
列名没变 计算规则和单位也没变吗?
数值分布突然变了 是真实变化,还是测量方式变了?
维护之后数值变了 是工艺状态变化,还是传感器定义变化?

所以,仅仅因为特征名相同,并不能说明相同的比较结构依然成立。

只要什么变了,就可能不再是同一个特征

即使列名相同,只要下面这些内容里有一个发生变化,Part 3 就应该先重新问:它还是同一个特征吗?

发生变化的东西 为什么重要
测量单位 因为数值之间的比较本身就变了
传感器位置或传感器版本 因为同一个名字也可能开始更接近另一种物理量
区间计算规则 因为即使同样写成平均值,也可能是在不同区间上求出来的
运行定义 因为即使叫同一个 正常范围,背后的标准也可能已经变了

这四种变化,都不是首先属于模型技巧问题,而是属于 现在保留下来的这个特征,到底是什么意思 的问题。

从列名转向测量定义的比较

event_id flow_mean flow_unit sensor_version segment_rule ops_definition
A 2.4 L/min v1 early-mid-late normal-band-v1
B 2.5 L/min v1 early-mid-late normal-band-v1
C 41.0 mL/s v2 early-mid-late normal-band-v1
D 39.5 mL/s v2 quartile-4bin normal-band-v2

如果看这张表,所有行都叫 flow_mean,但实际上已经同时发生了不止一种变化。

  1. A、B 和 C、D 的单位不同。
  2. C、D 的传感器版本也不同。
  3. D 的区间计算规则也不同。
  4. D 的运行定义也不同,因此很难立刻挂到同一条基准线说明里。

所以,如果把这四行当作同一列“没变的特征”来读,那么在谈数字是否相近之前,特征含义本身就已经晃了。也正因为如此,这里最先应该抓住的结论很简单:相同列名 并不保证 相同特征定义。

flowchart TD
    A["保留原值、单位与定义备注"] --> B["换算不同单位并记录公式"]
    B --> C{"测量对象、校准与汇总范围是否对应?"}
    C -->|已确认| D["可比较同一物理量的候选"]
    C -->|未知或不一致| E["检查补充记录、校准或重新汇总"]
    D --> F["另外比较运行判定版本"]

如果只有单位不同,可以通过换算恢复可比性。由于 41 mL/s = 41×60/1000 = 2.46 L/min,C 的值并不是 A 的约 17 倍。但这并不说明传感器位置、校准和计算区间也相同,因此统一单位后仍要确认这些条件。如果改变的只是运行判定规则,也可能是原始物理特征不变,而输出标签的含义发生了变化。

区分字符串一致与物理可比性

前面四行是虚构资料。A、B 的备注相同,也不代表传感器位置、校准历史和缺失处理已经核实。early-mid-late 这个名称也不能完整说明平均了哪些观测、如何计算。备注一致只是把候选记录集中起来检查,并非可比性认证。

已检查的层次 本例能够确认的内容 仍需检查的内容
所选定义字符串一致 A、B 已记录的字段相同 未记录的位置、校准与平均规则
单位换算完成 C=2.46、D=2.37 L/min v1/v2 传感器的测量对象与校准对应关系
发现区间定义差异 D 使用不同规则名称 quartile-4bin 能否用原始资料按相同范围重新汇总
发现运行判定版本差异 D 使用 normal-band-v2 测量改变了,还是只改变判定边界

D 也可换算为 39.5×60/1000=2.37 L/min。它与 A 的 2.4 接近,并不能证明测量定义相同。只有确认差异仅为单位,测量对象、位置、校准与汇总规则一致时,统一单位才能恢复数值比较。传感器改变需要对应测量或校准记录;区间改变需要精确边界及重新汇总的可行性检查。

将运行判定与测量定义分开记录

假设物理测量规则不变,只把判定标准从“至少 2.50 L/min”改为“至少 2.40 L/min”。测量值 2.46 L/min 不变,但判定从低于标准变成达到标准。这是判定规则改变,不是测量改变。上表未提供 normal-band-v1/v2 的实际边界,因此这些数字不代表那两个版本的真实定义。

记录类别 应保留的项目示例
测量与汇总定义 物理量、传感器位置和版本、校准历史、区间边界、平均方法、缺失处理
单位换算 原始值与单位、换算公式、换算后的值与单位
运行判定 判定规则版本、生效时点、结果标签

C 应同时保留原始 41.0 mL/s、公式 ×60/1000 与换算后的 2.46 L/min。只把单位标签改成 L/min、数值却仍为 41.0,会产生错误资料。把传感器版本字符串改为 v1,也不等于进行了校准。

减少字段合并分组并不会统一定义

只按名称分组时,A、B、C、D 属于同一组。比较单位、传感器版本、区间规则与运行判定字符串时,得到 A,B / C / D 三组。去掉运行判定字段,D 的区间规则仍然不同,所以还是三组。再去掉区间规则,就只剩 A,B / C,D 两组。

C、D 已归为一组,就可以放进同一个基准了吗?仍然不可以直接确定。只是隐藏了区间字段,实际汇总规则并未改变。反过来,如果有证据确认只有判定规则改变、测量定义相同,就可以把物理特征比较与结果标签比较分开处理。

请列出比较 C 与 A 所需的补充资料。单位换算不够,还需要传感器位置、校准、实际区间和平均规则的对应关系。若纳入 D,还要检查 quartile-4bin 与 early-mid-late 是否代表相同测量范围。若没有原始资料且无法协调定义,就应暂缓比较或保留为独立群体。

检查清单

  • 能否将 C、D 换算为 L/min,并保留原值和单位?
  • 能否区分备注字符串一致与实际可比性?
  • 能否区分仅判定改变与测量、汇总改变?
  • 能否解释分组减少为何不能代替校准或重新汇总?

来源与参考资料

  • W3C, PROV-Overview. 它提供了一个一般框架:通过 provenance information 追踪数据是经过什么过程、什么版本生成的,因此强化了这一点:为了保持可比性,特征除了名称,还应保留生成规则和版本。 https://www.w3.org/TR/prov-overview/ / 确认日期: 2026-07-20
  • Google for Developers, Machine Learning Glossary 中的 feature engineering。它说明特征不是未经处理的原始值,而是经过选择性变换的结果,因此支持这一节的核心:只要单位或计算规则变了,即使列名一样,也很难再说它还是同一个特征定义。 https://developers.google.com/machine-learning/glossary / 确认日期: 2026-07-20