基于主成分分析与K近邻分类算法的化工干燥分类模型-辽宁化工2022年05期

浏览: 0

导读:摘 要:PVC的干燥是一个复杂的操作,产品的含水量受到流量、温度等多个参数的影响。为了对化工厂中的PVC干燥产品质量进行实时监测和评价,使用基于数据的模型对过程进行了研究。对于数据中判断出的异常值,使用KNN算法进行填补。根据数据的相关性得到了各参数之间的时间差,以消除干燥流程中时间对参数的影响。采用主成分分

摘  要:PVC的干燥是一个复杂的操作,产品的含水量受到流量、温度等多个参数的影响。为了对化工厂中的PVC干燥产品质量进行实时监测和评价,使用基于数据的模型对过程进行了研究。对于数据中判断出的异常值,使用KNN算法进行填补。根据数据的相关性得到了各参数之间的时间差,以消除干燥流程中时间对参数的影响。采用主成分分析法(PCA)对高维度特征数据进行降维,基于之前研究得到的预测模型,采用K近邻分类算法(KNN)对分类模型进行改进,构造了一个PVC含水量的预测模型。使用实际生产数据检验,证明此模型有良好的预测准确率。

关  键  词:PVC干燥;填补缺失值;时间差;主成分分析法;K近邻分类算法;预测模型

中图分类号:TQ015.9  文献标识码: A 文章编号: 1004-0935(20202022)0×5-00000696-0×

流化床干燥过程是一个复杂的过程,原因之一是流化床内部是动态流动、传热和传质的过程,而不是一个稳态的过程。正是由于过程的复杂性,单纯从机理出发的模拟难于解决实际流程中的问题。基于大数据分析的模型建立及人流化床干燥过程是一个复杂的过程,原因之一是流化床内部是动态流动、传热和传质的过程,而不是一个稳态的过程。正是由于过程的复杂性,单纯从机理出发的模拟难于解决实际流程中的问题。工智能是一种有效的方式。对于传统化工的流程工业领域来说,人工智能与其融合度较低,仍然存在较大的发展空间[1]。

PVC流化床干燥器是生产中重要的一个干燥设备。湿物料以流体的形式被输送到流化床干燥其中,在流化床干燥器内部进行干燥操作。由于测温点只存在于固定的几个位置,所以如果在产品干燥结束后发现产品含水量不合格,那就会增加成本。这时如果有可以实时监控产品含水量的设备,那就会在产品干燥结束前发现不合格的产品,从而进行继续干燥,这样可以节省很多时间和成本。

本文试通过于实际生产数据的分析,得到较准确的数据驱动模型。主要解决了下述问题:现场得到的数据中存在一些意外及缺失数据,影响数据分析的进行。本文通过使用KNN的思想,采用python 3.0的sklearn库中的KNNImputer方法,对异常值进行填充;由于物料在干燥器中的流动,使得不同位置的数据变化存在时间上的先后次序影响。本文通过计算不同测温点和产品出口处的含水量的相关性系数,来确定最佳的时间间隔,从而消除时间的影响;实际的测量点较多,文章通过主成分分析法(PCA)进行降维,简化了数据的特征,并在此基础上进行了分类模型的构建。

本文通过数据预处理,找出每个测温点到产品出口的时间长度,构建同一物料在不同时间不同测温点的数据表格,随后将主成分分析法(PCA)和K近邻分类算法(KNN)相结合,构造实时监测的分类模型。

1  基于主成分分析法(PCA)的K近邻(KNN)分类模型的设计

1.1  KNN算法填充异常值的描述

常见的缺失值填充的方法有以下几种方法:固定值填充、均值填充、众数填充、中位数填充、上下数据填充、插值法填充等。这些常见的填补异常值的方法,虽然可以对大部分数据集进行填充,但是对于个别数据波动较大的数据集来说,这些填充进去的数据不会很精确[3,-4]。而通过KNN算法填充时根据邻近的多个“邻居”来计算所需填充的异常值,会让计算得到的填充值更为贴近邻近的数据,让得到的数据相对于上述方式得到的数据更加精准,所以本文采用KNN算法来对异常值进行填充。KNNImputer 方法的思想是找到数据空间中距离最近的K 个样本,然后通过这 K 个样本来估计缺失数据点的值。缺失值可以用 K 个相邻样本点的均值、中位数、众数或者常数进行填充。KNNImputer 预测的步骤是选择其他不存在缺失值的列,同时去除需要预测缺失值的行和列,然后计算欧氏距离找到 K 个近邻点。如果是离散的缺失值,则使用 KNN 分类器,投票选出 K 个邻居中最多的类别进行填补;如果是连续的变量,则用 KNN 回归器,使用K个邻居的平均值进行填补[7]。

1.2  主成分分析法(PCA)描述

主成分分析法(PCA)是一种用于探索高维数据的技术。PCA通常用于高维数据集的探索与可视化。还可以用于数据压缩,数据预处理等。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。PCA的基本思想如下:将具有一定相关性的多个原始变量,通过组合变换,得到一组互相无关的综合变量。从中选取几个较少的能够在很大程度上反映原始变量信息的综合变量,就是主成分,新的低维数据集会尽可能的地保留原始数据的变量,可以将高维数据集映射到低维空间的同时,尽可能的地保留更多变量。主成分之间是互不相关的,且是原始变量的线性组合[1]。

1.3  K近邻(KNN)分类算法的描述

K近邻算法的核心思想是:如果一个实例在特征空间中的K个最相似(即特征空间中最近邻)的实例中的大多数属于某一个类别,则该实例也属于这个类别。所选择的邻居都是已经正确分类的实例。

该算法假定所有的实例对应于N维欧式空间中的点。通过计算一个点与其他所有点之间的距离,取出与该点最近的K个点,然后统计这K个点里面所属分类比例最大的,则这个点属于该分类[1-2]。该算法涉及3个主要因素:实例集、距离或相似的衡量、K的大小。

KNN算法的实现就是取决于,未知样本和训练样本的“距离”。而我们计算“距离”可以利用欧式距离算法,如式(1):

(1)

1.3  4  基于PCA的KNN分类模型的实现方案

(1)获取工厂实际数据,整理数据,对数据进行预处理。

(2)数据清洗。数据清洗是一项复杂且繁琐的工作,同时也是整个数据分析过程中最为重要的环节。实际的工作中确实如此,数据清洗的目的有两个,第一是通过清洗让数据可用。第二是让数据变的得更适合进行后续的分析工作[5]。本文通过箱线图四分位方法计算得到异常值,并通过KNN算法计算得到的数据对异常值进行替换,从而完成数据清洗的工作。

(3)通过python3.0的内置函数计算相关系数,通过相关性系数的大小来寻找时间步长。由于工厂操作人员给出整个流程时间不超过120 min,所以通过循环,从时间间隔为0到120进行循环计算,找出相关性最高的对应的时间长度,此时的时间长度就是最佳的时间间隔。随后再在经过预处理的数据文件上减去时间步长,将数据处理成为同一流股物料在不同测温点时对应的数据。

(4)由于实际数据的特征有10个,和一个干燥后的产品的含水量。所以本文通过主成分分析法(PCA)对数据进行操作。通过python3.0的sklearn库来调用PCA方法,并做出降维时保留90%的数据信息的限制。通过PCA,既可以减少数据的特征值的个数,又可以极大的保留最大程度的地数据信息,不会因为降维,使数据信息丢失很多。

(5)经过PCA降维后的数据,通过调用sklearn库的train_test_split方法将他们划分训练集与测试集,用来训练KNN分类模型。其中训练集占比80%,测试集占比20%。

(6)划分好训练集与测试集后,将训练集给KNN模型进行训练,通过对训练集的训练,构造KNN模型。

(7)通过测试集来验证训练的KNN模型的准确率。

2  数据预处理

2.1  实验平台描述

通过Anaconda3.0自带的Jupyter Notebook中的python3.0进行实验。

2.2  获取数据

数据是由工厂现场的数据文件获得的。由于温度对于含水量的影响是最大的,本次分析主要对温度测量值进行分析。其中测温点有10个。而AIA2203.PV为产品的含水量。样本包括了1 440个时间点的数据。

2.3  数据清洗

1).判断数据中的异常值

通过箱线图四分位方法计算,此方法可用于识别一组数据中的异常值。

具体方法如下:

(2)

其式中:中Q3—代表上四分位数;,

Q1—代表下四分位数;,

K—代表系数,可以取值1.5。

在最大值最小值之间的值就是可接受范围内的数值,这两个值之外的数认为是异常值[6]。

2).异常值填充

这里我们选择用KNN算法对异常的数据进行填充,使用Sklearn中的KNNImputer方法[8]对缺失值进行填充,这个基于KNN算法的新方法使得我们现在可以更便捷地处理缺失值,并且与直接用均值、中位数相比更为可靠。利用“近朱者赤”的KNN算法原理,这种插补方法借助其他特征的分布来对目标特征进行缺失值填充。

2.4  寻找最优时间间隔

由于流化床干燥过程属于过程工艺,所以是持续作业。也正是由于流动,所以测温点每次读取的数据,都不是同一物料对应的温度,这就导致在同一时刻读取的产品含水量和产品在干燥时的温度并不是对应的。为了解决这个问题,就要找到某一微元物料在不同测温点距离到产品干燥结束时的时间间隔。在考虑时间间隔后,这时每条的数据才是同一微元物料在不同测温点的数据信息,也才与最终的含水量相关[9.-10]。

通过工厂现场的数据得知,整个干燥流程不超过2 h,所以采用了逐步计算不同测温点在不同时间长度下(2 h内)的相关性系数,寻找相关性最大时对应的时间差,以此来判断不同测温点距离产品出口的时间间隔。通过自定义函数里采用循环来执行此计算过程。最后得到的时间差如下表2。

3  模型的建立

3.1  通过主成分分析法(PCA)对数据降维

通过调用sklearn库中的PCA方法,对数据进行降维。在降维时,规定保留90%的数据信息,使/1xpToLdMop8yiimY7p/Whmkw1/mfPpzo7PQYbSonpE=数据在降维时较少的损失数据信息。其中,表3为降维后的主成分部分特征数据;表4为主成分的方差贡献率。

根据上表可知,经过PCA降维,降成了4个维度,而这四个维度的数据信息包含了91.1%的原始数据信息。所以选择这四4个主成分进行构建KNN分类模型。含水量合格情况计数表见表5。

3.2  划分训练集与测试集

通过调用sklearn库的train_test_split方法来进行训练集与测试集的划分。把新构建的数据集new_X中经过PCA降维后得到的4个主成分PC1,PC2,PC3,PC4对应的数据作为X,将新构建的数据集new_X中的产品是否合格对应的数据作为Y。分别对X和Y进行划分为X_train,X_test,Y_train,Y_test。分别对应X与Y的训练集与测试集。。

3.3  训练KNN分类模型

通过调用sklearn库中的KNN方法,对划分好的训练集X_train,Y_train进行训练,得到一个KNN分类模型。

3.4  验证模型的精确度

根据式4计算KNN分类模型的预测准确率为87.547%,可以认为该训练模型拥有较好的分类准确率,可以用于实时监测产品的含水量。

(4)

根据式4计算KNN分类模型的预测准确率为87.547%,可以认为该训练模型拥有较好的分类准确率,可以用于实时监测产品的含水量。

4  结 论

本文在数据清洗时,使用KNN算法对异常值进行填充,随后将主成分分析法(PCA)和K近邻分类算法(KNN)相结合,构造了一个基于低维度数据的同时,保留了90%的数据信息的分类模型。可以极大的地减少基于机理的化工建模计算中的复杂信息,大大的地提高了计算效率。同时,建立的分类模型的准确率高达87.547%,是拥有不错的分类能力的一类模型。而且由于很多温度点的变化时刻早于含水量的变化时刻,从而可能构建在线的预测监视系统,及时对于生产条件进行调整。本文还存在一些不足。例如在考虑测温点距离产品出口的时间长度时,采用的是计算相关值来确定的时间,并未考虑到变化在时间轴上的发散。同时,本文是基于数据驱动进行的分析,还没有更多地应用化工过程的机理进行支持。在后续的研究中会考虑加入化工方面的机理建模,将两者结合起来,以期得到更好的模型。

参考文献:

[1]鄢梦迪 秦琳琳 吴刚. 基于主成分分析和K近邻的文件类型识别算法[J]. 计算机应用 2016 36 (11): 3161-3164.

[2]郝雅娴. K-Means聚类中心最近邻推荐算法[J]. 山西师范大学学报(自然科学版) 2021 35 (01): 72-78.

[3]毛丽雯. 基于置信度的不完整数据建模与缺失值填补[D]. 大连理工大学 2021.

[4]孟令雯 张锐锋 李鑫卓 席禹等. 基于机器学习的变电站设备异常状态数据清洗[J/OL].电力系统及其自动化学报:1-8[2021-09-12]. https: //doi.org/10.19635/j.cnki.csu-epsa.000828.

[5]陈娟 王献雨 罗玲玲 崔晶晶等. 缺失值填补效果:机器学习与统计学习的比较[J]. 统计与决策 2020 36 (17): 28-32.

[6]赵云丽.利用Python实现计量检定中异常值快速剔除[J]. 工业计量 2020 30 (06): 47-48+51.

[7]张芸 宋双. 非完备数据的宽带客户流失预测[J]. 中国新通信 2021 23 (14): 125-126

[8]」HAMMAD ALHARBI H KIMURA M. Missing Data Imputation Using Data Generated By GAN[C]//2020 the 3rd International Conference on Computing and Big Data. 2020: 73-77.

[9]张春霞,王贺,张雅琴,耿乐乐,郭天霞,孙海静等.脉冲电沉积Ni-TiC复合镀层的工艺研究[J].辽宁化工,2021,50(09):1283-1286.

[10]邹彤彤,杨涛,周勇,王仲平,余来斌,王东凯,肖荣,出晓娟等.基于KNN算法的隧道地表变形监测数据异常检测分析[J].科学技术创新,2021(28):95-97.

Chemical drying classification model based on principal component

analysis and K-nearest neighbor classification algorithm

Zhang Tingxuan1,Deng Jiuning1,Wang Jie1,Sun Huaiyu1*

(1.Shenyang University of Chemical Technology  Shenyang Liaoning 110000  China)

Abstract:  In order to build a model for real-time monitoring of the quality of PVC drying products in chemical plants the KNN algorithm is used to fill out abnormal values during data cleaning and then find the time difference between various temperature measurement points to eliminate the data mismatch of each temperature measurement point at the same time in the drying process Impact. Subsequently principal component analysis (PCA) was used to reduce the dimensionality of the high-dimensional feature data. based on the prediction model of the same group of personnel in this laboratory the k-nearest neighbor classification algorithm (KNN) was used to construct the classification model for improvement and a qualified PVC product was constructed. Real-time monitoring model. The model has been proved by evaluation and data inspection to have good prediction accuracy.

Key words:  PVC drying; fill in outliers;time difference; principal component analysis method; K nearest neighbor classification algorithm; monitoring model.

免费获取咨询

今日已有1243人获取咨询

免费咨询

热门服务

更多