1.一种基于随机森林的火电厂烟气系统氮氧化物浓度实时预测方法,其特征在于,包括如下步骤:步骤1、获取火电厂锅炉烟气系统的历史运行数据集,历史运行数据集包括一次风量、二次风量、主蒸汽温度,剔除数据集中的异常样本,异常样本包括空值和野点,实现数据标准化;
步骤2、根据最大信息系数及随机森林变量重要性,在数据集中筛选出NOx排放浓度实时预测模型的最优输入变量,构建最优变量数据集;
步骤3、在最优变量数据集的基础上,采用随机森林回归算法建立NOx排放浓度实时预测模型,整定模型参数并进行在线部署;
所述步骤2具体包括如下子步骤:
步骤2.1、计算训练集中各过程变量与NOx浓度之间的最大信息系数;
步骤2.2、根据最大信息系数值设置阈值vmic,删除训练集中与NOx浓度依赖性极弱的过程变量,实现变量的初步筛选,并构建变量子集S;
步骤2.3、将步骤2.2中筛选出的变量子集S使用随机森林算法进行训练,计算袋外样本泛化精度;
步骤2.4、对阈值vmic进行迭代更新,并以此来确定变量子集Smic的选取;
步骤2.5、使用变量子集Smic训练随机森林模型,计算各过程变量重要程度;
步骤2.6、根据各过程变量重要程度,设置阈值vRF,删除变量子集Smic中重要程度极低的过程变量,实现变量的再次筛选,构建相应的变量子集Smic';
步骤2.7、将步骤2.6中筛选出的变量子集Smic'使用随机森林算法进行训练,计算袋外样本泛化精度;
步骤2.8、对阈值vRF进行迭代更新,并以此来确定最优变量集合SRF的选取;
所述步骤2.1具体包括:
对于两个随机变量X和Y的互信息I(X,Y)为:
其中,p(x,y)是随机变量X和Y的联合概率分布函数,p(x),p(y)分别是随机变量X和Y的边缘概率分布函数;
最大信息系数计算公式如下:
其中,I*(D,x,y)为xy网格划分下的最大互信息,B(n)为划定的网格数上限,n为特征的个数;
所述步骤2.2具体包括:
设置阈值vmic为最大信息系数MIC的极小值,删除训练集中与NOx浓度依赖性极弱的变量,将MIC值大于该阈值的过程变量筛选至变量子集S中,实现变量的初步筛选;
所述步骤2.3和步骤2.7具体包括:
在随机森林中,对基决策树的每个节点,先分别从变量子集S和Smic'中随机选择包含若干个变量的子集,然后从这个子集中选择一个最优属性用于划分节点;使用CART算法,以最小化成本函数,即以最小化均方误差MSE的方式来划分节点:其中,mnode为当前节点样本总数,y、 分别为当前节点样本目标变量及其均值;
对于单个变量k和切分点tk,CART回归成本函数如下:
其中,mleft、mright、m分别为切分后左子节点的训练样本个数、右子节点的训练样本个数以及当前节点所有训练样本个数,MSEleft、MSEright分别为切分后左子节点的均方误差和右子节点的均方误差;
在训练每棵决策树时,采用bootstrap重复抽样方法,对变量子集S和Smic'进行重复且有放回的随机抽样,得到若干个子集,作为生成随机森林模型的训练集,每个子集分别训练出一棵基决策树模型,随机森林模型的最终预测结果为所有基决策树预测结果的均值;
假设变量子集S或Smic'大小为N,每次抽样时,每个样本被选中的概率为 重复进行N次有放回的随机抽样,一个样本从未被选中的概率p为:当N足够大时,
对于每棵决策树来说,最终会有36.8%未被采样过的训练实例,称为袋外样本;使用袋外样本作为验证集,计算随机森林模型的泛化精度;
所述步骤2.4具体包括:
步骤2.4.1、在步骤2.1中计算的最大信息系数值域范围内,适当调整最大信息系数阈值v,将变量子集S中大于该阈值的过程变量筛选出来作为变量子集S',使用该变量子集S'训练随机森林模型,并计算袋外样本泛化精度;
步骤2.4.2、在步骤2.4.1中的阈值v下,对应的袋外样本泛化精度若有所提高,则更新阈值vmic=v,当阈值vmic使得袋外样本泛化精度最高时,停止更新;
步骤2.4.3、将变量子集S'中MIC值大于阈值vmic的过程变量筛选出来作为变量子集Smic;
在所述步骤2.5中,将特征贡献的样本比例与分割时产生的不纯度减少相结合来计算某一特征重要性,某一特征fi在某一节点k的重要性为:VIMk=ωk*Gk‑ωleft*Gleft‑ωright*Gright(7)其中,ωk,ωleft,ωright分别为节点k以及其左右子节点中训练样本个数与总训练样本个数的比例,Gk,Gleft,Gright分别为节点k以及其左右子节点的不纯度,不纯度为均方误差MSE;计算出某一节点的重要性之后,即通过公式(8)计算得出某一特征fi的重要性fi‑importance:通过公式(9)对特征重要性进行归一化,得到变量重要程度值:所述步骤2.6具体包括:
设置阈值vRF为步骤2.5中计算的变量重要程度值的极小值,删除变量子集Smic中变量重要程度极低的变量,将变量重要程度值大于该阈值的过程变量筛选至新的变量子集Smic'中,实现变量的再次筛选;
所述步骤2.8具体包括:
步骤2.8.1、在步骤2.5中计算的变量重要程度值域范围内,适当调整变量重要程度阈值v,将变量子集Smic'中大于该阈值的过程变量筛选出来作为新的变量子集,使用该变量子集训练随机森林模型,计算袋外样本泛化精度;
步骤2.8.2、在步骤2.8.1中的阈值v下,对应的袋外样本泛化精度若有所提高,则更新阈值vRF=v,当阈值vRF使得袋外样本泛化精度最高时,停止更新;
步骤2.8.3、将变量子集Smic'中变量重要程度值大于阈值vRF的过程变量筛选出来作为最优变量子集SRF。
2.根据权利要求1所述的一种基于随机森林的火电厂烟气系统氮氧化物浓度实时预测方法,其特征在于,所述步骤1具体包括:获取火电厂锅炉烟气系统的历史运行数据集D(X,Y)={X1,X2,X3,...,Xm,Y},共m个过程变量,每个过程变量包括n个样本数据,Y为NOx浓度,将数据集中的原始过程变量使用Min‑Max进行标准化,使过程变量的取值范围压缩在0到1之间,并划分训练集和测试集;
标准化公式如下:
其中,xnormalization为样本数据x归一化后值,xmax和xmin分别为过程变量Xm的最大值和最小值。
3.根据权利要求2所述的一种基于随机森林的火电厂烟气系统氮氧化物浓度实时预测方法,其特征在于,所述步骤3具体包括:使用最优特征子集SRF重建随机森林回归模型,即NOx排放浓度实时预测模型,获取在线数据集,对在线数据集进行归一化,并作为随机森林回归模型的输入,得到预测结果,进行在线部署。