基于XGBoost的多维数据异常检测方法与装置与流程

文档序号:21086580发布日期:2020-06-12 16:55阅读:1752来源:国知局
基于XGBoost的多维数据异常检测方法与装置与流程

本发明属于火力发电领域,涉及一种源自传感器测点的多维数据的异常检测方法及装置,具体是一种基于xgboost的多维数据异常检测方法与装置。



背景技术:

随着火电厂信息化建设的快速发展,设备的故障诊断和预测性维护越来越得到人们的重视。火电厂存在了大量大型设备,设备结构复杂且工作环境恶劣,容易引发各类故障,如果不能及时发现并维修,会严重影响到其运行的安全性和可靠性。并且,一旦电厂的关键设备发生故障停机,将影响火电厂系统运行稳定,造成巨大的经济损失,甚至影响国民经济的稳定发展,所以对于电厂运行设备的故障研究和预测性维护也就提上了日程。

在当前的异常检测方法中,对于大型电厂设备的异常检测方法通常可以分为两类:机理模型和数理模型。机理模型是指通过基于物理学原理,运用数学方法,建立异常检测诊断的物理学模型,并用该模型计算设备运行过程中的各项指标,并与实测结果进行比对。如果两者之间的差距过大,则认为设备存在异常。机理模型的主要问题在于运用物理学原理建立分析模型时,存在大量的前提假设和简化条件,不适合真实情况下的复杂系统。

另一类异常检测技术尝试运用数据分析和机器学习的方法来建立数理模型,自动化、智能化的寻找数据特征与异常模式之间的映射关系,提升异常检测方法的准确性。数理模型的优势在于方法充分挖掘信息本身的数据,最大程度的实现数据驱动,减少人为干预,提升异常预测的准确率。然而,火电厂在运行过程中,设备种类多、结构复杂,随之产生的数据也具有维度高、数量大的特点。对于此,无论是对于机理模型也好还是数理模型也好,均提出了巨大的挑战。

中国专利201410745943.7公开了一种自适应量子神经网络汽轮机故障趋势预测方法。所述方法对传统的三层bp神经网络模型进行改进,引入量子神经网络,在输入层中对不同历史数据进行趋势贡献力分析,加强最新数据对趋势的影响力,增加输入层至输出层的直接连接权,在输出层根据信号特征自适应调整激励函数,以提高收敛速度和预测精度;引入自适应学习效率的方法,以提高收敛速度。该方法具有很好的可靠性和稳健性,是解决汽轮机故障趋势预测的关键技术研究,可以广泛应用在汽轮机故障趋势预测中。其存在的不足是预测误差较大,对后续控制有较大影响。



技术实现要素:

针对现有技术存在的问题,本发明基于火电厂设备的真实多维测点数据,针对当前的设备异常检测方法在应对多维数据时速度慢、准确率低的问题,提出了一种基于xgboost的多维时序数据异常检测方法与装置。

本发明是这样实现的,一种基于xgboost的多维数据异常检测方法,其特征在于:包括以下步骤:

步骤一:数据采集清洗,从电厂设备监测软件中获取实时测点数据,随后对原始多维数据进行清洗,去除缺失值和异常值;

步骤二:对清洗后的数据进行标准化处理,统一不同维度数据之间量纲;

步骤三:特征抽取及降维,对标准化处理之后的数据进行特征抽取及降维;主要是计算原始数据的相关性,同时基于主成分分析的方法,对原始数据的特征进行线性变化,将数据从多维度空间映射到低维度空间,减少数据维数;

步骤四:异常检测模型训练,用xgboost方法对降维数据进行训练,建立设备异常的预测模型;

步骤五:异常在线检测,将需要预测的数据输入到训练后的检测模型,获取模型预测值,将预测值和传感器实测值做差求取绝对值,若绝对值超过了给定阀值,那么判定发生异常。

xgboost算法是在gbdt的基础上对boosting算法的改进,解决gbdt算法模型难以并行计算问题,实现对模型过拟合问题的有效控制。gbdt是一种迭代的决策树算法,为便于求解目标函数,gbdt常用回归树生长过程错误分类产生的残差平方作为损失函数,即通过拟合残差平方构造损失函数。

xgboost算法对gbdt的不足进行了改进。xgboost增加了对树模型复杂度的衡量,在回归树生成过程分裂节点的选取考虑了损失和模型复杂度两个因素,在权衡模型低损失高复杂和模型低复杂高损失后,求取最优解,防止一味追求降低损失函数产生过拟合现象,且速度快,准确性高,是有效的集成学习算法。

相比于lstm算法,xgboost算法并不严格要求数据集在时间戳上有较为完整的连续性。在实际生产运行过程中,工业设备并不总是持续运转的,会根据实际情况有不连续的启停阶段,这就导致传感器测点获取的数据是不连续的(在较长的一段时间内缺失数据或数据值为0)。对于这类数据,训练一个完整的lstm预测模型是困难的,然而若是分段训练lstm模型会造成模型较多、管理复杂。然而,xgboost算法并不要求训练数据在时间戳上是连续的,并且xgboost算法训练速度更快也更加轻量。

具体优选方案是:

所述的对原始多维数据进行清洗,具体步骤是:

步骤1-1:确定所述原始多维数据中的干扰值,所述干扰值记为xt,并将所述干扰值xt去除;所述干扰值xt去除后,所述原始多维数据的数据序列中存在因所述干扰值xt去除而产生的空白位;

步骤1-2:将所述干扰值xt前一个非干扰值xt-1及所述干扰值后一个非干扰值xt+1加和平均以得到插入值x't,并将所述插入值x't插入至所述空白位;

具体的,所述插入值x't的公式为:

所述的统一不同维度数据之间量纲是指,将填充后的数据中的数值统一置于0到1的范围之内,填充后的数据进行归一化处理进行归一化处理的公式为:

其中,x为填充后的数据中需要进行归一化处理的数值,min为填充后的数据中的最小值,max为填充后的数据中的最大值,x*为归一化后的数值。

所述的步骤三,基于主成分分析的特征抽取方法的步骤如下:

步骤3-1:计算相关系数矩阵。输入n个测点的数据{x1,x2,...,xn},依据公式(3)计算每两个测点之间的皮尔逊相关系数,形成相关系数矩阵。其中rij(i,j=1,2,...,n)表示原始向量xi,xj关联程度的相关系数;

其中,rij为一维向量xi和xj的相关系数,xik表示一维向量xi中的第k个元素,xjk表示一维向量xj中的第k个元素,表示一维向量xi的平均值,表示一维向量xj的平均值,计算公式为:

步骤3-2:计算特征值和特征向量,首先解特征方程|λe-r|=0(其中e是单位向量,r表示相关系数矩阵)求出特征值,并按大小排序,然后分别求出对应特征值λi(i=1,2,...,n)的特征向量ui(i=1,2,...,n),依据下面公式计算主成分矩阵y,

步骤3-3:计算每个特征向量的信息贡献率,计算特征值λi(i=1,2,...,n)的累计方差贡献率cpv,其公式如下:

所述的步骤四包括以下步骤:

步骤4-1:基于xgboost算法建立测点值回归模型,基于步骤3的特征抽取结果,使用有监督学习进行模型训练,给定特征抽取后的数据集合:其中为一组输入的传感器数据向量,yi为训练时的预测传感器数值标签,训练xgboost回归模型使得:

其中表示测点预测值,wj表示模型的权重,xij表示输入的样本;

步骤4-2:定义损失函数,xgboost算法需要对传感器数据进行学习之后进行数值预测进而辅助判断设备的运行状态,其损失函数定义如下所示:

步骤4-3:确定xgboost集成算法的训练模型,其形式化定义如下:

在公式(9)中,fk代表一棵决策树。

所述的步骤五:异常在线预测,是指基于步骤四训练的xgboost回归模型m,给定一组输入数据根据模型m输出预测值计算出预测值和真实值之间的差值d:

设定一个阈值ε用于判断设备状态,如果d≤ε则认为设备处于正常运行状态,反之则认为设备出现异常,进行预警。

所述的测点数据包括一次风机轴承振动、一次风机电流、磨煤机电流、分离器出口压差、炉膛负压,汽机轴承振动和温度、凝汽器真空度、凝结水泵电流、滤网压差和振动、循环水泵出口压力、主给水出口压力、主给水出口温度、除氧器水位和除氧器温度。

一种安装基于xgboost的多维数据异常检测方法的装置,其特征在于,包括电气连接的存储有以上方法实现程序的存储器、处理器、i/o设备和报警装置,i/o设备连接安装电厂监测软件的计算机和/或网络,访问并且取得实时测点数据。

所述的处理器通过无线传输连接手持用户端。

本发明的优点及积极效果为:

相比于lstm等机器学习方法,本发明适合于处理和预测时间序列中时间不连续的、或是中间间隔和延迟相对较长的时间序列数据,适用于通过对时间序列的分析拟合来进行异常的检测和判定。本发明充分利用集成学习的思想和技术,有效利用设备传感器检测的多维数据信息中的重要特征,进而实现基于电厂实时测点数据的在线异常检测。本发明采集数据量大,训练速度快,分析误差小,预警结果准确率高。

附图说明

图1是本发明的流程方框图;

图2是本发明实施例的某大型设备排气温度测点的异常检测效果图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面结合附图对本发明的应用原理作详细的描述。

实施例1:

如图1所示,基于xgboost的多维数据异常检测方法,包括:

步骤1:数据采集清洗。原始多维数据多源自火电厂设备传感器的实时采集数据,由于传感器长期使用的劣化问题或是数据在传输过程中噪声的影响,有可能在所述原始数据中可能存在一些明显处于所述传感器测量范围之外的数值或者是直接实现为0或者空值。这样的数据(本实施例中称为干扰值)并不能说明设备的运行处于异常状态,而将这样的数据输入到异常检测系统进行异常检测时,往往会带来错报的结果。所以,在得到所述原始数据之后,需要对所述原始数据进行预处理以去除这些干扰值。

1-1:确定所述原始多维数据中的干扰值,所述干扰值记为xt,并将所述干扰值xt去除;所述干扰值xt去除后,所述原始多维数据的数据序列中存在因所述干扰值xt去除而产生的空白位;

1-2:将所述干扰值xt前一个非干扰值xt-1及所述干扰值后一个非干扰值xt+1加和平均以得到插入值x't,并将所述插入值x't插入至所述空白位。

具体的,所述插入值x't的公式为:

测点数据包括一次风机轴承振动、一次风机电流、磨煤机电流、分离器出口压差、炉膛负压,汽机轴承振动和温度、凝汽器真空度、凝结水泵电流、滤网压差和振动、循环水泵出口压力、主给水出口压力、主给水出口温度、除氧器水位和除氧器温度。

步骤2:标准化处理。将所述原始多维数据中的所述干扰值去除后,所述原始数据中的数值之间的差距会非常大,所以需要对填充后的数据进行归一化处理,以使得填充后的数据中所有数值的值域处于相同的范围;优选地,本实施例中,选择将填充后的数据中的数值统一置于0到1的范围之内。

作为示例,对填充后的数据进行归一化处理进行归一化处理的公式为:

其中,x为填充后的数据中需要进行归一化处理的数值,min为填充后的数据中的最小值,max为填充后的数据中的最大值,x*为归一化后的数值。

步骤3:特征抽取与降维。计算原始数据的相关性,同时基于主成分分析的方法,对原始数据的特征进行线性变化,从原始数据中抽取出主要特征。在研究面向多变量的统计分析问题时,变量越多,计算量和增加分析问题的复杂性就越大。因此,人们希望在进行定量分析的过程中,发现并抽取出关键变量。涉及的变量较少,但是包含的信息量足够多。主成分分析利用降维的思想,通过构造原始指标的适当线性组合,产生一系列互不线性相关的综合性指标,从中选出少数几个新的综合指标,并且使它们尽可能多地含有原始指标所含有的信息,即用较少的指标去解释原来资料的信息。具体实现方法是通过一系列的数学变换,将给定的一组相关变量通过线性变换转成另一组不相关的变量,这些新的变量按照方差依次递减的顺序排列。在数学变换中保持变量的总方不变,使第一变量具有最大的方差,称为第一主成分,第二变量的方差次大,并且和第一变量不相关,称为第二主成分。基于主成分分析的特征抽取方法的步骤如下:

步骤3-1:计算相关系数矩阵。输入n个测点的数据{x1,x2,...,xn},依据公式(3)计算每两个测点之间的皮尔逊相关系数,形成相关系数矩阵。其中rij(i,j=1,2,...,n)表示原始向量xi,xj关联程度的相关系数。

其中,rij为一维向量xi和xj的相关系数,xik表示一维向量xi中的第k个元素,xjk表示一维向量xj中的第k个元素,表示一维向量xi的平均值,表示一维向量xj的平均值,计算公式为:

步骤3-2:计算特征值和特征向量。首先解特征方程|λe-r|=0(其中e是单位向量,r表示相关系数矩阵)求出特征值,并按大小排序,然后分别求出对应特征值λi(i=1,2,...,n)的特征向量ui(i=1,2,...,n)。依据下面公式计算主成分矩阵y。

步骤3-3:计算每个特征向量的信息贡献率,计算特征值λi(i=1,2,...,n)的累计方差贡献率cpv(cumulativepercentvariance),其公式如下:

步骤4:基训练于xgboost算法训练异常检测模型。基于前面步骤抽取的特征,训练基于xgboost算法的异常检测模型。

步骤4-1:基于xgboost算法建立测点值回归模型。基于步骤3的特征抽取结果,使用有监督学习进行模型训练。给定特征抽取后的数据集合:其中为一组输入的传感器数据向量,yi为训练时的预测传感器数值标签。训练xgboost回归模型使得:

其中表示测点预测值,wj表示模型的权重,xij表示输入的样本。

步骤4-2:定义损失函数。xgboost算法需要对传感器数据进行学习之后进行数值预测进而辅助判断设备的运行状态,其损失函数定义如下所示:

步骤4-3:确定xgboost集成算法的训练模型,其形式化定义如下:

在公式(9)中,fk代表一棵决策树。在基于xgboost算法的模型训练过程中,每棵决策树是一个一个往里面加的,每加一个都希望能够带来效果的提升。回归模型的训练过程就是树不断添加的过程。一开始树是0,然后往里面加树,相当于多了一个函数,再加第二棵树,相当于又多了一个函数...等等,这里需要保证加入新的函数能够提升整体对表达效果。提升表达效果的意思就是说加上新的树之后,目标函数(就是损失)的值会下降。

步骤5:异常在线预测。基于第4步训练的xgboost回归模型m,给定一组输入数据根据模型m输出预测值计算出预测值和真实值之间的差值d:

设定一个阈值ε用于判断设备状态,如果d≤ε则认为设备处于正常运行状态,反之则认为设备出现异常,进行预警。

如图2展示了某大型设备排气温度测点的异常检测效果。纵轴单位为摄氏度,横轴为采样点。如圆圈标记所示,实线线条代表模型预测值,虚线线条代表实测值。从图中可以看出,模型预测值和实测值之间存在着比较大的偏差,可认为设备在此处发生异常,从而进行预警。

实施例2:

一种安装上述方法的检测装置,包括电气连接的存储有以上方法实现程序的存储器、处理器、i/o设备和报警装置,i/o设备连接安装电厂的监测软件的计算机和/或网络,访问并且取得实时测点数据。

处理器通过无线传输连接手持用户端。通过手持设备远距离监控预警。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1