风机早期故障检测数据集由95个数据集组成包含89年的SCADA时间序列分布在三个风电场A、B和C的36个不同风力涡轮机上。特征数量取决于风电场风电场A有86个特征风电场B有257个特征风电场C有957个特征。整个数据集是平衡的因为95个数据集中有45个包含导致风力涡轮机故障的标记异常事件其他50个数据集代表正常行为。此外每个数据点的基于风力涡轮机状态的标签确保了培训数据的质量并包含了有关某些给定风力涡轮机故障的进一步信息。风电场A的数据基于EDP开放数据平台的数据和葡萄牙陆上风电场的5台风力涡轮机组成。它包含SCADA数据和由给定故障日志导出的信息该日志定义了指定故障的启动时间戳。从这些数据中选择了22个数据集纳入本次数据收集。另外两个风电场是位于德国的海上风电场由于B和C风电场的保密原因所有三个数据集均匿名。每个数据集以csv文件的形式提供其中列定义了特征行表示时间序列的数据点。1. 来自3个不同风电场36台风力涡轮机的89年实际运行数据2. 95个数据集44个包含标记的异常故障事件51个代表正常状态3. 10分钟分辨率的综合SCADA数据4. 特征因风电场而异86个特征用于风电场A257个特征用于风电场B957个特征用于风电场C5. 每个数据集包括一年的训练数据和4-98天的预测数据。02—数据标注数据标记为2个级别。第1级是所谓的事件标签。如果数据集包含预测时间范围内的异常事件则将该数据集标记为异常。如果不是这种情况则标记为正常。已根据风电场运营商的直接反馈或以服务报告和故障日志的形式记录的故障确定异常标签。通过风电场运营商的反馈、对数据的手动检查和专家知识的组合确定正常标签。对于风电场A所有异常事件的启动都基于可用的EDP故障日志进行定义该日志仅定义每个故障的启动时间戳。由于并没有进一步的信息可用所以在每个故障之前对数据进行分析以确定可能的事件开始。风电场A的“真实”异常事件开始时间可能不同于设定值。对于B和C风电场根据数据分析、风电场运营商的反馈、服务报告文件和专家知识定义所有异常事件的开始。虽然在某些情况下异常事件的真实开始可能与设置的开始有潜在差异但定义的事件开始得太早的可能性很小。若有的话异常事件的开始时间可能早于定义的时间。第2级标签为每个数据集的每个时间戳分配一个标签。这些标签称为状态ID。对于风电场B和C它们源自风电场运营商提供的原始运行模式并结合服务报告信息。对于风电场A未提供此信息。在这种情况下状态ID基于EDP提供的日志中的故障信息。对于每个风机涡轮机故障前14天标记为状态ID 4故障故障时间戳后3天标记为状态ID 3维修模式。设定风机涡轮机故障周围的时间范围的目的是为了降低在训练数据中包含异常行为的风险。由于没有关于给定故障前后异常持续时间的信息因此保守地选择了时间范围。状态标签可用于推断给定数据点是否表示正常WT行为。。一、风机早期故障检测数据集CARE to Compare数据集总览表项目详情数据集全称CARE to Compare风机早期异常检测时序数据集数据规模95个子集、89年SCADA时序、36台风机、3个风电场A/B/C风机/风电场A5台、86特征B海上、257特征C海上、957特征匿名样本平衡44个异常含故障事件、51个正常整体平衡时间分辨率10分钟/步数据构成每个子集1年训练数据 4–98天预测数据标注体系2级标注① 事件标签子集级异常/正常② 状态ID逐时间戳正常、故障前、维修等标注依据故障日志、运营商反馈、服务报告、专家经验格式每个子集1个CSV行时间步、列特征标注说明2级标签Level 1事件标签异常预测窗口内发生故障事件44个子集正常全程无故障51个子集Level 2状态ID逐行标签风电场A故障前14天状态4故障前兆故障后3天状态3维修风电场B/C源自原始运行模式服务报告覆盖正常、运行、降功率、故障、维修等二、核心应用场景直接用于推文风机早期故障预警最核心用SCADA时序提前几天–几周发现齿轮箱、轴承、发电机等退化趋势减少非计划停机。预测性维护PdM替代定期检修按健康状态排程降低运维成本、延长设备寿命。多风电场/多机型算法基准测试特征维度从86→957、陆风/海风混合适合验证LSTM、Autoencoder、Transformer等在高维、长时序、小异常下的表现。科研/毕设/竞赛时序异常检测、多变量时序分类、小样本学习、领域自适应风电场间迁移等方向首选公开基准。工业落地部署于风电场监控平台实时输出异常分数健康指数故障概率联动工单系统。分类标签#数据集#风机故障#时序数据#异常检测#SCADA#预测性维护#风电AI#CARE数据集推文组合标签技术向#时序异常检测 #LSTM #Autoencoder #深度学习行业向#智慧风电 #风机运维 #健康监测 #海上风电精简封面#风机数据集 #早期预警 #AI运维四、完整训练代码适配CARE数据集时序异常检测环境安装pipinstallpandas numpy scikit-learn tensorflow matplotlib1. 数据读取与预处理多CSV子集加载标准化滑窗importosimportpandasaspdimportnumpyasnpfromsklearn.preprocessingimportStandardScalerfromsklearn.model_selectionimporttrain_test_split# 配置 DATA_ROOTcare_dataset/# 存放95个csv的目录SEQ_LEN144# 10min×1441天窗口N_FEATURES86# 风电场A86B257C957# defload_all_subsets(data_root):X_all,y_all[],[]forcsv_fileinsorted(os.listdir(data_root)):ifnotcsv_file.endswith(.csv):continuedfpd.read_csv(os.path.join(data_root,csv_file))# 假设最后一列是state_id倒数第二是event_label0正常1异常feat_colsdf.columns[:-2]Xdf[feat_cols].values y_eventdf.iloc[:,-2].values[0]# 子集级标签# 标准化按子集scalerStandardScaler()X_scaledscaler.fit_transform(X)# 滑窗foriinrange(len(X_scaled)-SEQ_LEN):X_all.append(X_scaled[i:iSEQ_LEN])y_all.append(y_event)returnnp.array(X_all),np.array(y_all)X,yload_all_subsets(DATA_ROOT)print(序列形状:,X.shape)# (样本数, SEQ_LEN, N_FEATURES)print(异常比例:,y.mean())# 划分X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.2,random_state42,stratifyy)2. 模型LSTM-AE 时序异常检测适合早期预警fromtensorflow.keras.modelsimportModelfromtensorflow.keras.layersimportInput,LSTM,Dense,Dropoutdefbuild_lstm_ae(seq_len,n_feat):# 编码器inpInput(shape(seq_len,n_feat))xLSTM(64,return_sequencesTrue)(inp)xDropout(0.2)(x)xLSTM(32,return_sequencesFalse)(x)# 解码器xDense(32,activationrelu)(x)xDense(seq_len*n_feat,activationlinear)(x)outtf.reshape(x,(-1,seq_len,n_feat))modelModel(inp,out)model.compile(optimizeradam,lossmse)returnmodelimporttensorflowastf modelbuild_lstm_ae(SEQ_LEN,N_FEATURES)model.summary()# 训练只用正常数据训练重构X_normalX_train[y_train0]model.fit(X_normal,X_normal,epochs50,batch_size32,validation_split0.1,callbacks[tf.keras.callbacks.EarlyStopping(patience5)])3. 异常分数计算评估# 重构误差异常分数defanomaly_score(model,X):reconmodel.predict(X,verbose0)returnnp.mean(np.square(X-recon),axis(1,2))train_scoreanomaly_score(model,X_train)test_scoreanomaly_score(model,X_test)# 阈值95分位threshnp.percentile(train_score[y_train0],95)y_pred(test_scorethresh).astype(int)# 评估fromsklearn.metricsimportclassification_reportprint(classification_report(y_test,y_pred))正文分享风电领域顶级公开时序异常检测数据集——CARE to Compare。汇集3个风电场、36台风机、89年真实SCADA运行数据含95个子集、10分钟分辨率特征数86–957覆盖陆风/海风场景。44个异常子集含标记故障事件51个正常子集平衡分布2级标注子集事件标签逐时间戳状态ID保障训练质量。标签#风机故障 #时序数据集 #异常检测 #SCADA #预测性维护