跳转至

P3-5.1 如何把原始日志转换成可比较的表

Section ID: P3-5.1 Version: v2026.09.19

把一次动作定义为样本后,可以按问题用不同方式表示同一批记录。动作内的细节看原始记录,动作间的区段均值差异看摘要表,多次动作的近期状态看汇总表。摘要表只是帮助比较的一种表示,也可以直接比较原始时间序列,或把它们作为模型输入。

从已分配区段的 36 个观测开始

虚构流量 CSV 包含 A~F 六次动作的 36 个观测,flow 单位为 L/min。每次动作的 early、mid、late 各有两个观测;A、B、C 属于 baseline,D、E、F 属于 recent。

这个输入已经分配好动作 ID、进度区段和比较分组。本节使用这些分配计算均值,不重新计算区段边界。区段划分标准见 P3-5.4。CSV 没有时间戳或原始进度值,因此仅凭此文件无法验证区段分配是否合理,也无法确定动作时长。

先看 A 的六个观测。(event_id, progress_bin) 是收集观测的分组依据;每个组合出现两次,所以并非单个观测的唯一标识符。

event_id window progress_bin flow
A baseline early 0.70
A baseline early 0.90
A baseline mid 2.00
A baseline mid 2.10
A baseline late 1.70
A baseline late 1.80

先平均同一次动作、同一区段的观测

A 的前段均值为 (0.70 + 0.90)/2 = 0.80 L/min,中段为 (2.00 + 2.10)/2 = 2.05,后段为 (1.70 + 1.80)/2 = 1.75。这三个值分别描述 A 的不同区段,不是三个全程均值。

对其他动作使用相同计算,得到下表。一行代表一次动作,可通过 event_id 找回原来的观测组。每个均值的分母是该动作、该区段的两个观测。

event_id window early_flow_mean mid_flow_mean late_flow_mean
A baseline 0.80 2.05 1.75
B baseline 0.80 2.15 1.65
C baseline 0.80 2.00 1.85
D recent 0.95 2.45 1.85
E recent 1.05 2.65 1.95
F recent 1.00 2.55 1.75

例如,这张表可以直接比较 A 与 D 的中段均值。但均值相同,不代表区段内的变化形状相同。A 前段的 0.70、0.90 与 B 前段的 0.80、0.80 均值都是 0.80,观测值却不同。要看变化顺序或瞬间峰值,还需检查原始记录。

再次平均动作均值,得到比较分组的均值

现在收集同一 window 内各动作的同一列。基准前段均值为 (A 的 0.80 + B 的 0.80 + C 的 0.80)/3 = 0.80,近期前段均值为 (D 的 0.95 + E 的 1.05 + F 的 1.00)/3 = 1.00。前一次的分母 2 是观测数,这次的分母 3 是动作数,每次动作占相同权重。

window member_events event_count early_flow_mean mid_flow_mean late_flow_mean
baseline A, B, C 3 0.80 2.07 1.75
recent D, E, F 3 1.00 2.55 1.85

虽然均值列与前表同名,此时描述的却是三次动作而非一次动作。转交为其他文件时,也应保留一行的含义与计算规则。基准中段均值为 (2.05 + 2.15 + 2.00)/3 = 2.0666…,仅在表中四舍五入为 2.07。

前段的近期减基准差值为 1.00−0.80 = +0.20 L/min。这是六次虚构动作中的均值差异,不能直接当作故障或长期变化的证据。每组实际只有三次动作,也不能称作“最近 20 次”。

flowchart TD
    A["36 个观测<br/>区段已分配"] --> B["6 条动作摘要<br/>动作内各区段均值"]
    B --> C["2 条分组汇总<br/>各动作等权"]

36 个观测→6 行动作→2 行汇总的转换没有重新定义动作样本,而是在不同层级汇总相同的六次动作。如果汇总值异常,可以沿着 window → event_id → progress_bin 的观测 回查哪个值发生了变化。

改变一个值,追踪两步计算的影响

保持原始 CSV 不变,假设把 A 前段的 0.90 改为 1.50。请计算 A 的前段均值、基准前段均值,以及近期减基准的差值。

A 变为 (0.70 + 1.50)/2 = 1.10,基准变为 (1.10 + 0.80 + 0.80)/3 = 0.90,差值为 1.00−0.90 = +0.10 L/min。原始值增加 0.60,在动作均值中体现为增加 0.30,在三动作汇总中体现为增加 0.10。近期组与中段、后段值不变。沿着受影响的列,可以把汇总结果追溯到具体观测。

选择让测量点等权,还是让动作等权

前面的每次动作、每个区段都有两个观测,因此直接汇集观测求平均也会得到相同结果。观测数不同时则会不同。另设一个虚构案例:X 有两个值为 10 的测量点,Y 有六个值为 20 的测量点。

问题 计算 结果 各动作的权重
每次动作等权,比较两次动作的平均水平 (10+20)/2 15 X:Y = 1:1
计算全部八个测量点的均值 (2×10+6×20)/8 17.5 X:Y = 2:6

第二种计算中,Y 的权重是 X 的三倍,这就是加权的含义。不是测量点均值错误、动作均值总是正确,而是需要根据问题选择分母和权重。如果测量间隔不规则,也不能直接把测量点均值当作时间均值。

如果为 X 再采集四个值为 10 的观测,两种均值会怎样?动作均值仍为 15,测量点均值也变成 (6×10+6×20)/12 = 15。动作本身的水平未变,改变的是测量点数量的比重。不能把 17.5 降到 15 解释成 Y 的状态改善。

检查清单

  • 能否说明 early/mid/late 是输入中已分配的区段,而非本次汇总新建的区段?
  • 能否从 A 的两个前段观测追踪到动作均值和基准均值?
  • 能否区分 36 个观测、6 次动作、2 条汇总各自在计数什么?
  • 是否算出了 A 的一个观测改变后受影响的列与分组?
  • 能否按问题选择 15 或 17.5,并解释各动作的权重?
  • 是否记录摘要丢失的信息,以及返回原始记录的路径?

来源与参考资料

  • W3C,PROV-Overview。为记录处理过程与派生关系提供一般依据。本节的 CSV、区段分配、计算和练习是自行设计的虚构案例,并非 W3C 规定的表转换程序。/ 查阅日期:2026-09-19