基于Xgboost回归模型的CSTR故障定位方法转让专利

申请号 : CN202010491108.0

文献号 : CN111639304B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵忠盖潘磊李庆华刘成林刘飞

申请人 : 江南大学

摘要 :

本发明公开了一种基于Xgboost回归模型的CSTR故障定位方法。本发明一种基于Xgboost回归的CSTR故障定位方法,该方法包括以下步骤:1)收集CSTR中传感器产生的正常数据,以及未知的离线数据。2)建立步骤1中采集到的正常数据的监控模型,针对不同场合的需求可以自由选择不同的监控模型。3)通过步骤2建立好监控模型,并将步骤1中采集到的离线未知数据带入监控模型中,提取样本统计量来进行故障检测,并筛选出故障数据。本发明的有益效果:1)Xgboost回归模型的变量重要性度量测量的是变量对于输出预测精度的影响,每个变量的度量值的计算都是相互独立的,与现有技术相比,并不包含其他变量作用的成分,因而消除了拖尾效应的影响。

权利要求 :

1.一种基于Xgboost回归模型的CSTR故障定位方法,其特征在于,包括:

1)收集CSTR中传感器产生的正常数据,以及未知的离线数据;

2)建立步骤1中采集到的正常数据的监控模型,针对不同场合的需求可以自由选择不同的监控模型;

3)通过步骤2建立好监控模型,并将步骤1中采集到的离线未知数据带入监控模型中,提取样本统计量来进行故障检测,并筛选出故障数据;

4)收集步骤3中的故障数据作为训练样本的输入和相对应的统计量作为训练样本的输出;

5)建立步骤4中训练样本的Xgboost回归模型,得到每个变量的变量重要性度量,其中度量值越大的变量越有可能是故障变量,辨识其中值最大的为故障变量;

所述步骤5具体包括以下步骤:

5a)对于一个有n个样本m个变量的故障数据集:m

D={(xi,yi)}(|D|=n,xi∈R ,yi∈R)其中y为统计量,定义Xgboost回归模型来预测D中的x:其中,K为决策树数目;f为CART回归树函数; 为预测输出; 代表可能的决策树函数集合;

定义损失函数L为:

其中,l为可微凸函数,度量预测值与真实值之间的差别,这里选择均方误差函数;Ω(f)为:2

Ω(f)=γT+λ||w||/2

其中,T代表叶子的个数,w代表叶子的权重,λ和γ为惩罚项;

5b)将步骤4中的训练样本建立CART回归树模型,为防止过拟合,每颗树以重采样的方式有放回的抽取等量数据,通过贪心算法选择最优分裂变量和最优分裂点来使得分裂增益最大;

5c)通过步骤5b不断迭代生成新的CART回归树来拟合上一颗CART回归树的预测残差,(t)迭代到损失函数最小为止,其中迭代至第t步的损失函数L 有:将损失函数的泰勒级数推广到2阶,并移出常数项,则第t步的损失函数变成了:其中gi、hi分别 关于 的1阶和2阶导数;对上式求导并令求导结果为0,得*到叶子权重w,再代入上式有:

其中当上式损失函数越小,说明模型拟合的越好;通过损失函数来选择最优分裂变量和最优分裂点,同时计算最优分裂变量在最优分裂点分裂时所对应的分裂增益;

5d)将所有的CART回归树合并在一起得到Xgboost回归模型,将每个变量在分裂时的增益总和除以相应的分裂次数得到平均分裂增益,再令每个变量的增益除以所有变量平均分裂增益总和得到相应变量的变量重要性度量,其中度量值越大的变量越有可能是故障变量。

2.如权利要求1所述的基于Xgboost回归模型的CSTR故障定位方法,其特征在于,所述步骤2中,步骤1中采集到的正常数据的监控模型为PCA监控模型;具体包括以下步骤:n×m

假设正常工况下的样本集为X∈R ,n为样本数,m为变量数;标准化处理后,使其均值为0标准差为1;求得协方差矩阵S并进行奇异值分解得到:m×l

其中P∈R , 分别为主元和残差载荷向量,l为主元个数,Λ、 分别为主元和残差特征值组成的对角阵;

任意一个样本可分解为:

式中:C和 分别代表主元和残差空间的投影矩阵。

3.如权利要求2所述的基于Xgboost回归模型的CSTR故障定位方法,其特征在于,通过提取SPE统计量来进行故障检测,对于SPE统计量有:SPE统计量控制限可由其抽样分布得到,若统计量超过了相应的控制限,则认为过程发生了异常,从而实现故障的检测。

4.如权利要求1所述的基于Xgboost回归模型的CSTR故障定位方法,其特征在于,步骤

5c中,假设LL和LR分别是分割后左结点和右结点的集合,令I=IL∪IR;则分裂后的分裂增益为:

5.如权利要求1所述的基于Xgboost回归模型的CSTR故障定位方法,其特征在于,步骤2中,针对不同场合的需求可以自由选择不同的监控模型,具体如下:线性模型选择PCA,非线性模型选择KPCA。

6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1到5任一项所述方法的步骤。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1到5任一项所述方法的步骤。

8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1到5任一项所述的方法。

说明书 :

基于Xgboost回归模型的CSTR故障定位方法

技术领域

[0001] 本发明涉及CSTR领域,具体涉及一种基于Xgboost回归模型的CSTR故障定位方法。

背景技术

[0002] 连续搅拌釜式反应器(CSTR)在化工生产中是一种非常重要的反应设备,应用非常广泛。在化纤、塑料、合成橡胶三大合成材料生产中,CSTR占据合成生产反应器的数量超过90%,此外,在制药、农药、燃料等领域中,也有大量使用。鉴于CSTR在实际生产过程中的广泛应用,保障其运行的稳定和安全是非常具有研究价值的。
[0003] 随着现代化工生产的不断规模化和复杂化,当生产中发生的故障不能准确辨识并及时恢复时,往往会造成巨大损失。随着工业过程中大量反映过程机理的数据不断生成,通过数据驱动的多元统计监控模型对工业过程进行监控变得越来越受欢迎。
[0004] 传统技术存在以下技术问题:
[0005] 目前基于多元统计分析的故障检测方面,已有大量的技术手段被应用在实际工业过程中,但故障定位作为故障检测后需要完成的一个重要环节,却依然是一个有待进一步解决的技术难点。目前常见的基于多元统计分析的故障定位方法主要包括贡献图法、重构法和重构贡献法(RBC),但这些方法易收拖尾效应影响,从而可能在实际应用中出现误诊。与此同时,在不同特性的系统中,如线性、非线性、非高斯等,传统的故障定位方法也各有不同,它们对于故障定位的方法就有很大区别,很少有相关技术文档提出统一的方法来实现故障根源的定位。

发明内容

[0006] 本发明要解决的技术问题是提供一种基于Xgboost回归模型的CSTR故障定位方法,首先针对CSTR中采集的正常数据建立多元统计监控模型;通过监控模型筛选出离线采集数据中的故障数据段,并将故障数据段作为输入,相对应的统计量作为输出建立Xgboost回归模型,通过变量重要性度量作为变量对于统计量的贡献率,其中数值越大的变量越有可能是故障变量,辨识其中最大的变量为故障变量。其优点是不同于传统的重构贡献法以及偏微分方法等故障定位方法,本发明使用的Xgboost回归模型可同时用于非线性和线性过程的故障定位,计算量小,并且拖尾效应小,在CSTR的微小故障与随机故障定位方面性能更好。
[0007] 为了解决上述技术问题,本发明提供了一种基于Xgboost回归模型的CSTR故障定位方法,包括:
[0008] 1)收集CSTR中传感器产生的正常数据,以及未知的离线数据;
[0009] 2)建立步骤1中采集到的正常数据的监控模型,针对不同场合的需求可以自由选择不同的监控模型;
[0010] 3)通过步骤2建立好监控模型,并将步骤1中采集到的离线未知数据带入监控模型中,提取样本统计量来进行故障检测,并筛选出故障数据;
[0011] 4)收集步骤3中的故障数据作为训练样本的输入和相对应的统计量作为训练样本的输出;
[0012] 5)建立步骤4中训练样本的Xgboost回归模型,得到每个变量的变量重要性度量,其中度量值越大的变量越有可能是故障变量,辨识其中值最大的为故障变量。
[0013] 在其中一个实施例中,所述步骤2中,步骤1中采集到的正常数据的监控模型为PCA监控模型;具体包括以下步骤:
[0014] 假设正常工况下的样本集为X∈Rn×m,n为样本数,m为变量数;标准化处理后,使其均值为0标准差为1;求得协方差矩阵S并进行奇异值分解得到:
[0015]m×l
[0016] 其中P∈R , 分别为主元和残差载荷向量,l为主元个数,Λ、 分别为主元和残差特征值组成的对角阵;
[0017] 任意一个样本可分解为:
[0018]
[0019] 式中:C和 分别代表主元和残差空间的投影矩阵;
[0020] 在其中一个实施例中,通过提取SPE统计量来进行故障检测,对于SPE统计量有:
[0021]
[0022] SPE统计量控制限可由其抽样分布得到,若统计量超过了相应的控制限,则认为过程发生了异常,从而实现故障的检测。
[0023] 在其中一个实施例中,所述步骤5具体包括以下步骤:
[0024] 5a)对于一个有n个样本m个变量的故障数据集:
[0025] D={(xi,yi)}(|D|=n,xi∈Rm,yi∈R)
[0026] 其中y为统计量,定义Xgboost回归模型来预测D中的x:
[0027]
[0028] 其中,K为决策树数目;f为CART回归树函数;为预测输出; 代表可能的决策树函数集合;
[0029] 定义损失函数L为:
[0030]
[0031] 其中,l为可微凸函数,度量预测值与真实值之间的差别,这里选择均方误差函数;Ω(f)为:
[0032] Ω(f)=γT+λ||w||2/2
[0033] 其中,T代表叶子的个数,w代表叶子的权重,λ和γ为惩罚项;
[0034] 5b)将步骤4中的训练样本建立CART回归树模型,为防止过拟合,每颗树以重采样的方式有放回的抽取等量数据,通过贪心算法选择最优分裂变量和最优分裂点来使得分裂增益最大;
[0035] 5c)通过步骤5b不断迭代生成新的CART回归树来拟合上一颗CART回归树的预测残差,迭代到损失函数最小为止,其中迭代至第t步的损失函数L(t)有:
[0036]
[0037] 将损失函数的泰勒级数推广到2阶,并移出常数项,则第t步的损失函数变成了:
[0038]
[0039]
[0040] 其中gi、hi分别 关于 的1阶和2阶导数;对上式求导并令求导结果为*0,得到叶子权重w,再代入上式有:
[0041]
[0042] 5d)将所有的CART回归树合并在一起得到Xgboost回归模型,将每个变量在分裂时的增益总和除以相应的分裂次数得到平均分裂增益,再令每个变量的增益除以所有变量平均分裂增益总和得到相应变量的变量重要性度量,其中度量值越大的变量越有可能是故障变量。
[0043] 在其中一个实施例中,步骤5c中,当上式损失函数越小,说明模型拟合的越好;通过损失函数来选择最优分裂变量和最优分裂点,同时计算最优分裂变量在最优分裂点分裂时所对应的分裂增益。
[0044] 在其中一个实施例中,步骤5c中,假设LL和LR分别是分割后左结点和右结点的集合,令I=IL∪IR;则分裂后的分裂增益为:
[0045]
[0046] 在其中一个实施例中,步骤2中,针对不同场合的需求可以自由选择不同的监控模型,具体如下:线性模型选择PCA,非线性模型选择KPCA。
[0047] 基于同样的发明构思,本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。
[0048] 基于同样的发明构思,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。
[0049] 基于同样的发明构思,本申请还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。
[0050] 本发明的有益效果:
[0051] 1)Xgboost回归模型的变量重要性度量测量的是变量对于输出预测精度的影响,每个变量的度量值的计算都是相互独立的,与现有技术相比,并不包含其他变量作用的成分,因而消除了拖尾效应的影响。
[0052] 2)在CSRT模型的故障识别中,与现有的RBC故障识别技术进行对比,本发明方法运行速度快,且可用于线性、非线性、多模态等多种场合的故障定位。

附图说明

[0053] 图1是本发明基于Xgboost回归模型的CSTR故障定位方法中的故障定位流程图。
[0054] 图2是本发明基于Xgboost回归模型的CSTR故障定位方法中的生成流程图。
[0055] 图3是本发明基于Xgboost回归模型的CSTR故障定位方法中的进料浓度Ci随机干扰故障识别。
[0056] 图4是本发明基于Xgboost回归模型的CSTR故障定位方法中的冷却水温度Tci零漂故障识别。
[0057] 图5是本发明基于Xgboost回归模型的CSTR故障定位方法中的CSTR装置示意图。

具体实施方式

[0058] 下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0059] 如图1所示,一种基于Xgboost回归的CSTR故障定位方法,该方法包括以下步骤:
[0060] 1)收集CSTR中传感器产生的正常数据,以及未知的离线数据。
[0061] 2)建立步骤1中采集到的正常数据的监控模型,针对不同场合的需求可以自由选择不同的监控模型。
[0062] 3)通过步骤2建立好监控模型,并将步骤1中采集到的离线未知数据带入监控模型中,提取样本统计量来进行故障检测,并筛选出故障数据。
[0063] 4)收集步骤3中的故障数据作为训练样本的输入和相对应的统计量作为训练样本的输出。
[0064] 5)建立步骤4中训练样本的Xgboost回归模型,得到每个变量的变量重要性度量,其中度量值越大的变量越有可能是故障变量,辨识其中值最大的为故障变量。
[0065] 所述步骤2具体包括以下步骤:
[0066] 2a)对于监控模型的建立,本发明这里以PCA监控模型为例。假设正常工况下的样n×m本集为X∈R ,n为样本数,m为变量数。标准化处理后,使其均值为0标准差为1。求得协方差矩阵S并进行奇异值分解得到:
[0067]m×l
[0068] 其中P∈R , 分别为主元和残差载荷向量,l为主元个数,Λ、 分别为主元和残差特征值组成的对角阵。
[0069] 任意一个样本可分解为:
[0070]
[0071] 式中:C和 分别代表主元和残差空间的投影矩阵。
[0072] 通过提取SPE统计量来进行故障检测,对于SPE统计量有:
[0073]
[0074] SPE统计量控制限可由其抽样分布得到,若统计量超过了相应的控制限,则认为过程发生了异常,从而实现故障的检测。
[0075] 所述步骤5具体包括以下步骤:
[0076] 5a)对于一个有n个样本m个变量的故障数据集:
[0077] D={(xi,yi)}(|D|=n,xi∈Rm,yi∈R)
[0078] 其中y为统计量,定义Xgboost回归模型来预测D中的x:
[0079]
[0080] 其中,K为决策树数目;f为CART回归树函数; 为预测输出; 代表可能的决策树函数集合。
[0081] 定义损失函数L为:
[0082]
[0083] 其中,l为可微凸函数,度量预测值与真实值之间的差别,这里选择均方误差函数。Ω(f)为:
[0084] Ω(f)=γT+λ||w||2/2
[0085] 其中,T代表叶子的个数,w代表叶子的权重,λ和γ为惩罚项。
[0086] 5b)将步骤4中的训练样本建立CART回归树模型,为防止过拟合,每颗树以重采样的方式有放回的抽取等量数据,通过贪心算法选择最优分裂变量和最优分裂点来使得分裂增益最大。
[0087] 5c)通过步骤5b不断迭代生成新的CART回归树来拟合上一颗CART回归树的预测残差,迭代到损失函数最小为止,其中迭代至第t步的损失函数L(t)有:
[0088]
[0089] 将损失函数的泰勒级数推广到2阶,并移出常数项,则第t步的损失函数变成了:
[0090]
[0091]
[0092] 其中gi、hi分别 关于 的1阶和2阶导数。对上式求导并令求导结果为*0,得到叶子权重w,再代入上式有:
[0093]
[0094] 当上式损失函数越小,说明模型拟合的越好。通过损失函数来选择最优分裂变量和最优分裂点,同时计算最优分裂变量在最优分裂点分裂时所对应的分裂增益。
[0095] 假设LL和LR分别是分割后左结点和右结点的集合,令I=IL∪IR。则分裂后的分裂增益为:
[0096]
[0097] 5d)将所有的CART回归树合并在一起得到Xgboost回归模型,将每个变量在分裂时的增益总和除以相应的分裂次数得到平均分裂增益(Average gain),再令每个变量的增益除以所有变量平均分裂增益总和得到相应变量的变量重要性度量(Variable Importance),其中度量值越大的变量越有可能是故障变量。
[0098] 下面给出本发明的一个具体应用场景:
[0099] 以某CSTR设备采集的样本数据为例,该数据包含正常工况数据和故障数据。如图5所示,该模型包含进料浓度Ci,进料温度Ti;出料浓度C、出料温度T;冷却水入口温度Tci、冷却水出口温度Tc和冷却水流量Qc。
[0100] 将Xgboost回归故障识别方法与现有的RBC识别方法进行对比验证,图3为二种方法对于进料浓度Ci随机干扰故障识别效果对比,明显Xgboost回归方法能有效去除拖尾效应的影响,虽然RBC方法贡献率最大的也是变量Ci,但显然收拖尾效应影响严重,图4为二种方法对于冷却水温度Tci随机干扰故障识别效果对比,同样证明了Xgboost回归方法相比于RBC,能有效去除拖尾效应,对于故障变量Tci识别效果更佳。
[0101] 综上所述,本发明提出的基于Xgboost回归模型的故障定位方法在PCA模型下相比于RBC方法能在有效识别故障变量,并且同时能够不受拖尾效应的影响。上述PCA监控模型仅仅是为清楚地说明本发明所作的举例,而并非是对本发明实施的故障检测方式的限定,Xgboost回归模型既可以和PCA监控模型结合,也可以和KPCA等其他多元统计监控模型通过提取统计量来实现对故障的定位。
[0102] 以上对本发明提供的基于Xgboost回归模型的CSTR故障定位方法做了详细的描述,还有以下几点需要说明:
[0103] 一种基于Xgboost回归模型的CSTR故障定位方法,其特征在于:该方法包括以下顺序的步骤:
[0104] a)收集CSTR中传感器产生的正常数据,以及未知离线数据。
[0105] b)建立步骤a中采集到的正常数据的监控模型,针对不同场合的需求可以自由选择不同的监控模型,如线性模型选择PCA,非线性模型选择KPCA。
[0106] c)通过步骤b建立好监控模型,并将步骤a中采集到的离线未知数据带入监控模型中,检测故障是否存在,若存在则筛选出故障数据并进行下一步故障定位操作。
[0107] d)收集步骤c中的故障数据作为训练样本的输入和相对应的统计量作为训练样本的输出。
[0108] e)建立步骤d中训练样本的Xgboost回归模型,得到每个变量的变量重要性度量,其中度量值越大的变量越有可能是故障变量,辨识其中值最大的为故障变量。
[0109] 所述步骤b中针对不同的系统特性可选择相应不同的多元统计监控模型,如线性PCA模型,非线性KPCA模型等,这些方法都可以与Xgboost回归方法结合来进行故障定位。
[0110] 3.根据权利要求1所述的基于Xgboost回归模型的工业过程故障定位方法。其特征在于:所述步骤c具体包括以下步骤:
[0111] 步骤c1:将监控模型筛选后的故障数据作为输入,对应统计量作为输出结合在一起作为训练样本。
[0112] 步骤c2:建立训练样本的CART回归树模型,为防止过拟合,每颗树以重采样的方式有放回的抽取等量数据,并通过随机抽取 个变量作为每颗树的分裂变量选择范围,通过选择最优分裂变量和最优分裂点来使得分裂增益最大。
[0113] 步骤c3:通过步骤c2迭代生成新的CART回归树来拟合上一颗树的预测残差,迭代到代价函数最小为止。
[0114] 步骤c4:将所有的CART回归树合并在一起得到Xgboost回归模型,求得每个变量的变量重要性度量,其中度量值越大的变量越有可能是故障变量,辨识其中数值最大的为故障变量。
[0115] 以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。