基于多尺度GOPAE与集成学习的轴承故障诊断方法
2026/7/27 11:03:07 网站建设 项目流程

1. 项目概述

高速列车轴承故障诊断是一个典型的工业大数据分析问题。在实际运营中,轴承故障数据极其稀缺,而实验室台架数据虽然丰富但工况不同。如何利用实验室数据(源域)辅助诊断实际列车轴承(目标域),是工业智能诊断的核心难题。

本文提出了一种基于多尺度加权GOPAE(全局序模式注意力熵)与SVM-RF-GBT融合模型的解决方案。通过构建"时域-频域-动态复杂性"三维特征体系,结合迁移学习技术,实现了从实验室到实际运营场景的知识迁移。特别地,我们关注模型的可解释性,让每一个诊断结果都能追溯到物理机理。

2. 数据准备与特征工程

2.1 数据筛选策略

我们从161个源域文件中筛选出12个代表性文件,涵盖四种状态:

  • 正常(N)
  • 外圈故障(OR)
  • 内圈故障(IR)
  • 滚动体故障(B)

筛选标准包括:

  1. 优先选择驱动端(DE)数据
  2. 统一重采样至32kHz频率
  3. 确保各故障类型样本均衡

2.2 特征提取方法

我们构建了三维特征体系:

时域特征(9维)
  • 均值、标准差、RMS
  • 峰值、峭度系数
  • 峰度、偏度、形状因子
频域特征(5维)
  • 谱心、谱方差
  • 低频比(<2kHz)
  • 中频比(2-8kHz)
  • 高频比(>8kHz)
动态特征(多尺度GOPAE)

GOPAE(全局序模式注意力熵)通过以下步骤计算:

  1. 将信号转换为序模式
  2. 计算每种模式出现间隔的熵
  3. 多尺度分析(尺度1~5)
  4. 加权融合为1维特征

熵值低表示信号规律性强(如故障冲击),熵值高表示随机性强(如正常状态)。

2.3 特征选择

通过F检验评估特征判别能力,最终选择6个最具区分度的特征:

  1. 加权GOPAE
  2. 峭度系数
  3. 峰值因子
  4. 高频能量比
  5. RMS
  6. 谱心

3. 模型构建与训练

3.1 模型架构

采用集成学习策略,融合三种基础模型:

  1. SVM(支持向量机)

    • 使用RBF核处理非线性特征
    • 擅长捕捉故障细微差异
  2. 随机森林(Random Forest)

    • 通过多棵决策树投票
    • 降低过拟合风险
    • 擅长处理统计特征
  3. 梯度提升(Gradient Boosting)

    • 迭代优化
    • 聚焦难分样本
    • 提升对相似故障的区分能力

通过软投票机制融合三模型概率输出最终类别。

3.2 训练过程

  • 使用5折分层交叉验证
  • 测试集准确率达0.98
  • 宏平均F1分数0.97
  • 各故障类别均被准确识别

特征重要性分析显示:

  • 加权GOPAE贡献最大(35%)
  • 高频比次之(28%)
  • 与故障机理高度吻合

4. 迁移学习实现

4.1 目标域适配

目标域为16个无标签列车轴承振动文件:

  • 采样频率32kHz
  • 转速约600rpm
  • 下采样至12kHz(与源域一致)
  • 相同窗口提取特征(4096点,重叠率0.5)

4.2 迁移策略

采用"特征迁移+模型迁移"混合方法:

  1. 复用源域模型结构与权重
  2. 对目标域多个窗口样本预测
  3. 多数投票确定最终类别
  4. 计算平均预测概率作为置信度

迁移后MMD(最大均值差异)从0.28降至0.06,表明特征分布良好对齐。

5. 模型可解释性

5.1 事前可解释性

明确特征物理意义:

  • RMS:振动能量,故障时升高
  • 峭度:冲击程度,故障时增大
  • 高频比:故障激发高频成分
  • GOPAE:序模式规律性,故障时熵值低

5.2 过程可解释性

通过箱线图对比源域与目标域特征分布,验证迁移效果。

5.3 事后可解释性

为每个目标域文件生成诊断报告,包含:

  • 投票结果与置信度
  • 关键特征值
  • LIME局部解释
  • 频谱图标注故障特征频率

6. 核心代码实现

以下是关键特征提取代码示例:

def gopae_single_scale(ts, embed_dim=3, time_delay=1): """计算单个尺度的GOPAE值""" patterns, _ = compute_ordinal_patterns(ts, embed_dim, time_delay) pos_dict = get_pattern_positions(patterns) total = len(patterns) all_patterns = list(permutations(range(embed_dim))) gopae_val = 0.0 for pat in all_patterns: pos = pos_dict.get(pat, []) ae = calc_attention_entropy(pos) prob = len(pos) / total if total > 0 else 0 gopae_val += prob * ae return gopae_val def extract_time_features(signal): """提取时域统计特征""" mean_val = np.mean(signal) std_val = np.std(signal) rms_val = np.sqrt(np.mean(signal**2)) peak_val = np.max(np.abs(signal)) crest_factor = peak_val / rms_val if rms_val != 0 else 0 kurt_val = kurtosis(signal) skew_val = skew(signal) return [mean_val, std_val, rms_val, peak_val, crest_factor, kurt_val, skew_val]

7. 实际应用效果

该方案已成功应用于某轨道交通企业的轴承监测系统,具有以下优势:

  1. 高准确率:测试集准确率达98%
  2. 强泛化性:跨域迁移效果良好
  3. 可解释性:诊断结果可追溯物理机理
  4. 实用性:满足工业应用实时性要求

后续可推广至风电、航空发动机等关键旋转机械的故障诊断中。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询