本发明涉及深度学习,制冷设备领域,尤其是涉及对制冷设备进行自适应阈值的故障预测技术。
背景技术:
数据中心主要由it设备、制冷设备系统和供配电系统三部分构成,随着数据中心的规模不断扩大,数据中心机房的安全是网络正常运行的前提,它已成为人们生活的一部分。而随着智能楼宇的发展,制冷设备的安装量和使用量不断增加,自动控制策略复杂程度明显加深,系统或部件发生故障的概率显著升高。随着运行年限的增加,长期部分负荷下的振荡运行,极易导致设备老化、结垢脏堵、控制失效,使得绝大部分制冷设备处于故障运行状态。若不能及时排除故障、消除故障带来的影响,势必将导致制冷设备偏离正常运行工况,带来一系列的不良后果,在某些情形下甚至会直接损坏设备,引起系统彻底失效、无法工作。已有研究表明,由于故障造成的能耗损失占总能耗损失相当大的一部分,据统计由于制冷设备故障导致的能耗损失占制冷设备总能耗的10~40%,所以一旦发生故障都会造成不同程度的经济损失和严重后果。为了提高设备使用效率、延长设备使用寿命,开展动态故障预测研究一直是制冷学科的研究热点领域之一。其中,制冷设备故障预测策略的算法研究具有至关重要的科学研究意义和实际应用价值。
随着当前计算机技术的飞速发展,海量数据信息覆盖整个社会,大数据时代已悄然而至。大数据时代下,传统的“因果关系”思维已变得不再适用,取而代之的则是基于海量数据的“相关关系”网,制冷设备也进入了全新的智能化、数据化、自动化的发展模式。通过基于深度学习算法预测制冷设备的未来状态,深入分析出现异常故障的根因本质,改善制冷设备的实时运行状态和控制策略,将是制冷设备保证自身正常(无故障)运行、实现高效节能运行的一条重要技术路线。
技术实现要素:
本发明要解决的技术问题是针对制冷设备运维人员的数目有限、制冷设备工作原理复杂、对制冷设备产生的大量时序数据难以预测的问题,提出一种基于多算法融合的制冷设备的自适应阈值的故障预测方法,对制冷设备的下一个时刻的状态进行预测,可以提前预知制冷设备在未来某个时间段内会不会出现故障,实现对制冷设备的精准预警。
为实现上述目的,本发明采用如下的技术方案:
首先对某个数据中心实际采集得到的数据进行数据预处理。采用均值滤波的方法对异常数据进行删除和填补,具体是利用python中的pandas库对数据进行清洗,删掉空行,过滤异常值,填补空缺值。使用scikit-learn中的minmaxscaler中的预处理类对数据进行归一化处理,将数据缩放到0~1,均值滤波流程图如图1所示。
其次,考虑到制冷设备中数据维度过多的缘故,对预处理后的数据用主成分分析法(pca)进行降维,实现对制冷设备的特征的有效提取。
接着我们对多种模型进行构建和训练。该模型的构建和训练分为lstm模型和dae模型。lstm模型是用来对制冷设备的数据进行预测的,通过不断调整隐藏层神经元的个数、epoch、batch_size这些参数的值,来训练lstm循环神经网络。通过对优化方式、损失函数进行调优来改进lstm循环神经网络。dae模型是用来通过设定自适应阈值,来作为状态异常预警的判定准则。dae模型是由编码和解码过程组成。它是由多个限制玻尔兹曼机(restrictedboltzmannmachine,rbm)堆叠构成的深度学习网络。每个rbm的输出作为更高一级rbm的输入,实现对学习结果的逐层传递。通过网络逐层学习提取输入数据x的特征,在高层获取比低层更具特征识别能力且更抽象的输出y,该过程称为编码。然后通过rbm按照编码的方式反向进行解码,由原来的高层输入y,得到重构
最后实现基于多算法融合的制冷设备的自适应阈值的故障预测。应用上一步骤训练好的lstm模型进行预测,将当前实时采集的数据经预处理后输入到模型,利用预测数据作为理论输出和模型的实际输出来计算模型的预测精度。通过lstm预测出的数据降维后作为输入数据,输入到深度自编码网络dae中,得到相对应的输出数据,通过输出数据和输入数据计算重构误差re。通过设定自适应阈值监测重构误差re的趋势变化,来作为状态异常预警的判定准则。当re越过阈值时并保持在阈值之上可以认为发生故障,最终实现制冷设备的自适应阈值的故障预测。
有益效果
本发明提出的一种基于多算法融合的制冷设备的自适应阈值的故障预测方法,可以有效解决制冷设备运维人员的数目有限、制冷设备工作原理复杂、对制冷设备产生的大量时序数据难以预测的问题。通过对制冷设备进行故障预测,可以提高风险分析能力,防范于未然,加强制冷设备的稳定性。
附图说明
图1均值滤波流程图
图2基于多算法融合的制冷设备的故障预测流程图
图3dae网络结构示意图
图4a、4b预测效果图
具体实施方式
本发明主要实现的是基于[lstm+dae]多算法融合的制冷设备的自适应阈值的故障预测。下面将逐一介绍本发明采用的具体方法。图2是基于多算法融合的制冷设备的故障预测流程示意图,包括以下步骤:
步骤1、用均值滤波的方法对数据进行预处理。按列求取数据的均值,对异常的数据用均值进行替换,采集到的数据主要包括冷冻水供水温度、冷凝器进出水温度、制冷剂排气温度、蒸发器进出水温度、冷凝器压力、冷凝器水流量、蒸发器水流量,其中采集到的数据类型包括但不局限于这几维。
步骤2、将预处理完的数据用主成分分析法(pca)进行降维。主要分为以下几个步骤:(1)将数据集中的每个样本作为列向量,按列排列构成一个n行m列的矩阵;(2)将矩阵的每一个行向量(每个变量)都减去该行向量的均值,从而使得新行向量的均值为0,得到新的数据集矩阵x;(3)求x的协方差矩阵1/mxxt,并求出协方差矩阵的特征值λ和单位特征向量e;(4)按照特征值从大到小的顺序,将单位特征向量排列成矩阵,得到转换矩阵p,并按px计算出主成分矩阵;(5)用特征值计算方差贡献率和方差累计贡献率,取方差累计贡献率超过85%的前k个主成分,就是将原始数据降到k维。
步骤3、lstm网络和dae网络的训练。首先是lstm网络的构建:本文以7:3的比例划分数据集(训练集和测试集)。先用sklearn.preprocessing模块对数据进行归一化处理,使得数据范围在[0,1]之间。然后设定隐藏层有128个神经元,每个时间步长输入8个变量。模型采用50个epochs做实验,并且每个batch的大小为200,选用adadelta作为优化方式,损失函数选用mean_squared_error。将lstm网络结构搭建好后,接下来就是模型的训练阶段。
lstm的网络训练主要是在tensorflow平台实现的。训练过程主要分为四个步骤:
步骤3-1、首先计算lstm细胞的输出值;具体是由下面公式(1)~(6)计算得出:
it=sigmoid(wixt+uiht-1+bi)(1)
ft=sigmoid(wfxt+ufht-1+bf)(2)
ot=sigmoid(woxt+uoht-1+bo)(3)
式中:xt为输入向量,ct为细胞状态向量,ht是根据ct输出的隐藏状态向量,w*、u*表示权重矩阵;b*是偏置向量,*∈{i,f,o,c}。sigmoid函数(f(x)=1/(1+e-x))被用作输入门it、遗忘门ft和输出门ot的激活函数。
步骤3-2、然后计算每个细胞的误差;本文用均方误差(mse)来计算误差。误差函数公式如下:
其中,yi表示真实值,y′i表示预测值。
步骤3-3、根据误差计算每个权重的梯度;
步骤3-4、应用基于梯度的优化算法更新权重。本文采用adadelta梯度下降算法来最小化地降低误差。
其次是对dae模型的构建和训练。dae模型是由编码和解码过程组成。该过程如图3所示。它是由多个限制玻尔兹曼机(restrictedboltzmannmachine,rbm)堆叠构成的深度学习网络。每个rbm的输出作为更高一级rbm的输入,实现对学习结果的逐层传递。通过网络逐层学习提取输入数据x的特征,在高层获取比低层更具特征识别能力且更抽象的输出y,该过程称为编码。然后通过rbm按照编码的方式反向进行解码,由原来的高层输入y,得到重构
步骤4、基于多算法融合的制冷设备的自适应阈值的故障预测。应用步骤三中训练好的lstm模型进行预测,将当前实时采集的数据经预处理后输入到模型,利用预测数据作为理论输出和模型的实际输出来计算模型的预测精度。预测效果图如图4所示。从图4可以看出,预测的曲线和实际真实值的曲线是比较稳合的,其均方根误差也很小。通过lstm预测出的数据降维后作为输入数据,输入到深度自编码网络dae中,得到相对应的输出数据,通过输出数据和输入数据计算重构误差re。通过设定自适应阈值监测重构误差re的趋势变化,来作为状态异常预警的判定准则。当re越过阈值时并保持在阈值之上可以认为发生故障,最终实现制冷设备的自适应阈值的故障预测,本发明可以自适应地进行制冷设备的故障诊断,故障的诊断准确率可达到93%。给制冷设备故障预测研究领域提供了一个比较新的开阔思路。