APP下载

基于密度峰值聚类的高斯混合模型核电运行工况划分

2023-07-31崔文浩郑胜杨森权杨珊珊曾曙光罗骁域

科学技术与工程 2023年20期
关键词:高斯核电聚类

崔文浩,郑胜,杨森权,杨珊珊,曾曙光,罗骁域

(1.三峡大学电气与新能源学院,宜昌 443002;2.三峡大学理学院,宜昌 443002;3.中核核工业仿真技术重点实验室,武汉 443074)

推进能源电力清洁低碳转型与高质量发展是贯彻落实中国碳达峰、碳中和战略目标[1-2]的核心要义。核电作为清洁能源因具有污染排放少、发电效率高等优点,而拥有良好的发展前景。随着核电数字化发展[3],核电厂中各系统的传感器数据被采集和存储,这些数据蕴含了系统设备的状态信息,为工况划分模型的建立提供了数据基础。核电厂对各工况数据进行处理分析,便可实现对运行过程的在线监控[4]、实时预警[5]和故障诊断[6],为核电运维人员的安全维护,经济运行提供有效的数据基础和分析手段,因此核电的工况划分是一项非常重要的工作。但是由于核电厂内部过程的复杂性,无法得知核电运行工况的准确个数,因此需要采用聚类方法来确定工况数。

目前,有几种合适的聚类算法可以被应用至工况划分之上。Hallac等[7]提出了TICC(toeplitz inverse covariance-based clustering)算法,该算法通过考察信号各维度之间的相关性,利用时间窗口来完成对多元时序数据的聚类。早前有相关核电研究人员将该方法应用至工况划分,但是由于时间窗的大小需要靠先验知识确定,而核电数据较为复杂,难以通过人工的方式确定时间窗口的大小,使得该方法的适用性不强。K-means聚类算法[8]收敛速度快,聚类高效且效果好,从理论上看比较适合核电运行数据这种维度高体量大的大规模数据集。秦绪华等[9]通过改进K-means算法并应用至火电的外部工况划分上,使工况划分结果更合理。然而K-means聚类算法对初始聚类中心的依赖非常严重[10],对非凸数据集的聚类效果欠佳[11],且会出现局部最小值的情况[12],而核电厂的内部过程复杂,难以获知准确的工况个数和聚类中心,这也使得将K-means方法应用于核电工况划分时所得到的结果并不理想。

为了解决上述算法在应用于核电运行工况划分时所出现的问题。提出了基于密度峰值聚类的高斯混合模型核电运行工况划分算法。密度峰值聚类算法[13]的聚类速度快、能够快速发现任意形状的类簇[14]、鲁棒性强,且不受聚类对象嵌入的空间维数的影响,已广泛用于图像识别[15]、天文数据处理[16]等领域。该算法通过引入决策图的方式,使得操作人员可以直观的确定聚类的个数,该算法可以帮助确定核电运行工况的个数。高斯混合模型(Gaussian mixture model,GMM,)[17-18]能适用于线性与非线性数据,在异常检测[19]、工况划分[20]等方面均得到了广泛的应用。核电厂在稳定运行状态下的数据可认为是服从高斯分布的时序数据,因此可利用高斯混合模型来完成工况划分。但是核电厂数据维度高,直接导入模型中会产生计算难度大的问题,且高斯混合模型需要确定聚类初值,不合适的聚类初值会给聚类结果带来很大的影响。

鉴于此,利用主成分分析(principal component analysis,PCA)算法[21]筛选出高维核电数据的主元,完成数据降维,降低高斯混合模型的计算难度,然后采用密度峰值聚类算法来确定工况个数,为确定高斯混合模型的初值提供参考。最后,通过模型响应度剔除响应度低的子模型,提高混合高斯模型的准确性,实现准确的工况划分。

1 算法设计

基于密度峰值聚类的高斯混合模型核电运行工况划分算法流程图如图1所示,具体步骤如下。

图1 算法流程Fig.1 Algorithmic flow

步骤1 对核电数据进行预处理,去除原始数据中的噪声。

(1)

(2)

步骤3 采用密度峰值聚类,该算法以决策图的方式将分类结果可视化。密度峰值聚类算法是由Rodriguze等[13]于2014年提出的聚类算法,其思想是将高密度区域从低密度区域的包围中剥离出来,所以该算法也就满足以下两点假设:①聚类中心的密度大于周围区域的密度;②聚类中心点与其他高密度点的距离较大。

由此可知,密度峰值聚类算法的核心在于如何计算局部密度ρi与聚类中心点的距离δi。可将ρi定义为

(3)

(4)

式中:dc为截断距离;dij的含义为任意一点j与i点的距离;χ(x)为判断点是否处于聚类圆之中的函数。

式(3)可理解为与数据点i的距离dij小于截断距离dc的点的个数。对于聚类中心点的距离δi可定义为

(5)

利用该算法对PCA降维后的数据进行聚类,在计算得出局部密度ρi和距离δi之后,可通过如图2所示的决策图,将同时满足具有较大密度和较大距离的点认定为类簇中心。对于具有较大距离的但是局部密度较低的点,可认定为噪声点。对于剩余的点可将其分配到最近邻的且密度更大点的所在簇中。所找到的类簇中心个数即为该数据内存在的工况个数。

■为人工选择出的聚类中心图2 密度峰值聚类决策图Fig.2 Density peak clustering decision plot

通过该方法可以得到核电的运行工况类数,为高斯混合模型的聚类初值提供参考,从而提高了高斯混合模型的精度。

步骤4 高斯模型是一种常用的变量分布模型,广泛应用于数理领域。一维高斯分布的概率密度函数可定义为

(6)

式(6)中:μ为均值;σ为标准差;σ2为方差。

高斯混合模型可以理解为多个单高斯模型按一定的权重组合起来,每一个不同的类都分别代表一个高斯分布,因此可把高斯混合模型[24]的概率分布描述为

(7)

关于第k个高斯模型的响应度γk的计算公式为

(8)

为了使高斯混合模型得到最优参数,选择使用EM算法来优化参数,EM算法可分为两步,在进行这两步工作之前需要设定子分布模型的参数的初值。E步:求取第k个分模型的对当前观测数据的响应度γ′jk,M步:迭代求新一轮的模型参数(期望、方差、权重),当迭代满足|αk-αk-1|≤ε时即可终止迭代,其中ε为阈值。

(9)

(10)

(11)

高维核电数据在利用PCA完成降维后,降低了高斯混合模型的计算难度,参考密度峰值聚类的结果,确定高斯混合模型的初值K。将降维数据导入模型,迭代至模型均值和方差趋于稳定的同时,利用模型响应度γk去排除模型响应度低的类,提高分类合理性。如图3所示,为高斯混合模型的聚类结果图,能够找到聚类中心的聚类结果即为一类工况,未找到聚类中心的结果会根据模型响应度的大小被剔除掉。降维数据与原始数据的索引一致,因此在高斯混合模型划分出工况以后,根据各工况中所属数据点的索引,依次还原至各个传感器的原始数据当中,找到原始数据中各点所属的工况,实现最终的工况划分。

图3 高斯混合模型聚类结果图Fig.3 Clustering results plot of Gaussian mixture model

2 实验过程及结果分析

采用国内某核电厂的历史运行数据来完成工况的划分和算法有效性的验证。该数据的记录时间为2017年1月1日—2017年3月31日。如表1所示,本次实验使用了其中12个传感器的数据,其中包括了液位、压力、温度和流量等传感器。每个传感器记录了2 759 638条运行数据,可以清晰还原整个系统的运行工况。

表1 参数分布Table 1 Parameters distribution

将上述12个参数的数据整理得到一个2 759 638×12的原始数据矩阵,利用PCA算法对该数据矩阵进行降维,选取总贡献率达到55%的两个向量作为投影向量(实际贡献率为58.80%),得到了一个2 759 638×2的降维数据矩阵。如图3所示,高斯混合模型的结果以两个维度(第一主成分、第二主成分)的形式呈现,即为降维数据的可视化呈现。使用密度峰值聚类算法对降维后的数据进行聚类。该算法将每个数据点的ρ值(密度)和δ值(距离)表示在一个二维的决策图上。用户根据决策图的分布情况,对聚类中心点进行选择,这是一个人工操作,无法自动完成。图2为聚类所得的决策图,在决策图中靠近δ(纵轴)的点属于噪声点,这一类点密度小且距离其他点也远,不能选为聚类核心,靠近ρ(横轴)的属于正常点,但是周围有更为合适的点可以选作聚类核心。图2所示红圈标记出的3个点,即为人工选择出的3个聚类中心,因为这3个点具有较大的局部密度以及距离,符合作为聚类中心的标准,因此将这3个点选择为聚类中心点,每一个聚类中心点就代表着一类工况。由此可知实验数据中所存在的工况个数为3类。该值为后续的高斯混合模型在选择聚类初值时提供参考。

由于密度峰值聚类所得到的结果为3类工况,可以获知在该数据类存在的工况种类应该为3类,其他不属于这3类的点,会以散点的形式呈现。如图3所示,将降维数据以散点形式呈现时,可以看出,有3个点簇以及其他的散点。为了不把散点强行划入某一类工况之中,根据峰值密度聚类所得到的3类工况参考值,可在其参考值上加1,将高斯混合模型的聚类初值定为4。迭代运算100次后,高斯混合模型的方差和均值均趋于稳定,此时可输出最终的聚类结果。从图3可以看出,Cluster0、Cluster1、Cluster3找到聚类核心。Cluster2包括其他的点,但是没有找到聚类中心。高斯混合模型的聚类结果以点集的形式呈现,处于不同工况的点所属的集合也不相同,但每个散点所对应的时间点与实验数据的时间点依然保持一致。

获得了高斯混合模型的聚类结果后,可找到每类工况中所包含点所对应的时间点(索引),按时间点将所对应的工况情况还原到原始的传感器数据当中。因此可以获得各类传感器在原始数据中的工况分布情况。以RCP012MN液位传感器为例,该传感器的数据占主成分的40.45%,为占比最大的传感器,最能代表实验数据的特点,其还原效果也最为优秀。在还原过程中使用的是传感器的原始数据,利用高斯混合模型所得到的聚类结果,根据各个类别点所对应的时间点,依次还原至原数据点上,即可达到工况分类的可视化。其聚类初值均选择为4时,利用本文算法(基于密度峰值聚类的高斯混合模型核电运行工况划分算法)与K-means聚类算法、TICC聚类算法以及DBSCAN(density-based spatial clustering of applications with noise)[25]算法在RCP012MN传感器数据上的工况划分结果对比如图4所示。

图4 RCP012MN液位传感器的工况划分结果Fig.4 Working condition division results of RCP012MN liquid level sensor

图4为各算法对传感器RCP012MN采集的数据的工况划分结果。该传感器记录了稳压器内的液位变化,当液位的处于不同的稳定状态时,代表着液位所处的不同工况,液位的变化过程不属于任何工况。从图4(c)中可以看出,本文算法的划分结果仅呈现了工况0、工况1、工况3,这3种工况对应图3中高斯混合模型结果中有聚类中心的3个点簇(Cluster0、Cluster1、Cluster3),未找到聚类中心的点簇中的点就被划为过渡状态(原始点)。如图4(a)、图4(b)、图4(d)所示K-means、TICC和DBSCAN的划分结果均将过渡态(变化区间)做出了错误划分,同时在这3种方法的划分结果中均出现工况穿插问题。

从划分结果来看,高斯混合模型划分的工况个数为3,工况2这一类划分结果因为其模型响应度低的原因而遭到剔除,因此在还原图中并未出现Cluster2的分类。从高斯混合模型的还原结果来看,不同工况的划分边界比较清晰,在每一类工况区域中几乎未出现明显的工况穿插情况,在变化态阶段以原始点的形式出现,这是因为过渡段的点是不属于任何工况,这也说明划分结果的合理性。同时,由于在工况划分过程中,对于工况变化的判断是通过变化趋势来判别的,当变化趋势持续出现时才会将这一段判断为变化态,因此会出现变化态边界上的点被划分到某个工况的情况。

通过人工判断,属于工况0中的数据点应该为1 630 080个(2017-01-01T00:59:27—2017-01-21T11:12:53和2017-02-14T11:23:02—2017-03-10T22:19:23),工况1中的数据点应为158 201个(2017-01-21T23:29:24—2017-02-05T12:13:00),工况3中的数据点应为907 447个(2017-02-06T21:13:32—2017-02-14T09:19:21和2017-03-11T08:45:25—2017-03-31T23:59:54)。在通过人工方式去除各算法得出划分结果中的错误分类点后,可知利用本文算法获得的工况0中的数据点为1 618 540个,工况1中的数据点为158 201个,工况3中的数据点为885 380个,三类工况中的错分总数为33 607个。TICC算法的划分结果为工况0中的数据点为1 603 661个,工况1中的数据点为153 850个,工况3中的数据点为782 568个,三类工况中的错分总数为155 649个。K-means算法的划分结果为工况0中的数据点为1 417 213个,工况1中的数据点为158 201个,工况3中的数据点为519 800个,三类工况中的错分总数为700 514个。DBSCAN算法的划分结果为工况0中的数据点为1 581 140个,工况1中的数据点为149 000个,工况3中的数据点为904 147个,三类工况中的错分总数为61 441个。在此工况划分准确率为划分出的数据点数与该类工况准确点数的商。错误率为错误划分个数与三类工况的准确数据点数总和的商。表2为各算法的划分准确率对比。本文算法对工况0、工况1、工况3的划分准确率分别达到99.29%,100%,97.57%,且错误率仅为1.25%。其他3种算法中DBSCAN的效果最好,但是其在工况0和工况1的划分准确率上低于本文算法,且错误率也更高。

表2 算法准确率对比Table 2 Algorithm accuracy comparison

通过实验表明,K-means算法、TICC算法以及DBSCAN算法与本文算法相比,本文算法对三类工况的划分准确率均高于其他三类算法,且错误率更低。K-means算法错误率高的原因在于K-means在聚类过程中只考虑了数据点的空间分布却忽略了数据的时间顺序问题,因此造成了很多数据点被错误归类。TICC算法错误率较高的原因是该算法是基于滑动窗口来做聚类,每一次滑动均会在该窗口内做一次聚类,从而出现了穿插结果的出现。这种穿插现象的出现对划分精度产生了极大的影响。DBSCAN算法虽然在准确率和错误率上的表现均比较好,但在对过渡态数据的处理上,DBSCAN算法与K-means算法和TICC算法一样错误的将过渡段划分为一类工况,根据专家经验,过渡状态是不属于任何一类工况的,因此这种划分方式是不合理的。

3 结论

提出了一种基于密度峰值聚类的高斯混合模型核电工况划分方法。该方法有效地解决了高维核电数据工况类数难以确定的问题,且划分结果符合实际情况。将本文方法与K-means方法、TICC方法以及DBSCAN算法应用于真实核电数据中,得出如下结论。

(1)本文方法的划分准确率更高,其三类工况的划分准确率分别达到99.29%、100%、97.57%,且错误率仅为1.25%,减少了类与类之间穿插现象的出现。

(2)在对过渡段的处理上,本文方法较K-means、TICC以及DBSCAN的划分结果更具有合理性。

猜你喜欢

高斯核电聚类
第四代核电 高温气冷堆
百年初心精神 点亮核电未来
2020年核电活动安排
数学王子高斯
天才数学家——高斯
基于DBSACN聚类算法的XML文档聚类
核电链接
基于高斯混合聚类的阵列干涉SAR三维成像
有限域上高斯正规基的一个注记
一种层次初始的聚类个数自适应的聚类方法研究