首页> 中国专利> 基于蒙特卡洛交叉验证的多个软测量算法集群建模方法

基于蒙特卡洛交叉验证的多个软测量算法集群建模方法

摘要

本发明公开了一种基于蒙特卡洛交叉验证的多个软测量算法集群建模方法,对模型集群分析方法的模型评价方面和离群值查找方面进行了系统的应用,尝试构造一个在模型集群分析方法框架下的集成学习系统。在离群值查找方面,采用基于模型集群分析方法的蒙特卡洛交叉验证算法,在剔除离群值后,选择多种软测量算法对工业过程进行建模,再对各软测量算法的预测结果进行集成。在模型评价方面,通过产生大数量训练集群,消除训练集的选择对于模型评价结果的影响,提高数据的多样性。相比目前的其他方法,本发明通过剔除离群值,提高了预测的精确度,从统计学的角度分析各个算法在剔除离群值前后的整体预测效果的变化。

著录项

  • 公开/公告号CN106897774A

    专利类型发明专利

  • 公开/公告日2017-06-27

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN201710056647.X

  • 发明设计人 葛志强;陆建丽;

    申请日2017-01-25

  • 分类号G06N7/00(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构33200 杭州求是专利事务所有限公司;

  • 代理人邱启旺

  • 地址 310058 浙江省杭州市西湖区余杭塘路866号

  • 入库时间 2023-06-19 02:40:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-18

    授权

    授权

  • 2017-07-21

    实质审查的生效 IPC(主分类):G06N7/00 申请日:20170125

    实质审查的生效

  • 2017-06-27

    公开

    公开

说明书

技术领域

本发明属于工业过程控制领域,尤其涉及一种基于蒙特卡洛交叉验证的多个软测量算法集群建模方法。

背景技术

近年来,由于工业生产的效益和质量要求,软测量已经成为一个重要的研究领域。在化工、发酵、生物、冶金、石油、食品等过程工业中,若要实现卡边控制、使生产装置运行于最佳的工作状况、生产更多的优质产品,就需要严格控制许多重要的过程变量。然而,往往很难用在线传感器直接把这些重要的过程变量测出来,因此就出现了软测量的方法。

在软测量建模之前有必要进行数据预处理,比如数据归一化、离群值剔除等。归一化处理是把选定的数据按照给定方法变为[0,1]之间的数。归一化的目的是使数据尽量在同一个数量级上,避免因各个变量的差异较大而使预测结果不精确。离群值是指在数据中有一个或几个数值与其他数值相比差异比较大的数据,也叫奇异值、极端值。它产生的原因是由于实验条件和方法的偶然性,或观测、记录、计算时的失误,或者是真实而正常的数据,只是在这次实验中表现得有些极端。离群值的存在会影响整个模型的预测性能,因此有必要把其剔除。

本发明对模型集群分析方法的模型评价方面和离群值查找方面进行了系统的应用,尝试构造一个在模型集群分析方法框架下的集成学习系统。在离群值查找方面,采用基于模型集群分析方法的蒙特卡洛交叉验证算法MC,在剔除离群值后,选择多种软测量算法对工业过程进行建模,再对各软测量算法的预测结果进行集成。在模型评价方面,通过产生大数量训练集群,消除训练集的选择对于模型评价结果的影响,提高数据的多样性。与以往的从一个单一的输出值上进行模型评价的方法不同,模型集群分析方法的输出是一个分布,从而可以从统计学的角度得到更多的结论。

发明内容

本发明的目的在于针对现有方法的假设局限,提供一种基于蒙特卡洛交叉验证的多个软测量算法集群建模方法。

本发明的目的是通过以下技术方案来实现的:基于蒙特卡洛交叉验证的多个软测量算法集群建模方法,其特征在于,包括以下步骤:

(1)向系统输入工业过程数据样本,对所有样本进行归一化处理,使得各个变量的均值为0,方差为1。将这些数据存入历史数据库。

(2)采用基于模型集群分析方法的蒙特卡洛交叉验证算法MC,剔除离群值。模型集群分析方法步骤是:

a)用蒙特卡洛方法从原始数据集中随机生成N(N为大于0的自然数)个子数据集;

b)对每一个子数据集都建立一个子模型(分类或者回归);

c)对N个子模型的输出进行统计分析。

蒙特卡洛交叉验证算法的步骤是按照模型集群分析方法的框架来制定的,它的步骤是:

a)用蒙特卡洛方法从原始数据集中随机生成N个训练子集和N个测试子集;

b)建立N个模型,在N个测试集上进行预测;

c)对于原始数据集当中的每一个样本都有一群预测误差,对这群预测误差进行统计分析。

可以算出每一个样本的预测误差的均值和方差,将预测误差的均值和方差分别作为横坐标和纵坐标,就可以得到一幅图像,通过把图像分割成四个区域,能够区分正常样本和离群值。预测误差均值和方差最小的区域,就是正常样本区。将其他区域的样本剔除,那么离群值移除就完成了。

将剔除离群值后的n(n为大于0的自然数)个正常样本存入历史数据库。再按照模型集群分析方法步骤进行接下来的步骤(3)至(5)。

(3)采用基于蒙特卡洛算法的二元矩阵采样法BMS从剔除离群值后的数据集中抽取a%(50≤a≤80)的样本作为训练样本,剩下的作为测试样本,具体步骤是:在正常样本集中随机选择a%的样本标1,剩下的标0,标1的位置代表该样本被选中作为训练集样本,标0的作为测试集样本。BMS重复抽样N次,共生成N个训练集和N个测试集。将这些数据存入历史数据库。

(4)选择适用于不同工业过程特性的m(m为3≤m≤8的自然数)个软测量算法作为集成学习的子算法。从数据库中调用N个训练集,并用软测量子模型算法对这些训练集分别建立N个子模型,然后调用数据库中对应的N个测试集进行预测。设每个子模型得到的预测结果为:

yi,j(t),i=1,2,…,m,j=1,2,…,N,t=1,2,…,n×(1-a%)

设测试集的真实结果为:

Yi(t),i=1,2,…,N,t=1,2,…,n×(1-a%)

通过下式求得各个子模型算法各自的N个均方根误差RMSEPi,j

将建模数据和各个软测量子模型算法参数存入历史数据库中备用。

(5)从数据库中调用建模数据,采用贝叶斯集成算法对m个软测量子模型算法进行集成,得到各个子算法分配的权重,存入历史数据库中备用,具体步骤如下:

a)通过下式求得贝叶斯集成算法的系数Zi

设Mi代表第i个子算法模型,贝叶斯先验概率被设为:

设S代表测试数据集,贝叶斯似然概率为:

贝叶斯后验概率为:

b)最后再对每一个子模型的预测值进行加权求和,得到最终的预测值:

离线建模完成。计算出贝叶斯集成模型的N个均方根误差。将各个子模型和贝叶斯集成模型的剔除离群值前后的均方根误差进行统计分析,评价模型优劣。

(6)将在线过程数据输入系统,经过m×N个软测量算法模型预测后,根据之前得到的权重,通过贝叶斯集成求得待预测过程数据的最终预测结果分布范围。

本发明的有益效果是:本发明针对离群值问题,提出了基于蒙特卡洛交叉验证的多个软测量算法集群建模方法。相比目前的其他软测量方法,本发明通过剔除离群值,提高了预测的精确度,并采用了模型集群分析来进行模型评价,从统计学的角度来评价模型的好坏,由此可以看到各个算法在剔除离群值前后的整体预测效果的变化。

附图说明

图1是模型集群分析方法的流程图;

图2为正常样本与离群值区域分割示意图;

图3为二元矩阵采样方法BMS的示意图;

图4是基于蒙特卡洛交叉验证的多个软测量算法集群建模方法的流程图;

图5为各个样本的预测误差的均值和方差分布图;

图6为A、B、C、D四个样本点的均方根误差分布图;

图7为各个算法在离群值剔除前后的均方根误差分布的统计图,其中,(a)为PCR算法在离群值剔除前后的均方根误差分布的统计图,(b)为PLS算法在离群值剔除前后的均方根误差分布的统计图,(c)为ICR算法在离群值剔除前后的均方根误差分布的统计图,(d)为KPLS算法在离群值剔除前后的均方根误差分布的统计图,(e)为BP算法在离群值剔除前后的均方根误差分布的统计图。

具体实施方式

本发明为了克服离群值问题,对模型集群分析方法的模型评价方面和离群值查找方面进行了系统的应用,尝试构造一个在模型集群分析方法框架下的集成学习系统。在离群值查找方面,采用基于模型集群分析方法的蒙特卡洛交叉验证算法MC,在剔除离群值后,选择多种软测量算法对工业过程进行建模,再对各软测量算法的预测结果进行集成。在模型评价方面,通过产生大数量训练集群,消除训练集的选择对于模型评价结果的影响,提高数据的多样性。

以下结合一个具体的工业过程的例子来说明本发明的有效性。在合成氨工艺过程中,甲烷脱碳单元会产生氢气,碳元素却仍以CO与CO2的形式存在。高-低温度转换单元的作用就是把CO转换成CO2,而CO2能够被CO2吸收塔吸收,并在尿素合成单元作为原料重新利用。CO变换是先后在过程中按如下反应式进行:

变换后气体仅含CO 0.29%(干基体积)。变换反应增加了H2,同时产生与CO等量的CO2。该反应在催化剂存在时进行,低温和高蒸汽浓度有利于平衡,而高温有利于反应速度,但高蒸汽浓度将使反应速度明显降低,因大气量会导致缩短(与触媒的)接触时间。高-低温度转换单元共27个变量,如表1所示,其中包括26个常规过程变量和1个质量变量,出口CO含量。

参考图4,根据基于蒙特卡洛交叉验证的多个软测量算法集群建模方法的流程图,本发明采用的技术方案的主要步骤分别如下:

第一步向系统输入3000个工业过程数据样本,对所有样本进行归一化处理,使得各个变量的均值为0,方差为1。将这些数据存入历史数据库。

第二步用基于模型集群分析方法的蒙特卡洛交叉验证算法MC,剔除离群值。模型集群分析方法的如图1所示,步骤是:

a)用蒙特卡洛方法从原始数据集中随机生成N(N为大于0的自然数)个子数据集;

b)对每一个子数据集都建立一个子模型(分类或者回归);

c)对N个子模型的输出进行统计分析。

蒙特卡洛交叉验证算法的步骤是按照模型集群分析方法的框架来制定的,它的步骤是:

a)用蒙特卡洛方法从3000个工业过程数据样本集中随机生成N(N=1000)个训练子集和N个测试子集;

b)建立N个模型,在N个测试集上进行预测;

c)对于原始数据集当中的每一个样本都有一群预测误差,对这群预测误差进行统计分析。

可以算出每一个样本的预测误差的均值和方差,将预测误差的均值和方差分别作为横坐标和纵坐标,得到如图5所示的图像。通过平均值MEAN=0.01和方差STD=0.0004的直线把图像分割成四个区域,图5中预测误差均值和方差最小的左下角的区域,就是正常样本区。将其他区域的样本剔除,剩下n(n=2733)个正常样本。

将四个区域的分别的点A、B、C、D的预测误差的分布画在图6中。由图6可知,位于正常样本区的D点预测误差最小,其他区域的三个点预测误差的方差或者均值比较大,是离群值。对于3000个样本,蒙特卡洛交叉验证方法能够使每一个样本点都有一群预测误差的原因是:蒙特卡洛重复了1000轮,在每一轮中,选取70%的样本作为训练集,剩下30%的样本作为测试集。对于一个样本来说,它在本轮被抽中作为训练集样本,在下一轮有可能被抽中作为测试集样本,它在1000轮中被抽中作为测试集样本的概率也接近30%,也就是1000轮结束之后,一个样本有300多个预测误差,因此对每个样本都可以求得各自的300多个预测误差的均值和方差,画出图6,判断出离群值。如图6的频数直方图所示,A、B、C、D每个样本预测误差的频数都为300多个。

将剔除离群值后的2733个正常样本存入历史数据库。再按照模型集群分析方法步骤进行接下来的步骤三至步骤五。

第三步采用基于蒙特卡洛算法的二元矩阵采样法BMS从剔除离群值后的数据集中抽取a%(a=70)的样本作为训练样本,剩下的作为测试样本,具体步骤是:在正常样本集中随机选择a%的样本标1,剩下的标0,标1的位置代表该样本被选中作为训练集样本,标0的作为测试集样本。BMS重复抽样N(N=1000)次,共生成N个训练集和N个测试集。如图3所示,每一行代表一轮采样结果,每一列代表该样本在各轮采样中被选中的情况。将这些数据存入历史数据库。

第四步选择适用于不同工业过程特性的m(m=5)个软测量算法作为集成学习的子算法。选择适用于线性过程的主元分析法PCR、偏最小二乘法PLS,适用于非线性过程的BP神经网络、KPLS核最小二乘法,以及适用于非高斯过程的独立成分分析法ICR作为集成学习的子模型算法。通过反复测试,将PCR、PLS的主元个数选为14,将ICR的独立主元个数选为11,KPLS的核参数选为35,BP神经网络的层数选择单层,节点数选择3。从数据库中调用N个训练集,并用软测量子模型算法对这些训练集分别建立N个子模型,然后调用数据库中对应的N个测试集进行预测。设每个子模型得到的预测结果为:

yi,j(t),i=1,2,…,m,j=1,2,…,N,t=1,2,…,n×(1-a%)

设测试集的真实结果为:

Yi(t),i=1,2,…,N,t=1,2,…,n×(1-a%)

通过下式求得各个子模型算法各自的N个均方根误差RMSEPi,j

将建模数据和各个软测量子模型算法参数存入历史数据库中备用。

第五步从数据库中调用建模数据,采用贝叶斯集成算法对m个软测量子模型算法进行集成,得到各个子算法分配的权重,存入历史数据库中备用,具体步骤如下:

a)通过下式求得贝叶斯集成算法的系数Zi

设Mi代表第i个子算法模型,贝叶斯先验概率被设为:

设S代表测试数据集,贝叶斯似然概率为:

贝叶斯后验概率为:

b)最后再对每一个子模型的预测值进行加权求和,得到最终的预测值:

离线建模完成。计算出贝叶斯集成模型的N个均方根误差。如图7所示,将各个子模型和贝叶斯集成模型的剔除离群值前后的均方根误差进行统计分析,评价模型优劣。

第六步将在线过程数据输入系统,经过m×N个软测量算法模型预测后,根据之前得到的权重,通过贝叶斯集成求得待预测过程数据的最终预测结果分布范围。

图7为各个算法在离群值剔除前后的均方根误差分布的统计图,(a)为PCR算法在离群值剔除前后的均方根误差分布的统计图,(b)为PLS算法在离群值剔除前后的均方根误差分布的统计图,(c)为ICR算法在离群值剔除前后的均方根误差分布的统计图,(d)为KPLS算法在离群值剔除前后的均方根误差分布的统计图,(e)为BP算法在离群值剔除前后的均方根误差分布的统计图。由图7可知对于贝叶斯集成模型和任意一个子算法模型来说,用蒙特卡洛交叉验证方法剔除离群值后的均方根误差的分布更靠左,均方根误差RMSEP的平均值更小,分布的标准差基本也有减小,也就是剔除离群值后的预测精度提高了。

最终可以得到如下的结论:

结论一,在模型评价方面,模型评价的指标在软测量预测中通常用的是均方根误差,但在模型集群分析方法中,预测结果好坏的评价指标是均方根误差的分布。采用了蒙特卡洛随机采样的方法,这能够最大限度地减少训练集样本的选择对于模型评价结果的影响,减少对于被选择出作为训练集的子样本的依赖;并且从统计学的角度来评价模型的好坏,我们可以看到剔除离群值前后的整体预测效果变化,能够得到更多的信息。

结论二,在离群值剔除方面,基于模型集群分析的蒙特卡洛交叉验证算法对每一个样本点都得到一群预测误差,按照每个样本的预测误差的均值和方差可以得到样本点的分布图,由图中可以根据区域划分清楚地选择出正常样本区。

根据本发明的实施例,基于蒙特卡洛交叉验证的多个软测量算法集群建模方法在剔除了离群值后,提高了预测精确度,采用了模型集群分析来进行模型评价,从统计学的角度来评价模型的好坏,由此可以看到剔除离群值前后的整体预测效果变化,得到更多的信息。充分地对模型集群分析方法的模型评价方面和离群值查找方面进行了系统的应用。

表1:输入输出变量说明

上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号