基于核主元分析与支持向量机的监控诊断方法及其应用
蒋少华1, 2,桂卫华1,阳春华1,唐朝晖1
(1. 中南大学 信息科学与工程学院,湖南 长沙,410083;
2. 韶关学院 计算机科学学院,广东 韶关,512024)
摘 要:为了及时反映密闭鼓风炉冶炼过程状态,实现对密闭鼓风炉炉况的监控与诊断,提出核主元分析和多支持向量机分类的相结合的过程监控与故障诊断方法。其原理是:首先,用核主元分析方法提取过程数据特征,建立核主元分析的监控模型;然后,将代表过程特征的核主元送入多支持向量机分类器中,利用“一对其余”算法对故障进行诊断与分类。实验结果表明,所提出的方法与传统的主元分析方法相比,整个样本集的可分性变大,分类正确率提高,能更准确地诊断炉子的各种故障,可有效地用于密闭鼓风炉冶炼过程的故障诊断。
关键词:核主元分析;支持向量机;多类分类器;过程监控;故障诊断
中图分类号:TP277 文献标识码:A 文章编号:1672-7207(2009)05-1323-06
Method based on kernel principal component analysis and
support vector machine and its application
JIANG Shao-hua1, 2, GUI Wei-hua1, YANG Chun-hua1, TANG Zhao-hui1
(1. School of Information Science and Engineering, Central South University, Changsha 410083, China;
2. School of Computer Science, Shaoguan University, Shaoguan 512024, China)
Abstract: In order to monitor the imperial smelting furnace (ISF) state in time and accurately diagnose the faults,a fault diagnosis approach based on kernel principal component analysis (KPCA) and multi-class classifiers of support vector machine (SVM) was proposed. The principle of the method was as follows: Firstly, the KPCA approach was adopted to extract the feature and the monitoring model was established. Secondly, the SVM multi-class classifiers with ‘one to other’ algorithm was used for classification with the input of the feature. The experimental results show that, compared with the features extracted by principal component analysis (PCA), the proposed method increases the separability of the data set, performs better recognition ability, and it can be used in the imperial smelting furnace(ISF) fault diagnosis.
Key words: kernel principal component analysis (KPCA); support vector machine (SVM); multi-class classifiers; process monitoring; fault diagnosis
由于采用流程工业很难建立精确的动态数学模型,因此,基于数学模型的故障诊断方法在流程工业中没有得到大量的推广应用。目前,比较有效的方法是采用基于数据驱动的模式识别方法[1],其诊断过程包括特征提取(Feature extraction)和模式识别2步。特征提取方法有多种,如较常用的就是主元分析(PCA)方法、独立分量分析(ICA)方法。然而,这些方法都是线性算法,当信号特征存在着大量非线性关系时,不能满足要求[2]。核主元分析方法(KPCA)是一种新的非线性特征提取方法,它通过某种事先选择的非线性映射将输入矢量映射到一个高维特征空间,使输入矢量具有更好的可分性,然后,对高维空间中的映射数据进行线性主元分析,从而得到数据的非线性主元[3-4]。该方法在实施过程中没有复杂的非线性运算,可调参数少。支持向量机(SVM)在小样本下具有较强的学习能力,已经在各领域得到广泛应用[5],由于将KPCA和SVM相结合能充分发挥各自的优势,提高故障诊断模型的实时性,KPCA-SVC方法已用于化工过程故障诊断[6]。密闭鼓风炉(Imperial smelting furnace,简称 ISF)是铅锌冶炼过程的关键工艺,该过程工艺流程长,机理反应复杂,炉子的故障率较高。随着人工神经网络在过程系统建模、故障诊断以及在线优化等方面广泛应用[7],人们对基于神经网络、PCA等的密闭鼓风炉故障过程监测诊断的方法进行了相关研究[8-9]。在此,本文作者采用改进的KPCA-SVM方法对炉子熔炼过程进行监控。
1 核主元分析
设有n维的l个样本数据为:x1, x2, …, xl∈Rn,首先,用一非线性映射把输入数据从原空间Rn映射到高维特征空间,有,然后,在这个高维特征空间进行线性主元分析。
特征空间中映射数据的协方差为:
2 支持向量机的多类分类算法
SVM[11-14]是一种泛化能力很强的分类器,它在解决小样本问题方面表现出许多特有的优点,已成为国际上模式识别领域新的研究热点。
对于多类模式识别问题,SVM可通过2类问题的组合来实现。通常有2种策略:
a. “1对多”策略,即1个分类器将每一类与剩下所有类别区分开来。
b. “1对1”策略,即1个分类器将2个类别对区分开来。
但这2种方法将多类问题转换为2类问题求解时,往往会出现拒绝分类区,为了避免这种情况,Yuan 等[14]提出“1对其余”算法。
由于上述“1对其余”算法以多数出现的故障或较危险故障来优先考虑训练SVM,在一定程度上降低了训练、分类速度,为此,提出1种改进“1对其余”算法,即根据各类数据的中心距离,先对训练数据进行划分,再使用SVM进行分类,大大减少了重复训练量,训练的具体过程见文献[15]。
3 基于核主元分析和多支持向量机分类的过程监控诊断模型及功能
3.1 密闭鼓风炉过程监控诊断的模型
将核主元分析和多支持向量机分类结合用于密闭鼓风炉过程监控与故障诊断。该方法首先用核主元分析方法对过程数据进行特征提取,然后,将代表过程特征的核主元送入多支持向量机分类器中进行故障诊断与分类。该方法的示意图如图1所示。
图1 基于KPCA-SVM的ISF过程监控诊断图
Fig. 1 Graph of process monitoring and diagnosis for ISF based on KPCA-SVM
3.2 密闭鼓风炉过程监控诊断模型的功能
对应图1 所示的智能模型结构,其中主要模块的功能如下:
a. 数据采集与处理模块。对采集到的数据进行消噪和校正。其目的是剔除一些明显的测量误差(即粗噪误差),确保每一个传感器的测量数据都是有效的。
b. 智能数据分析与监视模块。主要采用统计数据处理方法即核主元分析(KPCA)对数据进行分析,以实现故障或异常工况的检测、分离、重构等。通过核主元分析对每一时刻的测量数据进行T2和Q检验,便可判断过程是否发生故障。
c. 故障诊断模块。该层利用SVM对故障进行识别分类,完成故障源的识别、故障原因的判断等。
d. 监督控制层。由于原料性质的波动、外界环境变化等因素,常常使得按标称模型设计的控制器达不到预先设计的性能指标,监督控制层通过改变设定值或控制器的参数来使过程达到预先设计的性能指标。因此,它需要接受来自数据校正模块的数据信息以及故障诊断模块的诊断信息,对过程当前的状态进行评估,预测事故状态。当出现非正常状况时,通过将信息传递给常规控制层对生产过程进行干预,以防止事故的发生。
4 应用实例
整个熔炼过程中控制的还原能力比炼铅鼓风炉的强,比炼铁高炉的弱。当烧结过程生产出具有一定强度和透气性的烧结块后,按一定比例与预热过的焦炭一起装入密闭鼓风炉内。密闭鼓风炉从不同的风口向炉内鼓入热风,其中炉底风口的热风温度较高,具有一定热量的氧气与焦炭中的碳反应生成CO,并放出大量的热量,为氧化物的还原反应进一步提供热量。而CO用于还原ZnO和PbO。
由于密闭鼓风炉是一个封闭的空间,冶金化学反应在里面激烈进行。为了保证密闭鼓风炉的正常生产,所检测数据量大,目前,熔炼过程有关的检测参数有123个。熔炼过程最关键的问题是维持炉况的稳定,并对当前炉况做出判断,及时检测数据的变化,以获得工况变化的趋势。
密闭鼓风炉的结构和生产流程如图2所示。
图2 密闭鼓风炉的结构和生产流程图
Fig.2 Structure and produce process of imperial smelting furnace
采用某冶炼厂密闭鼓风炉(ISF)的实际数据进行仿真分析和研究,以验证算法的有效性。
根据现场调研和专家经验,密闭鼓风炉主要状态有5个:正常状态(S0)、悬料(S1)、炉渣粘结(S2)、炉身结瘤(S3)和炉顶结瘤(S4)。在实际生产控制过程中,很多检测数据用于监视密闭鼓风炉的生产状况,实际上,能直接反映炉况的数据只有一部分。根据几十年的生产情况和专家经验,选取20个主要变量对炉况进行KPCA研究,结果见表1。
表1 密闭鼓风炉过程变量
Table 1 Imperial smelting furnace process variable
4.1 密闭鼓风炉的核主元分析模型及其分析
以某冶炼厂密闭鼓风炉为例建立KPCA模型。首先,取正常工况稳态下20个过程变量的350个采样数据。在现场每5 min记录1次数据共350个数据,相当于30 h正常生产状况参数,建立KPCA模型,这样,可以保证模型的可靠性。经过多次取值试验,KPCA中的核函数采用径向基函数,取σ=0.10,KPCA可以达到较好的降维和分类效果。由于前6个主元的方差累计大于85%,故取核主元数K=6。相应地,控制限=8.580 4,其对应于99%的置信限。下面以故障1状态为例进行分析。在故障1状态下,获得 150 组测试数据用于过程在线监控(采样时间为5 min)。
为了进行对比,PCA方法也被用于过程监控,其主元数为 6,Q统计量控制限为 16.35,对应于 99%的置信限。故障1的Q统计量如图3所示,图中虚线表示控制限。
从图3可知,基于 KPCA的过程监控效果要优于传统PCA方法的监控效果。采用传统的PCA方法不仅误判率高,而且存在无法判断故障存在的情况。而基于 KPCA 的方法误判率低,判别率达100%。
(a) PCA方法;(b) KPCA方法
图3 故障1的Q统计量
Fig.3 Q statistic values for fault 1
因此,可以利用KPCA模型得到各类型样本数据的统计量变化来监控密闭鼓风炉熔炼生产过程。根据数据统计量变化情况,可以确定是否出现故障,若有故障,则再利用支持向量机对其进行识别分类。
4.2 多类SVM故障诊断系统的训练
对每个变量在每一种状态下各获取20组数据,利用支持向量机对经核主元分析得到的100组训练样本进行训练。在100组训练数据中,处于正常状态、悬料、炉渣粘结、炉身结瘤、炉顶结瘤5种类型的样本数均为20。分类采用“1对其余”算法,共构建4个支持向量机(SVM1~SVM4)。经过类中心距离划分,5类样本按距离由远到近的次序为:正常状态,悬料,炉渣粘结,炉身结瘤和炉顶结瘤。因此,SVM1用100个样本进行训练,SVM2用悬料、炉渣粘结、炉身结瘤、炉顶结瘤80个样本进行训练,SVM3用炉渣粘结、炉身结瘤、炉顶结瘤60个样本进行训练,SVM4用炉身结瘤、炉顶结瘤40个样本进行训练。经过比对分析,选择Gauss型函数作为SVM核函数,取C=1,δ2= 1。
4.3 鼓风炉故障的分类诊断
利用密闭鼓风炉(ISF)已知故障类别的50组检验多支持向量机的有效性。各类故障的训练和测试结果如表2所示。
表2 多支持向量机分类器的分类结果
Table 2 Results of MSVMs classifier
从表2可知,采用多支持向量机可以有效地分离各个故障,分辨率几乎达100%。
5 结 论
a. KPCA方法使整个样本集的可分性变大,提高了分类器的分类正确率,表明采用非线性方法是有 效的。
b. SVM算法既具有较强的分类能力,又避免了复杂的计算,有利于提高故障诊断模型的实时性能。
c. 将KPCA与SVM结合建立的过程监控诊断方法,充分发挥了核主元分析与支持向量机技术各自的优点,能快速反映整个生产过程的变化和故障,可以在线实时工作,适合在类似工业过程中推广应用。
参考文献:
[1] Akbarvan F, Bishnoi P R. Fault diagnosis of multivariate systems using pattern recognition and multi-sensor data analysis technique[J]. Computers and Chemical Engineering, 2001, 25(9): 1313-1339.
[2] 徐章遂, 房立清, 王希武, 等. 故障诊断信息原理及应用[M]. 北京: 国防工业出版社, 2000: 33-35.
XU Zhang-sui, FANG Li-qing, WANG Xi-wu. Fault diagnosis information principle and its application[M]. Beijing: National Defence Industry Press, 2000: 33-35.
[3] Scholkopf B, Smola A, Muller K R. Nonlinear component analysis as a kernel eigenvalue problem[J]. Neural Computation, 1998, 10(5): 1299-1319.
[4] Scholkopf B, Smola A, Muller K R. Kernel principal component analysis[C]//Advances in Kernel Methods-support Vector Learning. Cambridge MA: MIT Press, 1999: 327-352.
[5] 何学文, 赵海鸣. 支持向量机及其在机械故障诊断中的应用[J]. 中南大学学报: 自然科学版, 2005, 36(1): 97-101.
HE Xue-wen, ZHAO Hai-ming. Support vector machine and its application to machinery fault diagnosis[J]. Journal of Central South University: Science and Technology, 2005, 36(1): 97-101.
[6] 刘爱伦, 袁小艳, 俞金寿. 基于KPCA-SVC的复杂过程故障诊断[J]. 仪器仪表学报, 2007, 28(5): 868-872.
LIU Ai-lun, YUAN Xiao-yan, YU Jin-shou. Fault diagnosis of complex chemical process based on KPCA-SVC[J]. Chinese Journal of Scientific Instrument, 2007, 28(5): 868-872.
[7] 陈丙珍. 人工神经网络在过程工业中的应用[J]. 中国有色金属学报, 2004, 14(S1): 106-111.
CHEN Bing-zhen. Applications of artificial neural networks in process industry[J]. The Chinese Journal of Nonferrous Metals, 2004, 14(S1): 106-111.
[8] 刘晓颖, 桂卫华, 朱 爽. 铅锌冶炼过程的故障诊断神经网络专家系统[J]. 上海海运学院学报, 2001, 22(3): 97-99.
LIU Xiao-ying, GUI Wei-hua, ZHU Shuang. Fault diagnosis on neural network expert system for lead and zinc smelting process[J]. Journal of Shanghai Maritime University, 2001, 22(3): 97-99.
[9] 唐朝晖, 桂卫华, 吴 敏. 密闭鼓风炉铅锌熔炼的统计过程监测系统设计[J]. 计算机与应用化学, 2007, 24(2): 155-158.
TANG Zhao-hui, GUI Wei-hua, WU Min. Statistical monitoring system design for imperial smelting furnace of Pb-Zn smelting process[J]. Computers and Applied Chemistry, 2007, 24(2): 155-158.
[10] Lee J M, Yoo C K, Choi S W, et al. Nonlinear process monitoring using kernel principal component analysis[J]. Chemical Engineering Science, 2004, 59(1): 223-234.
[11] Cortes C, Vapnic V. Support vector networks[J]. Machine Learning, 1995, 20(1): 1-25.
[12] Burges C J C. A tutorial on support vector machines for pattern recognition[J]. Data Mining and Knowledge Discovery, 1998, 2(2): 121-167.
[13] Vapnic V. Statistical learning theory[M]. New York: Wiley, 1998.
[14] YUAN Sheng-fa, CHU Fu-lei. Support vector machines-based fault diagnosis for turbo-pump rotor[J]. Mechanical Systems and Signal Processing, 2006, 20(4): 939-952.
[15] JIANG Shao-hua, GUI Wei-hua, YANG Chun-hua, et al. Fault diagnosis of lead-zinc smelting furnace based on multi-class support vector machines[C]//Proceedings of 2007 IEEE International Conference on Control and Automation. Guangzhou, 2007: 1643-1648.
收稿日期:2008-09-20;修回日期:2008-12-15
基金项目:国家自然科学重点基金资助项目(60634020);国家自然科学基金资助项目(60574030);国家教育部博士点基金资助项目(20050533016)
通信作者:蒋少华(1966-),女,广西桂平人,博士研究生,高级工程师,从事智能控制、复杂过程故障诊断等研究;电话:0731-88830394;E-mail: sgjsh66@hotmail.com