基于SG-Lasso-PLS融合算法的水体硝酸盐氮紫外光谱检测研究
王金梅, 何适, 张航熙, 杨晨, 尹义同, 张莉, 郑培超*
重庆邮电大学光电工程学院, 光电信息感测与传输技术重庆重点实验室, 重庆 400065
*通讯作者 e-mail: zhengpc@cqupt.edu.cn

作者简介: 王金梅, 女, 1981年生, 重庆邮电大学光电工程学院副教授 e-mail: wangjm@cqupt.edu.cn

摘要

硝酸盐氮(NO3-N)是水中“三氮”(硝酸盐氮、 亚硝酸盐氮、 氨氮)之一, 能够反映水体受污染的程度, 是水质评估的一项重要指标。 水体中的硝酸盐氮浓度过高不仅会导致水环境污染加重, 而且会对人畜及水产构成较大威胁。 传统的硝酸盐氮检测必须先反应后测定, 具有时间长、 操作复杂、 有二次污染等缺点。 光谱法具有快速、 无损、 无试剂消耗等显著优点。 针对硝酸盐氮难以快速检测的问题, 提出了一种基于紫外吸收光谱的快速定量分析硝酸盐氮的方法。 采集42份浓度为0~20 mg·L-1的硝酸盐氮标准溶液样本的紫外吸收光谱, 每份样本经11次平均处理以减少仪器噪声和环境的影响。 采用SPXY算法按照7∶3的比例划分训练集、 测试集, 对紫外吸收光谱数据使用Savitzky-Golay(SG)滤波算法进行预处理, 通过10折叠交叉验证获得套索回归(lasso regression)合适的正则化参数 λ=0.203 6, 再使用Lasso回归在全光谱范围内筛选出与硝酸盐氮相关的光谱特征波长, 将特征波长处的吸光度与样本浓度进行偏最小二乘(PLS)拟合建立硝酸盐氮的回归模型。 采用此建模方法所建立的模型训练集的 R2与RMSE分别为0.999 91和0.060 15 mg·L-1, 测试集的 R2与RMSE分别为0.999 72和0.046 91 mg·L-1。 为了验证提出的SG-Lasso-PLS预测模型效果, 另外建立了Lasso-PLS, SG-PCA-PLS和SG-PCA-SVR三种预测模型进行对比。 验证结果表明, SG-Lasso-PLS建立的预测模型的 R2和RMSE均优于其他三种预测模型。 说明SG滤波能够消除光谱信号的随机噪声, 提高模型的预测精度。 与PCA数据降维算法相比, Lasso可实现全光谱范围内的光谱特征选择和数据降维, 能有效消除光谱数据的冗余信息, 提高模型的预测精度。 因此, 本文提出的SG-Lasso-PLS混合模型能够快速准确的对水体中的硝酸盐氮进行预测。 作为硝酸盐氮浓度检测的基础研究, 能为快速无污染的水质在线监测场景提供算法参考。

关键词: 硝酸盐氮; 紫外吸收光谱; Lasso回归; PLS回归
中图分类号:O433.4 文献标志码:A
Study on the Detection Method of Nitrate Nitrogen in Water Based on Ultraviolet Spectroscopy
WANG Jin-mei, HE Shi, ZHANG Hang-xi, YANG Chen, YIN Yi-tong, ZHANG Li, ZHENG Pei-chao*
Chongqing Municipal Level Key Laboratory of Photoelectronic Information Sensing and Transmitting Technology, College of Optoelectronic Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065, China
*Corresponding author
Abstract

Nitrate nitrogen (NO3-N) is one of the “three nitrogen” (nitrate nitrogen, nitrite nitrogen, ammonia nitrogen) in water, can reflect the degree of pollution of the water environment, and is an important indicator of water quality assessment. High concentrations of nitrate nitrogen in the water body will not only lead to increased pollution of the water environment, but also pose a greater threat to humans, animals and aquatic products. The traditional nitrate nitrogen detection must be measured after the reaction, with a long time, complex operation, secondary pollution and other disadvantages. The spectrometry method has the significant advantages of rapid, non-destructive, and no reagent consumption. To address the problem that nitrate nitrogen is difficult to be detected quickly, a method for rapid quantitative analysis of nitrate nitrogen based on UV absorption spectroscopy was proposed. The UV absorption spectra of 42 samples of nitrate nitrogen standard solutions with concentrations ranging from 0 to 20 mg·L-1 were collected, and each sample was averaged 11 times to reduce the influence of instrument noise and environment. The SPXY algorithm was used to divide the training set and test set according to the ratio of 7∶3, and the UV absorption spectra data were preprocessed using the Savitzky-Golay (SG) filtering algorithm. The appropriate regularization parameter λ=0.203 6 was obtained by 10-fold cross-validation with Lasso regression, and then the Lasso regression was used to filter out the correlations with nitrate nitrogen in the full spectral range. The spectral features associated with nitrate nitrogen were selected in the full spectral range using Lasso regression. The absorbance at the feature wavelength was fitted with the sample concentration by partial least squares (PLS) to establish the regression model for nitrate nitrogen. The R2 and RMSE of the training set of the model built using the modeling method proposed in this paper were 0.999 91 and 0.060 15, respectively, and the R2 and RMSE of the test set were 0.999 72 and 0.046 91, respectively. In order to verify the effect of the SG-Lasso-PLS prediction model proposed in this paper, additional Lasso-PLS, SG-PCA-PLS and SG-PCA-PLS were built. PLS and SG-PCA-SVR prediction models were compared. The validation results show that the R2 and RMSE of the prediction models established by SG-Lasso-PLS are better than those of the other three. It indicates that SG filtering can eliminate the spectral signal’s random noise and improve the model’s prediction accuracy. Compared with the PCA data dimensionality reduction algorithm, Lasso can achieve spectral feature selection and data dimensionality reduction in the full spectral range, which can effectively eliminate the redundant information of spectral data and improve the model’s prediction accuracy. Therefore, the hybrid SG-Lasso-PLS model proposed in this paper can quickly and accurately predict the nitrate nitrogen in water bodies. As a basic study of nitrate nitrogen concentration detection, it can provide an algorithmic reference for fast and pollution-free water quality online monitoring scenarios.

Keyword: Nitrate nitrogen; UV absorption spectroscopy; Lasso regression; PLS regression
引言

随着社会的发展和城市化进程的加快, 大量含氮废水被直接排入水中。 水体中的含氮物质超标会造成微生物的大量繁殖, 浮游生物生长旺盛, 水体富营养化[1]。 水体中的NO3-N被人体吸收后会被还原成NO2-N, 大量的NO2-N会使血液的运氧能力下降, 从而对人体造成伤害[2]。 为了防止氮污染继续加重, 需要对水体中的硝酸盐氮进行快速检测。

目前, 硝酸盐氮的检测方法主要有酚二磺酸分光光度法、 紫外分光光度法、 离子选择电极法、 离子色谱法、 气相分子吸收光谱法等[3], 但以上方法存在干扰物多、 选择性差、 实验条件苛刻、 分析时间长、 需要消耗化学试剂等问题, 难以满足实际应用的要求。

紫外-可见吸收光谱法是基于200~800 nm光谱区域内的光谱数据对物质进行定性、 定量或者结构分析的一种方法, 具有样品无需处理、 无污染、 操作简单、 实时[4]等优点。 现已广泛应用于环境监测、 污染物分析、 药品检验、 食品安全[5, 6, 7, 8]等领域。 Jean Causse[9]等提出了一种基于双光路测定淡水样本中硝酸盐氮的方法, 对580个实际水样226 nm处吸光度的二阶导数进行一元回归分析, 模型预测值与真实值的R2为0.994 0, RMSE为 2.32 mg· L-1。 陈颖[10]等提出了一种紫外吸收光谱双波长结合偏最小二乘支持向量机的方法, 能够快速定量预测水体硝酸盐的含量。 Li[11]等根据吸收光谱的可加性建立了COD浊度补偿模型, 对吸收光谱进行了有效的校正, 提高了COD测定的准确性。

目前针对硝酸盐氮的检测大多基于单波长和双波长, 未充分利用光谱信息。 本工作提出了一种基于紫外吸收光谱多波长的水体硝酸盐氮检测方法。 使用SG滤波对紫外吸收光谱数据进行预处理, 采用Lasso回归筛选出全光谱区间的特征波长, 使用PLS建立硝酸盐氮的回归模型, 实现水体中硝酸盐氮的快速测量。

1 实验部分
1.1 仪器设备

实验装置如图1所示, 主要包括光源、 光谱仪、 样品槽、 光纤等。 光源采用氘卤灯(爱万提斯, AvaLight-DH-S-BAL), 光源的出射光经光纤耦合到样品槽。 为提高入射光和出射光的传输效率, 样品槽采用10 mm× 10 mm× 30 mm的石英比色皿。 从样品槽透射出的光经光纤传输到光谱仪(复享光学, NOVA); 采集到的光谱数据通过数据线传输到计算机进行数据处理与建模。

图1 实验装置示意图Fig.1 Schematic diagram of the experimental setup

1.2 样品

将1 000 mg· L-1的KNO3溶液(北方伟业)利用去离子水逐步稀释成42份不同浓度的硝酸盐氮溶液。 设置光谱仪积分时间为10 ms, 平均次数11次, 平滑度为0, 以去离子水为参比, 对待测样品进行光谱采集。 测得的紫外吸收光谱如图2所示。

图2 硝酸钾溶液紫外吸收光谱图Fig.2 Ultraviolet absorption spectra of potassium nitrate solution

1.3 数据处理

光谱数据处理流程如图3所示。 首先对光谱数据使用SPXY算法按照7∶ 3的比例进行训练集、 测试集划分, 然后对光谱数据进行预处理, 抑制仪器噪声等因素的干扰, 接着使用Lasso回归提取硝酸盐氮相关的特征波长, 再使用PLS建立硝酸盐氮的回归模型, 最后对所建立的回归模型进行评估。

图3 光谱数据处理流程Fig.3 Flowchart of spectrum data processing

1.4 样本划分

训练集和测试集的划分采用SPXY算法。 在计算样本间的距离时, 将X变量(光谱数据)和Y变量(NO3-N)同时考虑在内, 利用两种变量计算样品间的距离以保证最大程度的表征样本分布, 使训练集样本具有差异性和代表性, 提高模型的稳定[12]。 按7: 3的比例划分训练集(30个样本)和测试集(12个样本)。 样本间的距离计算如式(1)— 式(3)所示。

${{d}_{x}}\left( \text{p},\text{ }\!\!~\!\!\text{ q} \right)=\sqrt{\overset{N}{\mathop{\underset{j=1}{\mathop \sum }\,}}\,{{[{{x}_{p}}\left( j \right)-{{x}_{q}}\left( j \right)]}^{2}}};\text{ }\!\!~\!\!\text{ }p,\text{ }\!\!~\!\!\text{ }q\in \left[ 1,\text{ }\!\!~\!\!\text{ }N \right]$(1)

${{d}_{y}}\left( p,\text{ }\!\!~\!\!\text{ }q \right)=\sqrt{\overset{N}{\mathop{\underset{j=1}{\mathop \sum }\,}}\,{{[{{y}_{p}}-{{y}_{q}}]}^{2}}}$(2)

${{d}_{xy}}\left( p,q \right)=\frac{{{d}_{x}}\left( p,\ \ \ \ \ q \right)}{\underset{p,\ \ \ q\in \left[ 1,\ N \right]}{\mathop{\text{max}}}\,{{d}_{x}}\left( p,\ \ \ q \right)}+\frac{{{d}_{y}}\left( p,\ \ q \right)}{\underset{p,\ \ q\in \left[ 1,\ N \right]}{\mathop{\text{max}}}\,{{d}_{y}}\left( p,\text{ }\!\!~\!\!\text{ }q \right)};~p,q\in \left[ 1,\text{ }\!\!~\!\!\text{ }N \right]$(3)

式中, xpxq表示两个不同的样本, N表示样本光谱波长点的数量。 划分后测试集的样本编号为: 6, 7, 9, 10, 12, 13, 15, 20, 22, 24, 25, 27。

1.5 数据预处理

由光谱仪得到的光谱信号中既含有有用信息, 同时也含有随机噪声。 为了提高光谱的信噪比, 抑制或者消除信号的随机噪声和高频噪声, 采用SG滤波算法对光谱进行预处理。 SG滤波将光谱区间内的多个连续的点看作一个窗口, 对于给定的数据, 从数据的左端开始选出奇数个数据点作为平滑窗口, 用于进行多项式的最小二乘拟合, 原始输入数据在平滑窗口中间点处的值用给定的多项式在这个点的拟合值代替, 之后平滑窗口向右边移动一个单位的距离, 反复进行上面的操作, 直到得到所有点的平滑值[13]。 该滤波算法也可以看作是一种加权平均的过程, 表达式如式(4)所示。

${{p}_{i}}=\frac{\overset{m}{\mathop{\mathop{\sum }_{j=-m}}}\,{{p}_{i+j}}{{w}_{j}}}{\overset{m}{\mathop{\mathop{\sum }_{j=-m}}}\,{{w}_{j}}}$(4)

采用窗口大小为21、 多项式阶数为3的SG滤波, 原始光谱数据经滤波后的效果如图4所示。 可以看出利用SG滤波对光谱数据进行处理, 不仅可以去除光谱噪声, 还可以较好地保持原光谱的形状。

图4 SG滤波后紫外吸收光谱图Fig.4 Ultraviolet absorption spectra after SG filtering

1.6 特征波长选择

光谱数据预处理抑制了随机噪声的影响, 但数据仍是高维数据, 存在多重共线信息, 若直接建模仍存在模型复杂度高、 计算量大、 预测性能低等问题。 故采用Lasso回归对光谱数据的特征波长进行筛选。 Lasso回归在普通最小二乘回归模型的损失函数上加上了惩罚项, 能够识别出模型中不重要的变量, 其基本思想是在回归系数绝对值之和小于某个阈值的情况下, 使残差平方和最小。 对全光谱数据使用Lasso回归能够筛选出特征波长, 降低建模的数据维度[14, 15]。 Lasso的最小残差平方和表达式如式(5)所示。

$\text{arg}\underset{\beta }{\mathop{\text{min}}}\,\left\{ \overset{q}{\mathop{\underset{i=1}{\mathop \sum }\,}}\,{{({{y}_{i}}-\overset{m}{\mathop{\underset{j=1}{\mathop \sum }\,}}\,{{x}_{ij}}{{\beta }_{j}})}^{2}}+\lambda \overset{m}{\mathop{\underset{j=1}{\mathop \sum }\,}}\,\left| {{\beta }_{j}} \right| \right\}$(5)

式(5)中, λ 是回归系数β j的1范式惩罚系数。 若取值很小, 则可以将相关性较小的特征变量的系数压缩为0, 保留强相关的特征, 以达到降低维度的目的。 λ 的大小通过K折叠交叉验证获得。 K折叠交叉验证是将样本数据随机等分为K份, 将第1份子样本作为验证集保留, 使用其余的K-1份子样本作为训练集来估计此模型, 再以此预测第1份子样本, 并计算第1份子样本的均方预测误差(mean squared prediction error, MSPE)。 然后将第2份子样本作为验证集, 使用其余的K-1份子样本作为训练集来预测第2份子样本的MSPE。 以此类推, 对所有的子样本的MSPE求和得到整个样本的MSPE。 调整使得整个样本的MSPE最小, 使得模型具有最佳的预测能力以及鲁棒性。 实验参数通过10折叠交叉验证获得, 取为0.203 6时能够获得最低的MSPE。 最终筛选的最优特征波长数为4个, 对应的特征波长为: 234.51、 235.31、 236.12和236.93 nm。

1.7 PLS回归模型建立

PLS在建模过程中集中了主成分分析、 典型相关分析和线性回归分析的特点, 可以实现多对多的线性回归建模方法[16]。 当样本量比较少时, 用PLS建立的回归模型比传统经典回归所建立的模型更加稳健。 PLS具体的流程如图5所示, 首先从吸光度中提出第一成分t1, t1A1, A2, A3, …, Am的线性组合, 且尽可能多的提取原变量中的信息要求t1和硝酸盐氮浓度 cNO3N的相关程度达到最大。 然后建立因变量 cNO3Nt1的回归, 如果回归方程达到满意的精度, 则算法终止, 否则继续对第二主成分进行提取。 提取变量的终止条件是交叉验证, 验证集的精度满足要求则终止提取。

图5 PLS流程图Fig.5 Flow chart of PLS

1.8 模型评价指标

采用决定系数R2和均方根误差RMSE作为模型评估标准, 模型的适应度越大, R2越大, RMSE越小。 R2与RMSE的表达式如式(6)和式(7)所示。

${{R}^{2}}={{\left( \frac{\overset{n}{\mathop{\mathop{\sum }_{i=1}}}\,\left( {{p}_{i}}-\bar{p} \right)\left( {{o}_{i}}-\bar{o} \right)}{\sqrt{\overset{n}{\mathop{\mathop{\sum }_{i=1}}}\,{{({{p}_{i}}-\bar{p})}^{2}}+\overset{n}{\mathop{\mathop{\sum }_{i=1}}}\,{{({{o}_{i}}-\bar{o})}^{2}}}} \right)}^{2}}$(6)

$\text{RMSE}=\sqrt{\overset{n}{\mathop{\underset{i=1}{\mathop \sum }\,}}\,\frac{{{({{p}_{i}}-{{o}_{i}})}^{2}}}{n}}$(7)

式中, oi为硝酸盐氮的实际值, $\bar{o}$为硝酸盐氮实际值的均值; pi为模型预测的硝酸盐氮值, $\bar{p}$为模型预测硝酸盐氮的均值。

2 结果与讨论

光谱数据经SG-Lasso-PLS混合建模预测结果如图6所示。 所建立的定量分析模型具有很好的预测效果, 训练集和测试集拟合曲线的决定系数都高达0.999, 说明采用的建模方法正确, 所建立的模型具有较好的稳健性以及适应能力, 能够完成水体硝酸盐氮的检测。

图6 SG-Lasso-PLS混合预测模型回归图
(a): 训练集; (b): 测试集
Fig.6 SG-Lasso-PLS mixed prediction model regression
(a): Training set; (b): Test set

基于实验测得的光谱数据, 另外建立了Lasso-PLS, SG-PCA-PLS以及SG-PCA-PLS三种模型, 并与本文提出的SG-Lasso-PLS模型进行对比。 其中PCA选取了前四个主成分, 保留了原始数据99.99%的信息。 从图7可以看出, SG-Lasso-PLS模型的相对误差相比于其他三种模型上下波动较小, 四种模型相对误差的绝对值的平均值分别为1.72%, 4.73%, 14.71%和11.65%。 SG-Lasso-PLS模型明显优于其他几种模型。

图7 不同分析模型测试集相对误差图Fig.7 Relative analysis error model of different analysis models

表1列出了测试集样本的预测值与真实值以及它们的相对误差。 可以看出, 使用SG-Lasso-PLS混合模型预测测试集的浓度, 相对误差均小于5%, 具有较高的预测精度。

表1 测试集样本硝酸盐氮浓度PLS回归预测值 Table 1 PLS regression prediction value of nitrate nitrogen concentration of test set

表2为不同分析模型评价参数的比较。 可以看出SG-Lasso-PLS模型的R2最大、 RMSE仅为0.046 91, 优于其他3种模型。 若不进行滤波处理, 光谱会受噪声的影响, 建模结果也次于SG-Lasso-PLS模型。 若使用PCA进行特征提取, 模型适应度低于SG-Lasso-PLS模型, 其原因是PCA是一种无监督学习的降维算法, 它将多个指标转换成少数几个主成分, 能反应原始数据的大部分信息, 但降维后的主成分不一定和目标参数相关。 综上所述, 本文提出的光谱数据预处理以及混合预测模型效果优于其他3种定量分析模型。

表2 不同分析模型评价参数比较 Table 2 Comparison of evaluation parameters of different analytical models
3 结论

以硝酸盐氮作为研究对象, 建立了基于紫外光谱数据的混合预测模型, 并与Lasso-PLS、 SG-PCA-PLS以及SG-PCA-PLS模型进行了对比。 实验数据表明, 混合预测模型测试集的决定系数R2为0.999 72, 相比于其他3种模型分别提高了0.45%, 0.16%和0.14%。 均方根误差RMSE为0.064 91 mg· L-1, 相比于其他3种模型分别降低了60.6%, 84.8%和49.1%。 说明本工作中采用的建模方法能够有效提升模型的适应度, 可以为水体硝酸盐氮的检测提供一种新的解决方法, 能为快速无污染的水质在线监测场景提供一定参考。

参考文献
[1] Lu Haifeng, Peng Meng, Zhang Guangming, et al. Environmental Technology, 2018, 41(15): 1888. [本文引用:1]
[2] Yoko Sato, Masayuki Ishihara, Koichi Fukuda, et al. Biocontrol Science, 2018, 23(3): 139. [本文引用:1]
[3] Alahi M E E, Mukhopadhyay S C. Sensors and Actuators A, 2018, 280: 210. [本文引用:1]
[4] Pigani L, Vasile S G, Foca G, et al. Talanta, 2017, 178: 178. [本文引用:1]
[5] Guan Li, Tong Yifei, Li Jingwei, et al. RSC Advances, 2019, 9: 11296. [本文引用:1]
[6] ZHANG Bei-chen, ZHANG Xiao-lei, QIN Lan-lan, et al(张北辰, 张晓蕾, 秦兰兰, ). Environmental Science(环境科学), 2018, 39(10): 4576. [本文引用:1]
[7] YAO Sen, LI Tao, LIU Hong-gao, et al(姚森, 李涛, 刘鸿高, ). Food Science(食品科学), 2018, 39(8): 212. [本文引用:1]
[8] Dimitrios Stefas, Nikolaos Gyftokostas, Panagiotis Kourelias, et al. Food Control, 2021, 130(19): 108318. [本文引用:1]
[9] Causse J, Thomas O, Jung Aude-Valerie, et al. Water Research, 2017, 108: 312. [本文引用:1]
[10] CHEN Ying, HE Lei, CUI Xing-ning, et al(陈颖, 何磊, 崔行宁, ). Spectroscopy and Spectral Analysis(光谱学与光谱分析), 2019, 39(5): 1489. [本文引用:1]
[11] Li Jingwei, Tong Yifei, Guan Li, et al. Optik, 2019, 186: 129. [本文引用:1]
[12] Yang Zhenfa, Hang Xiao, Zhang Lei, et al. Analytical Methods, 2019, 11(31): 3936. [本文引用:1]
[13] Shi X, Yao L, Pan T. Journal of Geoscience and Environment Protection, 2021, 9(3): 75. [本文引用:1]
[14] Lei Hejie, Chen Xingke, Jian Ling. Intelligent Data Analysis, 2020, 24(5): 993. [本文引用:1]
[15] Lee Seokho, Kim Seonhwa. Journal of the Korean Statistical Society, 2019, 48(3): 396. [本文引用:1]
[16] Kanwal A, Mehmood T, Butt M M. Chemometrics and Intelligent Laboratory Systems, 2021, 215(3): 104365. [本文引用:1]