ICEEMDAN-CMBE特征提取+Bayes-TCN-BiLSTM故障诊断+SHAP可解释分析!MATLAB完整代码









研究背景

本代码集面向旋转机械(如轴承)的故障诊断 任务。基于凯斯西储大学(CWRU)轴承数据中心公开的驱动端振动加速度信号(采样频率12 kHz,转速1797 rpm),通过信号分解‑非线性特征提取‑深度时序分类 的全流程分析,实现不同故障类型(正常、内圈、滚动体、外圈)及不同损伤直径(0.007″、0.014″、0.021″)的10类状态识别 。核心创新在于引入复合多尺度气泡熵(CMBE) 表征ICEEMDAN分解后各IMF的复杂度,并结合贝叶斯优化(BO)的TCN‑BiLSTM混合网络提升分类精度与泛化性。


主要功能

代码文件 主要功能
shujuchuli_1797.m 加载CWRU原始.mat数据,滑动窗口切分(窗长1000,步长1000,每段2048点),生成120样本/类×10类=1200样本的归一化数据集data_total_1797.mat
main.m(特征提取) 对第一个样本可视化ICEEMDAN分解结果、包络谱、峭度、能量熵、频谱 ;对所有样本提取前8个IMF的CMBE特征 (尺度1~10),形成1200×80的特征矩阵feature_vector.mat
main.m(分类建模) 加载特征,划分训练集(每类90样本)与测试集(每类30样本);利用BO优化TCN‑BiLSTM的超参数 ;训练最优模型并评估准确率、绘制混淆矩阵、进行SHAP可解释性分析

算法步骤与技术路线

复制代码
原始振动信号(12000 Hz)
       ↓ [滑动窗口分割]
      每段2048点,120样本/类
       ↓
   ICEEMDAN分解(Nstd=0.1, NR=80, MaxIter=8)
       ↓
   前8个IMF分量
       ↓
复合多尺度气泡熵(CMBE)特征提取(尺度1~10,嵌入维m=2,r=0.15×std)
       ↓
   特征矩阵(1200×80)
       ↓
训练/测试划分(90:30每类)
       ↓
贝叶斯优化TCN‑BiLSTM超参数
(numFilters, filterSize, dropout, numBlocks, bilstmUnits, LR等)
       ↓
   最优TCN‑BiLSTM分类模型
       ↓
准确率评估 + 混淆矩阵 + SHAP特征重要性分析

公式原理

1. ICEEMDAN分解
  • 改进的自适应噪声完备集合经验模态分解 ,在CEEMDAN基础上通过添加局部均值估计抑制残余噪声和伪模态。
  • 对信号( x(t) ),第( k )阶IMF通过以下迭代获得:
    rk−1(t)=x(t)−∑i=1k−1IMF~i(t)IMF~k(t)=1I∑i=1IE1(rk−1(t)+εk−1Ek−1(w(i)(t))) \begin{aligned} r_{k-1}(t) &= x(t) - \sum_{i=1}^{k-1} \widetilde{IMF}i(t) \\ \widetilde{IMF}k(t) &= \frac{1}{I}\sum{i=1}^{I} E_1\left(r{k-1}(t) + \varepsilon_{k-1} E_{k-1}(w^{(i)}(t))\right) \end{aligned} rk−1(t)IMF k(t)=x(t)−i=1∑k−1IMF i(t)=I1i=1∑IE1(rk−1(t)+εk−1Ek−1(w(i)(t)))
    其中Ej(⋅)E_j(\cdot)Ej(⋅)为EMD的第jjj阶模态算子,w(i)(t)w^{(i)}(t)w(i)(t)为白噪声。
2. 复合多尺度气泡熵(CMBE)
  • 气泡熵(Bubble Entropy) 克服了样本熵对参数敏感的缺陷,通过排序模式匹配概率 衡量复杂度。
    • 对序列{xi}\{x_i\}{xi}重构相空间:X_i\^m = \[x_i, x_{i+1}, \\ldots, x_{i+m-1}\]
    • 计算气泡排序模式 :将每个向量映射为排列模式π\piπ
    • 气泡熵定义:
      BE(m)=−∑p(π)ln⁡p(π) BE(m) = -\sum p(\pi) \ln p(\pi) BE(m)=−∑p(π)lnp(π)
  • 复合多尺度扩展 :在尺度τ\tauτ下对序列进行粗粒化平均 (yj(τ)=1τ∑i=(j−1)τ+1jτxiy_j^{(\tau)} = \frac{1}{\tau}\sum_{i=(j-1)\tau+1}^{j\tau} x_iyj(τ)=τ1∑i=(j−1)τ+1jτxi),再计算各尺度下的BE,形成多尺度熵曲线,本代码取前10个尺度值拼接为特征。
3. TCN‑BiLSTM网络
  • 时间卷积网络(TCN) 由膨胀因果卷积残差块构成,感受野随层数指数增长。
    • 膨胀卷积输出:F(s)=(x∗df)(s)=∑i=0k−1f(i)⋅xs−d⋅iF(s) = (x *{d} f)(s) = \sum{i=0}^{k-1} f(i) \cdot x_{s-d\cdot i}F(s)=(x∗df)(s)=∑i=0k−1f(i)⋅xs−d⋅i
  • 双向长短期记忆网络(BiLSTM) 捕捉前后双向时序依赖:
    h→t=LSTM(xt,h→t−1)h←t=LSTM(xt,h←t+1)Ht=[h→t;h←t] \begin{aligned} \overrightarrow{h}t &= \text{LSTM}(x_t, \overrightarrow{h}{t-1}) \\ \overleftarrow{h}t &= \text{LSTM}(x_t, \overleftarrow{h}{t+1}) \\ H_t &= [\overrightarrow{h}_t; \overleftarrow{h}_t] \end{aligned} h th tHt=LSTM(xt,h t−1)=LSTM(xt,h t+1)=[h t;h t]
  • 组合方式:TCN提取局部时序模式 → 展平为序列特征 → BiLSTM建模全局依赖 → 全连接分类。
4. 贝叶斯优化(BO)
  • 采用高斯过程代理模型 + 期望提升(EI)采集函数
    EI(x)=E[max⁡(f(x)−f∗,0)] EI(x) = \mathbb{E}[\max(f(x) - f^*, 0)] EI(x)=E[max(f(x)−f∗,0)]
    通过历史观测迭代更新后验分布,平衡探索与利用,以最小化验证损失为目标寻优。

参数设定

模块 参数名称 设定值/范围 说明
数据预处理 滑动窗口w 1000 窗口移动步长
样本长度s 2048 单个样本点数
ICEEMDAN 信噪比Nstd 0.1 噪声标准差系数
噪声添加次数NR 80 集合平均次数
最大层数MaxIter 8 提取前8个IMF
CMBE特征 最大尺度maxScale 10 多尺度因子
嵌入维m 2 相空间重构维度
相似容限系数r_factor 0.15 阈值 = 0.15×std(x)
BO优化 numFilters [8,32] 整数 TCN卷积核数量
filterSize [2,6] 整数 卷积核尺寸
dropoutFactor [0.05,0.3] Dropout比率
numBlocks [1,3] 整数 TCN残差块数量
bilstmUnits [32,128] 整数 BiLSTM隐藏单元数
InitialLearnRate [1e-4, 1e-2] 对数 Adam初始学习率
LearnRateDropFactor [0.5,0.9] 分段学习率衰减因子
训练设置 最大轮次MaxEpochs 120(最终训练) BO阶段为20
小批量大小 30 Mini‑Batch Size
学习率下降周期 50 每50轮衰减一次

运行环境

  • 软件平台:MATLAB R2024b

应用场景

  • 工业预测性维护:对旋转设备(电机、风机、泵)的轴承进行在线状态监测与故障预警。
  • 故障诊断算法研究 :作为信号分解‑熵特征‑深度分类范式的验证案例,可扩展至齿轮箱、往复机械等其他振动信号分析。

完整代码私信回复ICEEMDAN-CMBE特征提取+Bayes-TCN-BiLSTM故障诊断+SHAP可解释分析!MATLAB完整代码

相关推荐
Aaron15883 小时前
RFSOC+VU13P中在线部分可重构技术的应用分析
人工智能·算法·matlab·fpga开发·重构·信息与通信·信号处理
学测绘的小杨4 小时前
从磁偶极子建模到定位反演:一个完整 MATLAB 仿真系统解析
matlab
Evand J5 小时前
【滤波代码介绍|MATLAB】粒子滤波(PF)与自适应粒子滤波(APF)在三维动态系统状态估计中的对比,使用Sage Husa自适应的思想
开发语言·matlab·pf·粒子滤波·apf·自适应滤波
leo__5201 天前
拉丁超立方抽样(Latin Hypercube Sampling, LHS)MATLAB实现
开发语言·matlab
dr_yingli1 天前
fMRI(3-1)报告(个体化报告)生成器说明
开发语言·matlab
我爱C编程1 天前
基于Qlearning强化学习的多基站分簇拓扑控制算法matlab仿真
matlab·强化学习·qlearning·多基站·分簇拓扑控制
步达硬件1 天前
【MATLAB】读取视频,提取视频每一帧特征值并存成EXCEL,并保存个别图像
matlab·excel·音视频
dr_yingli1 天前
fMRI(4-1)统计分析报告生成器说明
开发语言·matlab
简简单单做算法1 天前
【第2章>第2节】基于FPGA的图像双线性插值实现——理论分析与MATLAB仿真
matlab·fpga·图像双线性插值