基于遗传算法优化最小二乘支持向量机的机械式温度仪表误
差预测方法
技术领域
本发明设计一种机械式温度仪表误差预测方法,尤其是一种基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法。
背景技术
在自动化过程仪表领域内,温度作为最基本的检测参数之一,在石油化工工业、安全生产以及汽车工业等领域中得到广泛应用。随着实际应用的场合不断增加,测量温度的环境愈加恶劣,使得具有稳定性好、抗干扰能力强的机械式温度仪表成为干扰信号较多场合下的主要测温仪器。在实际应用中较为常见的便是压力式温度仪表,在其封闭系统内充灌了低沸点液体、饱和蒸汽或者其他介质,受热膨胀之后产生压力变化,由此研发的液体压力式温度仪表同样具有使用简便、读数直观以及测温距离远等优点,但是依然会受到环境温度的影响使仪表内部结构产生额外压力导致测量误差。因此,对于机械式温度仪表误差的研究预测是实现恶劣环境下精确测温的重要工作。
在机械式温度仪表的误差补偿中,误差线性分析以及误差模型的研究是极为关键的步骤。现阶段国内外对此研究鲜有提及,目前对机械式温度仪表误差研究的方法包括PID算法和最小二乘法。PID算法在给定模型下控制稳态性能好,能够消除静差。但在温度仪表由于环境温度、特征参数以及结构改变等,在受控之前就必需根据不同的受控体和环境来设置或调整P、I、D参数,很难应用到实际测量中。应用最小二乘法对温度误差进行建模预测时,液体压力式温度仪表中波登管、毛细管以及内部交互机构之间相互耦合,且极易受到外部环境与制造误差的影响,从统计角度看,温度仪表误差呈现出非线性的趋势。因此利用传统PID算法和最小二乘法对温度仪表的误差建模预测存在相当的局限性。
发明内容
为了克服已有机械式温度仪表的误差补偿方式的精度较低、计算复杂、训练时间长的不足,本发明提供一种精度较低、简化计算、缩短训练时间的基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法。
本发明解决其技术问题所采用的技术方案是:
一种基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法,所述预测方法包括以下步骤:
(1)获得模型输入和输出,将测定机械式温度仪表的特征参数作为模型输入,采样获得仪表的误差值和误差变化率作为模型输出;
(2)对原始温度误差数据进行预处理,将数据归一化到[-1,1]区间内,生成数据集进行分组获得训练集和测试集;
(3)选取高斯径向基核函数作为最小二乘支持向量机模型的核函数,确定模型的参数组合(σ2,γ),其中γ为核参数,σ2为惩罚参数;
(4)采用遗传算法对最小二乘支持向量机的参数组合(σ2,γ)进行寻优,在全局范围内得到最优参数组合;
(5)利用寻优之后的最佳参数组合,结合训练样本集构建基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测模型;
(6)输入数据集利用训练得到的最小二乘支持向量机模型对液体压力式温度仪表误差进行预测;
(7)将温度仪表误差预测结果和实际温度误差进行对比,分析温度误差值以及温度误差变化率的变化趋势。
进一步,所述步骤(4)采用遗传算法对最小二乘支持向量机的参数组合(σ2,γ)进行寻优,过程如下:(4.1)读入温度误差数据训练样本集;
(4.2)对最小二乘支持向量机参数进行编码,随机产生初始种群;(4.3)确定种群规模,终止进化次数,交叉概率,变异概率,参数σ2和γ的初始取值范围;
(4.4)使用参数组合(σ2,γ)建立最小二乘支持向量机预测模型结合训练样本集进行模型训练,以均方根(MSE)作为种群各个个体的适应度函数衡量最小二乘支持向量机模型的准确性的判定函数;
(4.5)根据个体适应度,按照轮盘赌法规则从当前种群选出个体进入下一代进行交叉操作,产生两个新个体;
(4.6)随机选取种群中的个体以一定的变异概率进行变异操作,通过随机改变个体中的某些基因而产生新个体,并利用新个体建立模型计算适应度;
(4.7)判断适应度,若平均适应度值变化持续小于某一常数,则所得到的具有最大适应的个体作为最优解输出,算法终止;若平均适应度值没有达到要求,则重复执行以上步骤(4.4)至步骤(4.6)直至达到最大迭代次数;
(4.8)对得到的最优参数组合解译,得到最优参数组合。
再进一步,所述步骤(1)中,以液体压力式温度仪表为研究对象,其特征参数是通过分析液体压力式温度仪表的测温结构和误差特点得出,其中包括环境温度、恒温槽温度、毛细管长度、毛细管内径、波登管宽度、波登管厚度、波登管角度共七个参数;模型输出包括因环境温度引起的探头温度与实测温度的差值以及该误差值对于毛细管长度的变化率。
更进一步,所述步骤(2)中,对原始温度误差数据进行预处理,过程如下:(2.1)设置0℃、5℃、25℃、35℃、45℃、50℃、55℃作为实验数据的样本采集点,在0℃和50℃恒温槽下进行实验的温度仪表,而在5℃、25℃、35℃、45℃和55℃恒温槽下进行实验的温度仪表,由于存在20米毛细管,采集的实验数据作为误差值以及误差变化率的分析数据;
(2.2)由于数据样本中的7个输入和2个输出的差别较大且量纲不同,在建模之前对样本进行归一化处理,将各个输入和输出的值在-1到1之间:式中,x′t为t温度相对应的归一化处理后的温度数据,xt为t温度下原始温度数据,xmax为原始温度数据的最大值,xmin为原始温度数据的最小值。
所述步骤(5)中,构建基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测模型的过程如下:
(5.1)将液体压力式温度仪表误差模型转化为输入样本X为7维向量,N个样本及其输出值为(X1,X),…,(XN,X)∈Rn×R,利用最小二乘支持向量机中函数估计问题中的非线性映射函数Φ(·)将输入样本映射到高维特征空间;
(5.2)综合考虑VC维最小和经验风险最小的原则,该问题表示成为一个等式约束的优化问题,则函数回归问题描述为求解如下最优化问题的目标函数:
式中目标函数的第一项对应着模型的泛化能力,而第二项对应着模型的精确性,xi为输入样本,yi为目标值,εi∈R为误差变量,Φ(Xi):Rn→Rnh为核空间映射函数,ω∈Rnh为权向量,γ为模型泛化能力与精度之间可调参数,b为偏参量;从而构建拉格朗日函数:
式中αi(i=1,...l)是拉格朗日乘子,消除ω和εi之后,上式化为求解以下矩阵方程:其中,Y=[y1,y2,···,yi]T,Z=[φ(x1)y1,φ(x2)y2,...,φ(xl)yl]T,e=(1,1,···,1)Tα=(α1,α2,···,αl)T;根据Mercer条件带入Ω=ZZT,得Ωi1=yiy1φ(Xi)Tφ(Xj)=yiy1Ψ(Xi,Xj);
(5.3)基于最小二乘支持向量机的温度误差预测模型的决策函数表示为即为最后的预测函数,其中Ψ(Xi,Xj)采用高斯径向基核函数;
(5.4)将测试样本集数据构造成上述预测函数输入变量的形式,代入该函数得到温度误差预测结果,为了定量评价各方法的预测效果,引入均方误差(MSE)进行对比:
本发明的技术构思为:最小二乘支持向量机采用结构风险最小化准则,避免了基于经验风险最小化准则的人工神经网络拓扑结构需要验证的缺点,较好的解决了神经网络先天性高维数、局部极小、小样本等问题,具有全局寻优能力和良好的泛化推广能力,并且相对于以往的算法计算量更少。目前较多采用网格搜索与交叉验证相结合的方法优化最小二乘支持向量机的参数,该算法由初定的参数出发,在给定的参数范围内利用划分网格与将各个参数组合相互验证从而获取最佳参数组合,但因此而产生的弊端就是其计算量较大且准确性不够高,尤其是在训练集较大的情况下网格的划分对于搜索过程会造成极大的影响,因此该方法在一定程度上受到限制,遗传算法一种模拟生物进化过程的智能算法,通过模拟生物界中遗传发生的复制、交叉与变异的进化原则,从随机初始种群出发,通过群体的不断进化最终收敛到一群最适应环境的个体,求得最优解。由于其全局搜索能力、鲁棒性强和并行处理等优点,在结构设计、图像处理与函数优化等领域得到广泛应用。
因此,提出一种基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法,将遗传算法和最小二乘支持向量机结合起来,发挥各自的优点,既全面考了各个影响误差预测的各种因素,又避免了各特征参数相互耦合导致预测精度低以及原有预测方法的计算复杂、训练时间长等缺点。
本发明的有益效果主要表现在:1、本发明利用遗传算法优化最小二乘支持向量机针对温度误差值和误差变化率分别建立预测模型,简化支持向量机求解中的二次规划问题,缩减了计算时间,在学习能力和泛化能力上均好于以往的PID和最小二乘法,能够有效解决小样本、非线性、局部最优等实际难题。
2、本发明采用遗传算法对模型参数组合(σ2,γ)进行全局寻优,避免了传统最小二乘支持向量机参数寻优中的计算量大、准确性不够高尤其在训练集较大情况下搜索精度低的缺点,将遗传算法与最小二乘支持向量机相结合,很大的提高了对于温度误差预测的预测精度和预测速度。
3、本发明的基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预方法中的数学模型搭建简单,真实反映了温度误差值与误差变化率的发展趋势,并准确体现了误差与毛细管长度及环境温度的线性关系,为探求自适应补偿机构提供理论依据。
附图说明
图1为本发明基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法的具体流程图。
图2为粒子群算法优化最小二乘支持向量机的误差变化值适应度曲线。
图3为本发明基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法的误差变化值适应度曲线图。
图4为粒子群算法优化最小二乘支持向量机的误差变化率适应度曲线。
图5为本发明基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法的误差变化率适应度曲线图。
图6为支持向量机械式温度仪表误差预测方法的误差变化值预测曲线图。
图7为本发明基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法与传统最小二乘支持向量机的误差变化值预测曲线对比图。
图8为支持向量机械式温度仪表误差预测方法的误差变化率预测曲线图。
图9为本发明基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法与传统最小二乘支持向量机的误差变化率预测曲线对比图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图9,一种基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法,所述预测方法包括以下步骤:
(1)获得模型输入和输出,将测定机械式温度仪表的特征参数作为模型输入,采样获得仪表的误差值和误差变化率作为模型输出;
(2)对原始温度误差数据进行预处理,将数据归一化到[-1,1]区间内,生成数据集进行分组获得训练集和测试集;
(3)选取高斯径向基核函数作为最小二乘支持向量机模型的核函数,确定模型的参数组合(σ2,γ),其中γ为核参数,σ2为惩罚参数;
(4)采用遗传算法对最小二乘支持向量机的参数组合(σ2,γ)进行寻优,在全局范围内得到最优参数组合;
(5)利用寻优之后的最佳参数组合,结合训练样本集构建基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测模型;
(6)输入数据集利用训练得到的最小二乘支持向量机模型对液体压力式温度仪表误差进行预测;
(7)将温度仪表误差预测结果和实际温度误差进行对比,分析温度误差值以及温度误差变化率的变化趋势。
本实施例中,实验随机选择20支液体压力式(WTY-1型)开发的系列化温度仪表,环境温度为-10~55℃,相对湿度为5~95%,指示精度为1.5级,时间常数为9秒,该系列仪表克服了传统膨胀式仪表性能单一寿命短、可靠性不佳、温包体积大的缺点。其中测温元件体积分别比传统的蒸汽和气体压力式缩小了30和60倍,具有线性刻度值、温包体积小、反应速度快、灵敏度高、读数直观等特点是目前应用最广的一种机械式测温仪表。
针对这20支仪表进行了不同环境温度下、不同毛线管长度和探头及波登管有无浸入被测液体中的实验:(1)测量环境温度影响引起的仪表测量误差值的误差变化;(2)测量毛细管长度由0米到20米所引起的仪表测量误差以及随毛细管长度变化的温差变化率;(3)测量内部机构参数对测温误差的影响,因为转向机构中的波登管无法拆卸,所以本实验提前测得波登管各个互不相关的主要参数,然后在实验中将波登管及内部转向机构完全浸入被测液体测得温度误差
现参考图1详细描述本发明实施的基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测方法,包括以下步骤:(1)获得模型输入和输出,将测定机械式温度仪表的特征参数作为模型输入,采样获得仪表的误差值和误差变化率作为模型输出;(2)对原始温度误差数据进行预处理,将数据归一化到[-1,1]区间内,生成数据集进行分组获得训练集和测试集;(3)选取高斯径向基核函数作为最小二乘支持向量机模型的核函数,确定模型的参数组合(σ2,γ),其中γ为核参数,σ2为惩罚参数;(4)采用遗传算法对最小二乘支持向量机的参数组合(σ2,γ)进行寻优,在全局范围内得到最优参数组合;(5)利用寻优之后的最佳参数组合,结合训练样本集构建基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测模型;(6)输入数据集利用训练得到的最小二乘支持向量机模型对液体压力式温度仪表误差进行预测;(7)将温度仪表误差预测结果和实际温度误差进行对比,分析温度误差值以及温度误差变化率的变化趋势。
步骤(1)获得模型输入和输出进一步包括:液体压力式温度仪表的特征参数是通过分析液体压力式温度仪表的测温结构和误差特点得出,其中包括环境温度、恒温槽温度、毛细管长度、毛细管内径、波登管宽度、波登管厚度、波登管角度共七个参数;模型输出包括因环境温度引起的探头温度与实测温度的差值以及该误差值对于毛细管长度的变化率。
步骤(2)对原始温度误差数据进行预处理进一步包括:(21)设置0℃、5℃、25℃、35℃、45℃、50℃、55℃作为实验数据的样本采集点,在0℃和50℃恒温槽下进行实验的温度仪表,由于没有毛细管,采集的实验数据不能够作为分析误差随毛细管长度变化率的样本而作为误差值随特征参数变化的的分析数据;而在5℃、25℃、35℃、45℃和55℃恒温槽下进行实验的温度仪表,由于存在20米毛细管,采集的实验数据作为误差值以及误差变化率的分析数据;(22)由于数据样本中的7个输入和2个输出的差别较大且量纲不同,为了使模型中的向量机特征向量的量纲对模型的影响降低,在建模之前对样本进行归一化处理,将各个输入和输出的值在-1到1之间:式中x′t为t温度相对应的归一化处理后的温度数据,xt为t温度下原始温度数据,xmax为原始温度数据的最大值,xmin为原始温度数据的最小值。
步骤(4)采用遗传算法对最小二乘支持向量机的参数组合(σ2,γ)进行寻优进一步包括:(41)读入温度误差数据训练样本集;(42)对最小二乘支持向量机参数进行编码,随机产生初始种群;(43)确定种群规模为20,终止进化次数为500,交叉概率为0.9,变异概率为0.001,参数σ2和γ的初始取值范围分别为[10-1,102]和[10-2,103];(44)使用参数组合(σ2,γ)建立最小二乘支持向量机预测模型结合训练样本集进行模型训练,以均方根(MSE)作为种群各个个体的适应度函数衡量最小二乘支持向量机模型的准确性的判定函数;(45)根据个体适应度,按照轮盘赌法规则从当前种群选出个体进入下一代进行交叉操作,产生两个新个体;(46)随机选取种群中的个体以一定的变异概率进行变异操作,通过随机改变个体中的某些基因而产生新个体,并利用新个体建立模型计算适应度;(47)判断适应度,若平均适应度值变化持续小于某一常数,则所得到的具有最大适应的个体作为最优解输出,算法终止;若平均适应度值没有达到要求,则重复执行以上步骤(44)至步骤(46)直至达到最大迭代次数;(48)对得到的最优参数组合解译,得到最优参数组合。
步骤(5)构建基于遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测模型进一步包括:(51)将液体压力式温度仪表误差模型转化为输入样本X为7维向量,N个样本及其输出值为(X1,X),…,(XN,X)∈Rn×R,利用最小二乘支持向量机中函数估计问题中的非线性映射函数Φ(·)将输入样本映射到高维特征空间;(52)综合考虑VC维最小和经验风险最小的原则,该问题可表示成为一个等式约束的优化问题。则函数回归问题可以描述为求解如下最优化问题的目标函数:式中目标函数的第一项对应着模型的泛化能力,而第二项对应着模型的精确性,xi为输入样本,yi为目标值,εi∈R为误差变量,Φ(Xi):Rn→Rnh为核空间映射函数,ω∈Rnh为权向量,γ为模型泛化能力与精度之间可调参数,b为偏参量;从而构建拉格朗日函数:
式中αi(i=1,...l)是拉格朗日乘子,消除ω和εi之后,上式可化为求解以下矩阵方程:其中,Y=[y1,y2,···,yi]T,Z=[φ(x1)y1,φ(x2)y2,...,φ(xl)yl]T,e=(1,1,···,1)Tα=(α1,α2,···,αl)T;根据Mercer条件带入Ω=ZZT,得Ωi1=yiy1φ(Xi)Tφ(Xj)=yiy1Ψ(Xi,Xj);(53)基于最小二乘支持向量机的温度误差预测模型的决策函数可表示为即为最后的预测函数,其中Ψ(Xi,Xj)采用高斯径向基核函数;(54)将测试样本集数据构造成上述预测函数输入变量的形式,代入该函数得到温度误差预测结果,为了定量评价各方法的预测效果,引入均方误差(MSE)进行对比:
为了对比寻优效果,将同样的数据采用粒子群最小二乘支持向量机(PSO-LSSVM)、最小二乘支持向量机(GS-LSSVM)和向量机(SVM)进行预测,对比这四种算法的均方误差大小,见表1。
表1
通过表1可以清楚的看出,遗传算法优化最小二乘支持向量机预测方法与粒子群算法优化最小二乘支持向量机、最小二乘支持向量机以及支持向量机对比,可以明显的看出本发明的预测方法更具优越性,在以均方根误差为指标的预测精度中表现出相当可观的提升。
从图2和图4可以看出利用粒子群算法进行寻优的适应度曲线,其适应度骤然下降,且在最大迭代次数内没有达到要求的精度,而图3和图5误差变化值与误差变化率的迭代曲线最佳适应度都是逐渐变小的,最后趋于平稳,并在进化到250代的时候达到要求的精度从而终止迭代。
从图6到图9所示的利用支持向量机、最小二乘支持向量机以及遗传算法优化最小二乘支持向量机方法进行预测同实测值的比较图可以看出,支持向量机对于误差变化值和变化率的预测已经出现过学习的状态而失去推广性能。采用最小二乘支持向量机进行预测的时候与实际值偏离较大,预测精度差,而采用遗传算法优化最小二乘支持向量机方法,预测值与实际值基本吻合,并且对于变化率进行预测时能够准确的反映温度误差的变化趋势以及线性度,适合于实际工程运用。
综上所述,根据仿真结果显示,应用遗传算法优化最小二乘支持向量机的机械式温度仪表误差预测,由适应度函数曲线可以发现,利用遗传算法进行寻优的精度显然优于常用的粒子群算法、传统的网格搜索与交叉验证寻优方法,预测模型能够对复杂的温度误差特性进行描述。基于遗传算法优化最小二乘支持向量机对于温度变化率进行预测时尤其能够反映机械式温度仪表的误差变化趋势和规律,预测精度较高。本发明弥补以往文献中对于机械式温度仪表误差研究的不足,对于机械式温度仪表的误差进行了深入的研究,为研究该类仪表的自适应补偿机构提供了理论依据。