- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于支持向量机的沼气中CH4浓度预测
基于不同工作原理,现有的CH4浓度检测方法主要有:奥式气体检测法、催化燃烧法、红外光谱检测法。目前沼气中CH4浓度预测较多地采用红外多波长法。但该方法也会带来新的问题。例如:当检测沼气中CH4浓度时,沼气中较多的CO2会对CH4通道和参考通道的输出带来影响,从而影响CH4的预测精度,所以本文讨论利用数据处理的方法提高CH1浓度预测精度。
目前,常用的CH4浓度预测算法有线性插值法、多元回归法、神经网络法(Neural Network,NN)。其中,线性插值法与多元回归法为传统算法,精度低;神经网络需要大量的样本才能拟合出较好的模型,且容易陷入局部极小值点。本文所探讨的支持向量机 (Support Vector Machine,SVM)专门解决小样本问题,以结构风险最小化为原则寻找全局最优解。
在预测沼气中CH4浓度时,本文首次尝试把温度作为影响探测器输出的重要因素,引入温箱控制探测器的环境温度,以获取不同温度下的693个样本,把温度和探测器的输出作为SVM的输入,建立CH4预测模型,得到理想的预测精度。
1 支持向量机简介
SVM是一种机器学习方法,根据结构风险最小化原则,大大提高了学习机的泛化能力,它将优化问题转化为求解一个凸二次规划的问题,二次规划所得的解是惟一的且为全局最优解,这样就不存在一般神经网络的局部极值问题。
回归型支持向量机(SVR)是支持向量机在回归学习中的应用,其基本思想是:对于给定的训练样本点{(x1,y1),(x2,y2),…,(xn,yn)}通过SVR训练回归出一个函数f(x),使由该函数求出的每个输入样本的输出值和输入样本对应的目标值相差不超过误差e,同时使回归出的函数尽量平滑,能克服传统的线性插值法、多元回归法预测精度低的缺点,解决高浓度CO2对CH4通道和参考通道的输出带来的影响,且较NN有更好的推广能力。另外,温度对气体探测器的输出有一定的影响,本文研究了将温度作为模型的输入之一,同时将多通道探测器的电压输出作为SVM的输入,实现CH4浓度预测。
2 实验数据的获取
2.1 系统结构与红外多波长探测简介
硬件系统结构如图1所示。钢瓶里的高压标准气CH4经过减压阀减压后,通过气体管道流向配气箱里的流量计1,配气箱经自带的电脑软件进一步控制并计量流量计1内气体的流速,流出配气箱以后,与经过流量计2,3的CO2,N2(稀释作用,非异核分子,对CH4通道影响小)进行定比混合,再进入温箱,温箱里的沼气检测电路板包括多通道探测器(CH4,CO2),参考端)和相应的信号处理电路,气体经过检测气室以后,排到通风橱。
上述沼气检测基于红外吸收原理,如图2所示。
异核分子结构(由不同种类化学原子构成的分子)的气体对中红外波段的红外线具有选择吸收特性,CH4特征吸收峰值波长为3,32μm,CO2为4.24μm。探测器的CH4,CO2通道前端分别装有CH4,CO2特征吸收光的滤光片,探测器接收到红外辐射后有电压输出。探测时气体浓度越大,对其特征波长的红外光吸收越强,对应探测电压越小。参考端滤光片能通过的红外光子几乎不被气体吸收,最能体现光源信息和气室污染情况。实践中探测器的滤光片受工艺的限制,它透射光谱的裙部不可能完全避开两种气体吸收区的交叉敏感区域,所以当气体浓度较高时,就会产生干扰问题,例如图2中CH4的特征吸收峰值波长为3.32μm,但在4.2~4.4μm之间也有吸收。本文就是采用SVM来解决这种交叉干扰问题的。
2.2 实验数据获取过程
(1)将实验系统按图1结构组建好;
(2)设置温箱温度T1,等待2个小时,使得温度恒定;
(3)将三个流量计的流速均设置为0,打开上位机数据获取软件,为数据获取做准备;
(4)打开气瓶减压阀,使气体流出;
(5)按所要配置的气体浓度Ci,分别设置流量计1,2,3的流速;待传感器输出稳定时,获取CH4,CO2,参考端的输出值并保存;
(6)CH4浓度标定范围为0%~100%(0%,1%,2%,…,100%,共19个标定点),CO2为0%~100%(0%,0.5%,1%,…,100%,共23个标定点)。实际标定时,先固定CH4浓度,不断改变CO2的浓度得到一组测量值;然后改变CH4浓度到另一固定值,再不断改变CO2的浓度得到另一组测量值;重复(5),采集到不同气体浓度组合的探测器输出值;
(7)改变温箱温度Ti,重复(2)~(6),得到不同温度下的数据。
通过上述数据采集过程,最终得到0℃,25℃,40℃,50℃的试验数据693组,为进行SVR做准备。实验数据如表1所示,U1,U2,Ur行分别代表CH4,CO2,参考端的A/D值。
3 基于SVM的CH4浓度的预测算法
3.1 SVM预测模型的建立
上述分析可知,参考端(Ref探测端)最能体现光源信息;U1/Ur,U2/Ur与U1,U2相比,更能体现CH4和CO2对其特征光子吸收的程度;同样组分的沼气混合气,温度不同时,传感器的几个通道输出不在同一数域。鉴于SVM善于解决小样本、非线性问题,及其好的泛化能力,把温度T,U1/Ur,U2/Ur,作为支持向量机的三维输入,建立CH4浓度的SVM预测框图,如图3所示。SVM的输出为CH4浓度的预测值。
SVM常用的核函数有多项式、径向基函数(RBF)、Sigmoid等。其中,Gauss径向基函数能比较好地模拟光谱信号的谱峰等特征信息,故选用RBF核函数。SVM的参数有σ2和γ,σ2取值过大,将使模型过早收敛;γ控制对超出误差的样本的惩罚程度。用反复试验的方式选取(σ2,γ),建立模型后,将测试样本的T,U1/Ur,U2/Ur代入模型进行计算,比较模型预测值与试验标定值,直到满足模型预测精度要求。本文最终确定σ2=10 000,γ=1。
3.2 结果与分析
在获得的693个样本中,随机选择543个作为训练样本,150个作为检验样本。将本文方法与线性插值法(Liner Interpolation,L-I)、多元回归法(Multiple Regression,M-R)、BP神经网络、RBF神经网络、未把温度作为支持向量机(SVM-noT)输入几种方法做比较,这些方法具体如下:
(1)线性插值法:由已知点(x01,y01),(x02,y02),…,(xon,y0n),依照空间线性关系建立y=A·x模型(A为系数矩阵),求解x11,x12,…,x1n所对应的y11,y12,…,y1n;
(2)多项式回归法:由已知点(x01,y01),(x02,y02),…,(x0n,y0n),依照最小二乘原则建立y=f(x)多项式模型,进而求解x11,x12,…,x1n所对应的y11,y12,…,y1n;
(3)BP神经网络法:基于误差反向传播算法的多层前向神经网络,建立已知样本的输入、输出模型。本文以温度T,U1/Ur,U2/Ur为输入,CH4的预测浓度为输出建立BP神经网络模型;
(4)RBF神经网络法:即以函数逼近理论为基础、传递函数为径向基函数的一类前向神经网络,可以在多维空间中拟合最佳模型。本文以温度T,U1/Ur,U2/Ur为输入,CH4的预测浓度为输出建立RBF神经网络模型;
(5)SVM-noT法:不考虑温度因素的影响,即在图3中去掉“SVM模块”前端的“温度T”输入,只保留U1/Ur,U2/Ur两元输入,建立输入、输出模型。
测试时,把x1j作为上述五种方法建立模型的输入,输出为CH4的预测浓度,可以检验这些模型的精度,其中向量xij=[T,U1/Ur,U2/Ur],i=0,1;j=1,2,…,n;x0j为训练样本,x1j为测试样本,
为预测浓度。将本文考虑温度的SVM方法与前五种方法进行对比时,是以预测结果的最大误差绝对值和误差绝对平均来衡量的。六种方法的仿真结果对比如图4所示。
从图中可以看出:SVM优于M-R,RBF,BP,L-I和SVM-noT法,误差最小,取得了最好的预测精度。SVM模型的核函数能更好地模拟光谱信号的谱峰等特征信息,能充分考虑到沼气中其他成分对CH4通道输出的影响,实现U1/Ur,U2/Ur,温度T对CH4浓度值更好地非线性映射,具有更好的泛化能力。
4 结论
针对沼气中CH4浓度的预测问题构建了实验系统,获取了大量实验数据,探讨了将温度T,CH4和CO2探测器的输出作为SVM的输入,预测CH4浓度的方法,将该方法与常用的L-I,M-R,BP,RBF,SVM-noT五种方法进行对比。实验结果表明,本文方法具有较高的预测精度,为沼气中CH4浓度的预测提供了一个良好的思路。