# 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 模型。