跨机组泛化与样本扩充方案.md 4.2 KB

PKS 模型辅助方案:跨机组泛化与样本扩充

1. 当前实验结论

7/8/9 号机混合压力模型的主要问题是跨机组正常分布不同,导致 7 号机正常窗口被大量误报。限制到 8 号机后,测试查准率明显改善,但窗口查全率仍不足,说明仅解决机组分布差异不能解决异常覆盖不足问题。

当前阶段 CSV 中的“阶段数”、可生成窗口的“阶段组数”和真实物理故障事件不是同一个概念,真实指标需要维修记录、人工确认或其他故障证据支持。

2. 异常样本扩充

优先增加真实、独立的异常过程,而不是复制已有滑动窗口。应覆盖不同机组、月份、负荷、批次和异常类型,并保存维修或人工确认来源。

同一长异常阶段切出的多个窗口应按事件设置总权重,避免长事件支配模型。可以从每个事件选择开始、峰值、末期等代表窗口,或者让同一事件的窗口权重总和相等。

异常前后隔离窗口不应直接标成正常。后续样本充足时,可单独设置 warning 标签,形成正常、异常前趋势、确认异常三类;第一阶段仍建议正常/确认异常二分类。

可以对训练集做有限的时间序列增强:在传感器噪声范围内加小扰动、对异常幅值和下降斜率做小幅变化,但必须保持时间顺序、下降方向和报警比例合理。增强样本不能进入验证集或测试集,也不能冒充新的独立事件。

不优先使用普通 SMOTE。六小时窗口特征高度相关,直接插值可能生成不存在的物理轨迹;如后续试验,必须只在训练集内、机组内、事件分组后进行。

模型误报的正常样本应作为困难负样本重新加入训练,并按机组、月份和运行周期分层抽取。困难正常样本通常比继续增加普通正常样本更能降低误报。

3. 跨机组泛化

不要直接把不同机组的绝对油压、绝对振动值混合训练。优先构造机组内相对特征:

  • 当前值相对本机周期基线变化;
  • 当前值相对近期基线变化;
  • 距离本机低报警、低低报警阈值的归一化距离;
  • 下降或上升斜率除以本机基线;
  • 连续变化小时数;
  • 报警样本比例;
  • 相对本机正常分布的稳健 Z 分数;
  • 本机正常历史分位数。

稳健 Z 分数优先使用中位数和 MAD,避免异常值污染基准。基准只能使用训练阶段可见的正常数据,不能使用验证集或测试集信息。

XGBoost 对简单缩放不敏感,关键是改变特征表达。K 近邻对尺度敏感,必须使用 RobustScaler 或 StandardScaler,并同时建立正常样本库和异常样本库。

共享模型可以学习共同异常形态,但每台机组应保留自己的正常基准和阈值校准。机组编号不宜作为主要输入特征,而应作为基准和后处理选择器。

在某台机组缺少真实异常标签时,不应声称该机组具备异常召回能力;最多只能评估正常误报率或使用历史相似性提示。

4. K 近邻泛化

不能只计算“最接近的异常样本”。应同时计算:

  • 最近异常距离和相似度;
  • 最近正常距离和相似度;
  • 异常相似度与正常相似度的差值;
  • 最近 K 个邻居中的异常比例。

只有当前窗口明显更接近异常库,才把 K 近邻作为异常辅助证据。K 值、距离阈值和异常/正常距离比必须在验证集选择,测试集只做最终一次评估。

5. 验证方式

同时使用时间外推、完整事件组留出和留一机组验证。滑动窗口不能随机拆分到不同集合。同一异常过程的所有窗口必须属于同一个事件组。

最终报告同时给出窗口级和事件级指标。事件级召回表示异常过程至少命中一个窗口,不代表整个异常阶段所有窗口都被识别。

6. 建议实施顺序

  1. 先按机组构造相对基线和报警距离特征;
  2. 用可配置 3/6 小时窗口进行对比;
  3. 以事件均衡采样和困难正常样本控制误报;
  4. 同时评估 XGBoost、K 近邻异常库/正常库和联合结果;
  5. 增加维修和人工确认标签后,再评价物理故障召回率。