wave_file 中 5 号机 6 个缸体振动点位;wave_sample_one 的首周期;rpm > 0 的运行态文件;每个文件、每个缸计算:
rms_log、kurt、hf_ratio、env_1x_log、env_2x_log。当前评分主要使用跨缸残差特征,避免全厂共同工况变化直接变成单缸标签。
对每个 15 分钟点、每个缸:
(Q75-Q25)/1.349;baseline_ok=False,不直接确认标签。与旧版全局基线相比,动态基线能避免把“全时段平均”当成近期正常状态。
对每个残差特征计算局部 z-score:
z = (feature - local_median) / local_scale
分数取各残差特征 z-score 绝对值的最大值;最大贡献特征作为 driver。
等级阈值只由局部基线和稳健尺度决定:
轻微 = max(3.5, 中位数 + 6 × MAD)
异常 = max(5.0, 中位数 + 10 × MAD)
严重异常 = max(7.0, 中位数 + 14 × MAD)
不再用单独规则删除标签。以下信息只写入 review_flags / 字段:
未确认:多特征确认不足;低幅高冲击:RMS 不高但峭度高;高幅:只有幅值高;启动/过渡:启动后前 1 小时占比高;局部基线不足:前置 1 天基线不足;持续证据弱:段内活跃点比例低。所有标签都保留,HTML 通过筛选查看。
单缸小时标签只作为候选明细,最终标签改为整机多缸事件:
rpm > 0、断档 >2 小时切分运行段;当前结果:
稳定运行段候选标签:92 条
最终整机事件:4 个
运行段:16 个
有事件运行段:4 个
无事件运行段:12 个
验证事件:3/3
其中 4/16~4/18 是未命中维修事件的整机事件,按要求保留,不做事先删除。
事件只用于验证,不参与标签生成:
| 事件 | 缸 | 整机事件 | 等级 | 提前量 |
|---|---|---|---|---|
| 2026-06-12 | 二缸 | 6/10 19:00~6/11 11:00 | 严重异常 | 1.21 天 |
| 2026-06-21 | 五缸 | 6/19 21:00~6/21 01:00 | 严重异常 | 1.12 天 |
| 2026-07-11 | 二缸 | 7/06 09:00~7/08 08:00 | 异常 | 4.62 天 |
另有 4/16 08:00~4/18 07:00 整机事件,未命中维修记录。
HTML 中如果事件附近有温度标签,会额外画该温度标签所属级的 3 个同级缸温度曲线,不只画单个异常缸:例如 6/12 画一级 1#/2#/3#,6/21 画二级 1#/2#/3#。
整机事件不指定故障缸;6/12 的故障缸是二缸,但参与事件的是 4 个缸;6/21、7/11 也不要求故障缸自身振动最强。
见 合并方案.md。当前不修改 models/。