吉黎明 熊兴旺 杨子荣
(1-中国合格评定国家认可中心 北京 100062 2-中汽研新能源汽车检验中心(天津)有限公司)
氮氧化物(NOx)是重型柴油机主要的污染物之一,为应对严格的重型柴油机排放法规,重型柴油机对后处理系统提出了越来越高的要求[1-2]。发动机运行工况对于氮氧化物生成量有重要影响[3],研究人员采用机器学习算法,根据发动机运行工况参数对柴油机氮氧化物排放进行预测,如采用神经网络回归算法[4],向量回归机(SVR)[5]等方式。重型柴油机NOx的机外净化技术路线中,SCR 系统净化效率较高,在重型柴油机匹配的后处理系统中得到广泛应用[6]。SCR 系统正常工作时,在合适的排气温度区间内,SCR 系统转化NOx效率较高[7-8]。排气温度和NOx浓度可以作为SCR 系统确定开启尿素喷射时刻的参考依据。
本文将排气温度和原始排放NOx体积浓度耦合为一个新的变量,作为发动机运行工况的标识变量,即依据排气温度值和原始排放NOx体积浓度值,对所有发动机运行工况进行二值化状态标识(0 或1),标识出适合喷射尿素的发动机运行工况。选取5 项发动机运行参数序列作为输入变量,二值化后的工况点状态标识序列作为输出变量,构造逻辑回归分类模型。构造的逻辑回归分类模型用于预测适合尿素喷射的发动机运行工况,对于SCR 系统合理确定开启尿素喷射时刻具有一定参考意义。
发动机及后处理系统安装在台架上,气体排放分析仪采样管安装在后处理系统入口之前,分析仪采样管从发动机原始排气中取样。燃用市售国六柴油,按照标准GB 17691-2018 进行了热态WHTC 循环试验。图1 给出了发动机在热态WHTC 循环试验中各工况点的转速和转矩。
图1 试验发动机热态WHTC 循环工况
图2 所示为热态WHTC 循环试验中排气温度曲线和原机NOx浓度曲线。
图2 试验循环中排温和原机NOx 浓度曲线
从图2 中可以看到,在整个循环中,排温曲线和原机NOx浓度曲线波动剧烈,NOx排放高值工况频繁出现。通常当排气温度大于等于特定的温度阈值时,SCR 转化效率较高,SCR 系统才能较好发挥净化作用[9]。SCR 系统工作时需要根据当前工况对应的排气温度和原始排气中NOx浓度等条件,来判定当前工况是否启动尿素喷射对NOx进行净化。为筛选适合SCR系统喷射尿素进行NOx净化的工况,需要构造一个综合考虑排气温度和原始排放NOx浓度的变量。根据排气温度和原始排放NOx浓度数据序列,按照以下规则对WHTC 循环每个工况点进行二值化状态标识:
1)若当前工况对应的排气温度小于设定的排气温度阈值或原始排放NOx浓度低于设定的NOx浓度阈值,则该工况不适合SCR 系统喷射尿素进行NOx净化,将该工况标识为0;
2)若当前工况对应的排气温度大于等于设定的排气温度阈值且原始排放NOx浓度大于等于设定的NOx浓度阈值,则该工况适合SCR 系统喷射尿素进行NOx净化,将该工况标识为1。
WHTC 循环工况二值化状态标识规则可用式(1)表示如下:
二值化状态标识数据序列与发动机工况状态参数紧密相关,考虑利用机器学习算法建立模型来表征发动机工况状态参数与二值化状态标识的对应关系。根据建立的模型,依据发动机运行状态参数来预测当前工况的二值化状态,判定是否适合SCR 系统喷射尿素进行NOx净化,为SCR 系统合理确定开启尿素喷射时刻提供参考。
二值化状态标识只有0 和1 两种状态,建立的预测模型实际上属于一种二分类模型。常见的机器学习算法中,逻辑回归模型是一种基于概率分布的非线性二分类模型,广泛应用于多种场景。作为一种常用的定性变量分析机器学习算法,逻辑回归模型对数据的正态性和自变量的类型没有过多的限制要求,逻辑回归模型在实际应用中表现出了较好的预测能力[10]。
逻辑回归模型由条件概率分布P(y|x)表示,其中y 表示预测值,x 表示多维特征向量。当预测任务为二分类问题时,随机变量y 的取值为0 或1,用y=0 来表示事件未发生,用y=1 来表示事件发生。对于给定的数据集T={(x1,y1),(x2,y2),……,(xn,yn)},其中xi∈Rn为二分类模型的输入变量,yi∈{0,1}为二分类模型的输出变量,在对二分类函数进行分析时,通常使用Sigmoid 函数来实现逻辑回归分类器,预测函数如式(2)、式(3)和式(4)所示[11]:
式中:θ=[θ1,θ2,…,θn]∈Rn为n 个待定的系数,称之为权向量。
逻辑回归一般使用交叉熵作为代价函数,代价函数如式(5)所示[12]:
根据式(5),使用梯度下降法最小化代价函数,可求得权值向量θ 的一组最佳参数。
对于训练好的逻辑回归二分类模型,根据给定的输入变量x,根据式(3)和式(4)可以分别求得条件概率分布P(1|x)及P(0|x)的值。然后,算法比较两个概率分布值的大小,当P(1|x)大于等于P(0|x)时,算法的输出预测值为1,当P(1|x)小于P(0|x)时,算法的输出预测值为0。即逻辑回归算法总是将样本分到概率值较大的那一类[13-14]。
发动机转速、转矩等较多的发动机运行参数与NOx具有较强的相关性,建模时可作为模型输入变量[15-17]。结合台架试验实际情况,选取发动机转速、进气空气流量、燃油流量、功率和转矩等运行参数作为逻辑回归模型的输入变量,以WHTC 循环每个工况点二值化后的状态标识变量作为逻辑回归二分类模型输出变量。对于输入变量样本,由于不同变量序列的绝对值大小不同,如果直接进行模型训练,会造成模型训练结果被若干输入变量样本所主导,而受其它样本的影响比较小的情况。为避免上述情况,输入变量在模型中参与计算之前需先进行数据预处理,文中采用数据标准化的方式,标准化方法如式(6)、式(7)和式(8)所示[18]:
式中:z(i)为模型各输入变量序列值,分别为发动机转速、进气空气流量、燃油流量,功率和转矩,其单位分别为r/min、kg/h、kg/h、kW 和N·m;N 为模型各输入变量序列的长度;z¯为模型各输入变量序列的平均值,单位分别为r/min、kg/h、kg/h、kW 和N·m;s 为模型各输入变量序列的标准差值,单位分别为r/min、kg/h、kg/h、kW 和N·m;z*(i)为标准化后的模型各输入变量序列值,无量纲值。
对于SCR 系统,当排气温度低于200 ℃时,尿素无法充分热解与水解[19]。式(1)中用于工况二值化状态标识的排气温度阈值设定为200℃,NOx浓度阈值可以根据实际情况进行调整,本文中分别将NOx浓度阈值设定为50×10-6、100×10-6、150×10-6、200×10-6、250×10-6和300×10-6,根据设定的阈值对所有工况进行二值化状态标识,不同NOx浓度阈值得到的二值化状态标识序列不同。
试验循环中包含低转速低负荷、高转速高负荷等各种类型工况,为保证模型训练工况点集对各类型工况的覆盖,需要按照一定比例将所有采集的工况随机划分为训练工况点集和测试工况点集。本文中逻辑回归模型选用的训练工况数据点集与测试工况数据点集数量比例为7 ∶3,图3 所示为训练工况点集与测试工况点集的划分情况。
图3 训练工况点集与测试工况点集
将输入变量和输出变量分别按照图3 所示的训练工况点集与测试工况点集划分方式进行分割,分别用于训练模型和测试模型。基于Python 和sklearn机器学习库编程训练模型。利用训练好的模型对测试工况点集的数据进行模型预测效果评估。评估指标选取为模型准确率和模型对标识为1 的工况的召回率[20]。其中模型准确率和模型对标识为1 的工况的召回率定义分别如式(9)和式(10)所示:
式中:Rac为模型准确率,%;N(1,1)为实际是1 且模型识别为1 的测试工况个数;N(0,0)为实际是0 且模型识别为0 的测试工况个数;Nt为测试样本工况总数;Rre为模型对标识为1 的工况的召回率,%;N(1,0)为实际是1 且模型识别为0 的测试工况个数。
NOx浓度阈值分别设定为50×10-6、100×10-6、150×10-6、200×10-6、250×10-6和300×10-6时,训练所得模型的预测效果评估指标如表1 所示。
表1 不同NOx浓度阈值时模型评估指标
表4 中结果表明,NOx浓度阈值设定为50×10-6、100×10-6、150×10-6、200×10-6、250×10-6和300×10-6时,训练所得逻辑回归二分类模型,用于对测试工况点集进行工况预测时,模型准确率和模型对标识为1的工况的召回率均大于83%。
本文主要得到了以下结论:
1)依据一定的排气温度阈值和NOx体积浓度阈值对WHTC 循环每个工况点进行了二值化状态标识。
2)以发动机转速、进气空气流量、燃油流量,功率和转矩为模型输入变量,二值化后的状态标识变量作为模型输出,构建了逻辑回归二分类模型。
3)设定不同NOx体积浓度阈值,分别得到不同的输出变量序列用于训练和测试模型。训练所得模型,用于对测试工况点集进行预测时,模型准确率和模型对标识为1 的工况的召回率均大于83%。