1. 风电机组故障诊断数据集概述
在风电行业摸爬滚打多年,我深刻体会到故障诊断数据质量对模型效果的决定性影响。这次分享的爱尔兰3MW风电机组SCADA数据集,是我们团队经过两年时间打磨的成果,特别适合研究时空特征融合的故障诊断算法。数据集完整记录了2014-2015年间的运行数据,包含63个监测变量和6种典型故障状态,采样间隔10分钟,原始样本量达49027条。
这个数据集的核心价值在于:
- 完整覆盖了故障发生前后48小时的关键数据窗口
- 采用DBSCAN+双重模型验证的异常值处理方案
- 首创双向标注策略捕捉故障传播特征
- 提供标准化处理后的时空矩阵样本
重要提示:处理SCADA数据时,务必注意风速≤0、功率≤0等物理不可行值必须优先剔除,这是后续分析的基础前提。
2. 数据集构建全流程解析
2.1 原始数据获取与预处理
数据来自爱尔兰某风电场的3MW双馈机组,包含:
- 常规SCADA数据(2014.5.1-2015.4.9)
- 故障记录数据(2014.5.14-2015.1.15)
我们采用"故障时间±24h"的滑动窗口进行数据截取,确保包含故障发生、发展、恢复的全周期特征。原始数据字段可分为七大类:
| 数据类型 | 典型字段示例 | 物理意义 |
|---|---|---|
| 振动类 | 机舱振动X/Y平均值 | 机械结构健康状态 |
| 气象类 | 300秒平均风速 | 外部环境输入 |
| 电气类 | 电网有功功率 | 能量输出特性 |
| 温度类 | 齿轮箱油温 | 部件工作状态 |
| 控制类 | 偏航速度 | 系统调节响应 |
| 状态类 | 风轮转速 | 运行工况表征 |
| 故障码 | fault_code | 真实标签 |
2.2 异常值处理关键技术
传统阈值法处理SCADA数据异常值存在明显局限。我们创新性地采用DBSCAN聚类结合模型验证的方案:
-
参数空间探索:构建25种(ε, np)组合,其中:
- 邻域半径ε∈[0.02,0.06]
- 最小邻域点数np∈[6,12]
-
双重验证机制:
- 回归模型:风速→有功功率,用MSE评估
- 分类模型:(风速,功率)→聚类标签,用F1评估
-
最优参数选择:当ε=0.02, np=6时取得最佳平衡点(F1=0.87)
实测表明,该方法比传统IQR法多保留12%的有效故障样本,同时误检率降低23%。
2.3 特征工程实践要点
经过处理的30415个样本需要进行特征标准化:
python复制from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaled_features = scaler.fit_transform(features)
特别注意温度类特征的处理技巧:
- 同一部件多个测温点取移动平均
- 与环境温度做差分处理
- 对齿轮箱等关键部件建立温度梯度特征
3. 时空样本构建方法论
3.1 双向标注策略
传统单一时点标注会丢失故障传播信息。我们的解决方案:
code复制[前向3步] <- [故障点] -> [后向3步]
示例标签分布:
| 故障类型 | 样本量 | 时间跨度 |
|---|---|---|
| 齿轮损坏 | 742 | ±30分钟 |
| 轴承过热 | 685 | ±30分钟 |
| 电网闪变 | 593 | ±30分钟 |
3.2 时空矩阵生成
采用滑动窗口法构建三维特征矩阵:
- 时间维度:6个连续采样点(1小时)
- 空间维度:92个特征通道
- 样本步长:1个时间步(10分钟)
关键实现代码:
python复制def create_spatiotemporal_samples(data, window_size=6):
samples = []
for i in range(len(data)-window_size):
sample = data[i:i+window_size]
samples.append(sample)
return np.array(samples)
4. 典型故障诊断模型对比
4.1 电气类故障诊断
针对电网闪变等瞬时故障,GCNN模型表现优异:
- 使用扩张卷积(dilation=3)扩大感受野
- 门控机制保留突变特征
- 在测试集上达到94.2%的召回率
4.2 机械类故障诊断
对于齿轮磨损等缓变故障,WBSN模型更适用:
- 双向LSTM捕捉时序依赖
- 注意力机制加权关键特征
- 早期识别准确率提升35%
模型效果对比表:
| 模型类型 | 准确率 | 召回率 | F1分数 |
|---|---|---|---|
| SVM | 82.3% | 78.6% | 0.804 |
| Random Forest | 85.7% | 83.2% | 0.844 |
| GCNN | 91.5% | 94.2% | 0.928 |
| WBSN | 93.1% | 89.7% | 0.913 |
5. 实战经验与避坑指南
在三年多的数据集应用实践中,总结出以下关键经验:
-
数据质量检查:
- 检查时间戳连续性:发现3处数据中断
- 验证物理量范围:修正5个异常温度值
- 交叉验证关联特征:如功率-转速曲线应符合贝茨理论
-
特征选择技巧:
- 先用互信息法初筛,保留Top-50特征
- 再用注意力机制二次筛选
- 最终特征维度控制在15-20个最优
-
样本均衡处理:
- 对少数类采用SMOTE过采样
- 对多数类使用RandomUnderSampler
- 最终各类样本量差异控制在20%以内
-
模型部署建议:
- 电气故障模型响应时间需<500ms
- 机械故障模型需要每日自动retrain
- 设置置信度阈值(建议>0.85)避免误报
这个数据集目前已在GitHub开源,包含完整的处理代码和示例notebook。在实际风电场部署时,建议先进行3个月的试运行,逐步调整报警阈值。