压力模型结果.md 6.2 KB

7/8/9 号机压力泛化模型结果(v2:掉点过滤 + 开机恢复瞬态清理)

本实验重构于 models/generalized/(压力算法与压力模型)+ models/common/(公共层)。 当前版本为 v2,只保留 3 小时压力模型;6 小时旧结果不再作为当前结论。

  • 压力算法输出:models/results/pressure/
  • 训练样本:models/datas/pressure/
  • 模型:models/datas/artifacts/pressure/
  • 标签:models/datas/reference/润滑油压力小时阶段段.csv
  • 校验:models/results/verification/verification_report.json

一、版本定位

  • 标签:61 条(轻微 56、异常 4、严重异常 1)
  • 分机组:7号 0、8号 61、9号 0
  • 样本:13,974 个候选窗口(正常 13,029、异常 945)
  • 模型:3 小时窗口,XGBoost 二分类
  • 验证集:查准率 100%、召回率 91.62%、F1 95.63%、PR-AUC 98.62%
  • 测试集:查准率 90.24%、召回率 100%、F1 94.87%、PR-AUC 100%
  • 事件召回:10/10;正常事件误报 1

v2 在“去掉 0 点、部分掉点无效”的 100% 方案上,再检查开机后早期候选阶段: 候选阶段结束后连续 12 个有效小时恢复到周期基线 95% 以上且无低报警,则判为开机恢复瞬态, 删除该标签,并把开机到稳定恢复前的小时排除出正常训练样本。

本版因此删除 3 条标签:

机组 周期 阶段 开始 结束 稳定恢复开始
7号机 P08 轻微 2025-09-09 13:00 2025-09-09 16:00 2025-09-09 17:00
7号机 P10 轻微 2025-10-03 17:00 2025-10-03 19:00 2025-10-03 20:00
8号机 P05 轻微 2025-01-18 11:00 2025-01-18 11:00 2025-01-18 12:00

二、方法

1. 特征

当前版本:generalized_cycle_relative_v2,共 22 维。

  • 窗口内相对:oil_last_relative_to_window、oil_range_rel、oil_slope_rel、oil_min_dev、oil_max_dev、oil_low_ratio_mean、oil_low_low_ratio_mean、running_coverage_mean、running_coverage_min
  • 周期/近期相对:oil_rel_cycle_mean/min/last、oil_rel_recent_mean/last、oil_slope_rel_cycle、oil_decline_hours、oil_drawdown_cycle、oil_range_rel_cycle
  • 机组归一化:oil_mean_z、oil_min_z、oil_last_z、oil_slope_z

周期基线按算法口径计算:周期前 24 个有效小时油压均值的中位数;近期基线用窗口前 24 个有效小时的稳健基线。二者都只使用窗口之前的数据,无泄漏。

当前 3h 模型特征重要度:

特征 重要度
oil_rel_cycle_last 51.95%
oil_rel_cycle_mean 30.89%
oil_drawdown_cycle 8.52%
oil_rel_cycle_min 1.58%
oil_slope_rel_cycle 0.70%
oil_range_rel 0.67%
oil_low_low_ratio_mean 0.61%
oil_slope_rel 0.61%
oil_min_z 0.57%
oil_last_z 0.53%
其余 12 维合计 3.36%

2. 数据与切分

  • 窗口:3 小时滑动窗口;窗口与任一异常阶段重叠即标为异常。
  • 数据来源:models/datas/hourly/pks_hourly_full.csv(含 oil_zero_count / oil_zero_ratio)。
  • 无效小时:0 MPa 小时、部分掉点小时、开机恢复瞬态小时不进入标签或正常样本。
  • 切分:6.5 / 2 / 1.5,seed 20260921,事件组整体不拆。
集合 合计 正常 异常
候选 13,974 13,029 945
train 8,983 8,365 618
validation 2,900 2,721 179
test 2,091 1,943 148

异常窗口全部来自 8 号机;7 号机、9 号机没有压力异常测试窗口。

三、训练

项目 值
采样 --all-normal,训练使用全部正常样本
轮数 请求 800,实际 150
早停 50
最佳轮次 99
最佳验证 logloss 0.02553
正常/异常训练样本 8,365 / 618
scale_pos_weight 13.536
分类阈值 0.892089
阈值选择 验证集最大 F1

四、验证集

阈值 查准率 召回率 F1 PR-AUC
0.892089 100.00% 91.62% 95.63% 98.62%

五、封存测试集

测试集 2,091 窗口(正常 1,943、异常 148)。

类别 查准率 召回率 F1 样本数
正常 100.00% 99.18%(特异度) 99.59% 1,943
异常 90.24% 100.00% 94.87% 148

混淆矩阵:TN 1,927、FP 16、FN 0、TP 148。

综合:准确率 99.23%、平衡准确率 99.59%、macro-F1 97.23%、PR-AUC 100%;事件召回 10/10,正常事件误报 1。

分机组:

机组 正常窗口 正常误报率 异常窗口 异常召回 异常查准
7号机 682 0.00% 0 — —
8号机 525 3.05% 148 100.00% 90.24%
9号机 736 0.00% 0 — —

六、规则联合辅助输出

models/results/pressure/压力模型辅助确认.csv 共 13,974 行:

  • 模型辅助确认异常:930
  • 规则正常但模型疑似异常,继续观察:38
  • 保留规则异常,模型意见不一致,人工复核:15
  • 正常:12,991

七、版本对比

版本 压力标签 7号 8号 9号 测试 F1 测试 PR-AUC 测试事件
备份版本 72 7 63 2 96.59% 99.61% 10/10
100% 方案 64 2 62 0 100.00% 100.00% 7/7
v2 当前 61 0 61 0 94.87% 100.00% 10/10

三个版本的标签和测试集不同,指标不能直接横向比较。v2 的测试集异常窗口更多(148 个),且全部来自 8 号机;查准率下降主要来自 16 个正常窗口误报。

八、限制

  • 7 号机压力标签为 0,9 号机压力标签为 0;v2 无法评估这两台机组的压力异常召回。
  • 测试异常窗口全部来自 8 号机,分机组结果只能作为参考。
  • 开机恢复规则依赖“稳定恢复”判断;若开机后长期不能恢复,则标签仍会保留。
  • 周期基线依赖“周期开始阶段正常”的假设;若周期起始即异常,基线会偏低。
  • 标签仍来自规则扫描阶段,未经维修记录或人工确认;指标代表对规则标签的泛化一致性,不等同于物理故障诊断能力。
  • 6 小时模型本轮未重新训练;本文件只描述当前 3 小时 v2 模型。