P3-6.4 为什么汇总表里的所有列都不一定是特征¶
Section ID:
P3-6.4Version:v2026.09.19
汇总表可以同时包含比较值、输入候选、结果以及标识和上下文信息。列名或数字格式不能决定是否作为模型输入。先确定预测什么、何时预测,再检查当时是否真正能获得该值。 同一列可以既用于比较,又作为输入候选。
在动作结束时预测之后七天¶
在这个虚构案例中,动作结束后立即预测之后七天内是否会出现故障记录。假设当前传感器汇总在结束时已完成,基准值也已提前用更早的动作计算好。如果当前汇总之后才重新计算,就需要重新检查可用性假设。
结果列 failure_within_7d 表示结束之后七天以内是否存在故障记录,不包含结束瞬间,包含七天的截止点。有记录为 1;只有追踪完成且没有故障记录才为 0。下面 A、B 是追踪结束后补上结果的训练表,实际预测时尚不知道结果。
| event_id | mid_flow_mean | baseline_mid_flow_mean | delta_from_baseline | failure_within_7d |
|---|---|---|---|---|
| A | 2.40 | 3.05 | −0.65 | 1 |
| B | 2.55 | 2.60 | −0.05 | 0 |
流量单位为 L/min。A 的差值为 2.40−3.05=−0.65 L/min,表示比历史基准低 0.65。B 为 2.55−2.60=−0.05 L/min。负数本身不是故障判定,仅凭两行也不能确定预测规则或性能。
分别标记比较用途与输入候选¶
下表针对上述预测问题。“候选”表示可以考虑,并不保证采用或有用。比较用途是指在报告中检查数值和条件,与模型训练是不同用途。
| 列或表达 | 用于比较 | 输入候选 | 结束时是否可用 |
|---|---|---|---|
| mid_flow_mean | 查看当前水平 | 是 | 假设汇总完成时为是 |
| baseline_mid_flow_mean | 查看历史基准 | 是 | 已提前用过去资料算好时为是 |
| delta_from_baseline | 查看相对基准的差值 | 是 | 两个源值当时都可用时为是 |
| event_id | 连接源记录、检查重复 | 本例排除 | 是 |
| 从结束时刻提取的时段 | 按时段比较条件 | 依目标而定 | 时刻立即记录时为是 |
| failure_within_7d | 追踪结束后比较结果 | 从此预测的输入中排除 | 否 |
本例排除 event_id,是因为它只承担标识作用,并非所有问题都永久禁止标识符。设备 ID 等重复对象的信息可能有意义,但是否应用到新设备、模型是否记住 ID,需要另行检查。记录时刻也可以直接使用或提取时段,因此不能说上下文列永远不能成为输入。
同名差值也会因基准时点不同而改变¶
现在假设 A 的基准 3.05 混入了动作结束后一周的测量。即使差值仍为 −0.65,结束时也无法构造这个基准。它可用于事后比较,但若用于结束时的预测输入,就引入了未来信息。
即使基准只使用过去资料,如果计算工作到第二天才完成,结束后立即预测时仍然不可用。源数据发生时点与计算结果可用时点都要检查。 训练行也应连接当时可用的基准版本,不能把用全部资料重新计算的平均值统一贴到历史各行。
若把预测时点移到动作开始之前,当前动作的中段均值也尚不存在。表名和数值不变,输入候选列表却会改变。历史基准可能仍可用,当前中段均值及其相对基准差值则不能使用。
同时记录列角色与计算来源¶
flowchart TD
A["预测目标与时点"] --> B["检查列角色与计算来源"]
B --> C{"当时是否可用?"}
C -->|否| D["保留用于事后比较、结果或追踪"]
C -->|是| E["按目标检查输入候选"]
请为 delta_from_baseline 标记“用于比较/输入候选/当时可用”。第一种情况的基准仅使用过去资料且立即可用,三项都为是。混入未来资料或计算延迟的情况,只能事后比较,应从指定预测时点的输入中排除。不能因它是比较列就排除,也不能因它是数字就纳入。
之后把结果补入训练表本身没有问题,但必须分开使用输入列和目标列。B 尚未完成追踪时,能因为没有故障记录就标记 0 吗?不能。应另行记录追踪完成状态,未完成结果暂缓确定。
保留源事件 ID、基准包含的时间范围、基准版本与汇总完成时刻,就能复查每个差值的来源。角色是关于用途与时点的记录,不是只能选择一个的互斥标签。
检查清单¶
- 能否带单位计算 A、B 的基准差值?
- 能否解释比较值与输入候选的角色可以重叠?
- 能否同时检查未来资料混入与计算完成时点?
- 能否选出预测移到动作开始前时应排除的列?
相关概念:汇总表(summary table), 特征(feature).
来源与参考资料¶
- Google for Developers,
Machine Learning Glossary中的labeled example。它把 labeled example 解释为特征与标签的组合,因此提供了一个基础框架:输入说明列与候选结果列应当被区分开来。 https://developers.google.com/machine-learning/glossary / 确认日期: 2026-07-20 - Google for Developers,
Machine Learning Glossary中的label leakage。它解释了“特征变成标签代理”这种设计缺陷,因此为“不应把failure_within_7d、failure_within_7d这样的候选结果列随手混进 feature”提供了依据。 https://developers.google.com/machine-learning/glossary / 确认日期: 2026-07-20 - W3C,
PROV-Overview. 它提供了一个关于 provenance information 应该被单独记录和追踪的标准语境,因此也可以作为一般依据:像event_id、captured_at这样的识别/上下文列,应保留为一种和“描述样本本身的 feature”不同角色的信息。 https://www.w3.org/TR/prov-overview/ / 确认日期: 2026-07-20