李帅帅,罗慧,卢伟
(1.南京农业大学工学院,江苏 南京 210031;2.南京农业大学人工智能学院,江苏 南京 210031)
由于工业与农业的快速发展,人类向水环境中排放的污染物日益增多,其中重金属离子是主要的污染物之一[1]。目前,重金属离子检测方法有激光诱导击穿光谱技术(LIBS)、X射线荧光光谱分析法(XRF)、原子荧光光谱法、电感耦合等离子体原子发射光谱法(ICP-AES)、电感耦合等离子体质谱法(ICP-MS)等[2-7]。宋超等[2]利用LIBS对混合溶液中的Cu、Mg、Zn、Cd重金属进行测定,结果表明LIBS技术可应用于溶液中多种重金属的快速检测。贾尧等[3]基于LIBS,采用石墨基底蒸干的富集方式,对含有Cd、Cr、Cu、Ni、Pb、Zn重金属元素的不同浓度重金属溶液进行检测,分别建立了这6种重金属元素的定标曲线,并得到了相应的检出限,分别为0.030、0.012、0.005、0.033、0.071、0.038 mg·L-1。焦距等[4]利用手持式XRF,结合无外接电源的富集装置,现场分析水体中Mn、Fe、Ni、Cu、Zn、Pb重金属元素,方法检出限为5.8~18.6 μg·L-1。苏秋克等[5]使用原子荧光光谱仪分别对武汉市的东湖、墨水湖、金银湖、梁子湖、汤逊湖和鲁湖中湖水进行汞含量分析,发现金银湖水汞含量超过国家Ⅲ类水质汞含量标准。刘冰冰等[6]基于ICP-AES,采用离子交换树脂与固相萃取富集结合的方法对水中的重金属元素Zn、Mn、 Cu、Co、Ni、Cd、 Pb进行测定,结果表明,该方法准确性与精密度高。母清林等[7]基于ICP-MS建立了一种针对海水中11 种重金属检测的在线分析方法,该方法精密度高,可实现对样品的自动稀释,满足海水重金属分析检测要求。Kaur等[8]利用荧光化学传感器,成功实现自来水、河水及含锶牙膏中Sr2+含量的检测。Lin等[9]开发了只包含铂电极的简单传感器,用于检测饮用水中的重金属污染,该传感器可以嵌入供水管道中长期使用,直至检测到铅或其他重金属为止。Verma等[10]设计了基于光纤表面等离子体共振的饮用水中重金属离子检测传感器,该传感器能够检测受污染水体中的Cd2+、Pb2+、Hg2+重金属离子,其灵敏度随重金属离子浓度的增加而降低。
太赫兹时域光谱技术(THz-TDS)是近年来国际上发展起来的远红外光谱检测技术[11]。其太赫兹波是指频率在0.1~10 THz,即波长在3 mm至30 μm内的电磁波,处于微波和红外之间,又称T波、T射线等[12]。太赫兹波具有低能性、强穿透性和强水敏感性[13]。THz-TDS技术可以利用THz脉冲在样品上的反射或透射,与参考信号一起提取被测样品的折射率、吸收系数和消光系数等光学参数[14]。目前THz-TDS被广泛用于样品水分和大分子物质方面的检测[15]。本文基于THz-TDS,分别对溶液中Hg、Cd、Cu重金属进行定性及定量分析。
质量浓度均为1 000 μg·mL-1的汞、镉离子标准溶液,购自南京晶格化学科技有限公司;CuSO4·5H2O购自南京晚晴玻璃仪器有限公司。
使用超纯水分别稀释汞、镉离子标准溶液,得到质量浓度分别为0.5、1.0、1.5、2.0、2.5、3.0、3.5、4.0 μg·mL-1的汞和镉离子溶液。
定量称取CuSO4·5H2O溶于超纯水,得到质量浓度为500 μg·mL-1的铜离子溶液,再用超纯水稀释,得到质量浓度分别为0、25、50、75、100、125、150、175、200 μg·mL-1的铜离子溶液。
本试验中使用的THz时域光谱仪是德国BATOP公司自行研制的LF7808系列中的LF7808A。其输出80 MHz的高质量飞秒激光脉冲,可切换输出780 nm和1 560 nm波段,脉宽小于100 fs,有效测试范围是0~3.5 THz。经有效数据分析,本试验测试太赫兹谱的分析范围为0~2 THz。太赫兹衰减全反射模块是由一块高阻硅(HRSi)棱镜制成,棱镜的折射率为3.416,THz波束照射到棱镜上,由于HRSi具有很高的折射率,能将THz波束全反射到样品中,THz波束会穿透样品一定深度,再由样品反射出来,经过高阻硅棱镜,最后以相反的路径离开HRSi棱镜并携带出样品的信息。本试验采用的THz波为s偏振,其电场方向与入射面垂直。太赫兹衰减全反射检测光路图如图1-A所示,样品采集时的实物图如图1-B所示。
图1 太赫兹光谱仪衰减全反射模块Fig.1 Terahertz spectrometer attenuates total reflection module
利用太赫兹衰减全反射模块分别对8种不同浓度的Hg、Cd、Cu离子溶液采集光谱,采样间隔为0.05 ps,采样时间为410~445 ps,积分时间为0.1 ps,时域光谱共有699个数据点,试验温度保持在25 ℃左右,相对湿度保持在40%左右。太赫兹光谱采集时,每采集10组溶液数据前,先采集10组衰减全反射模块的空样本数据,每次将样本溶液取出衰减全反射模块时,都要用清水和乙醇清洗衰减全反射模块,并用无尘纸擦拭,以消除样本相互之间的影响。每种重金属的每种浓度采集50组太赫兹光谱数据,每种重金属溶液共计400个样本,并采集50组超纯水作为空白对照。
1.5.1 去噪本文分别使用二阶导数(second derivative,SD)、离散余弦变换(discrete cosine transform,DCT)、标准正态变换(standard normal transformation,SNV)对太赫兹光谱数据进行去噪,以消除环境、仪器与人工操作等因素造成的干扰信息。SD去噪的主要原理是通过对样本数据求二阶导数,放大数据的细节,可有效消除基线和其他背景的干扰,提高分辨率和灵敏度。DCT等价于1个长度是离散傅里叶变换2倍的实偶函数。一般情况下,在对信号进行离散余弦变换后,信号具有较强的能量集中性,且噪声集中在高频部分,从而对信号进行有损去噪。SNV是一种利用全光谱范围内样品吸光度值的标准偏差,将每一条光谱正态处理的基于光谱阵的数据校正方法。使用SNV时,主要是用来消除由于样品自身分布不均匀引起的散射影响和改变光程时对光谱产生的影响,从而达到对目标光谱去噪的目的。
1.5.2 降维使用多维度缩放(multiple dimension scaling,MDS)、主成分分析(principal component analysis,PCA)与线性判别分析(linear discriminant analysis,LDA)对光谱数据进行降维处理,去除高维数据中的不相关属性,降低数据维数,以便缩短识别与预测模型的运行时间。MDS是一种非线性降维算法。它的核心思想是保持距离不变,即任意2个样本在低维空间中的欧氏距离与原始空间中的距离相等。PCA是目前最常用的线性降维方法,该方法主要思想是低维映射,将高维数据线性映射到低维空间中,使映射后数据的方差尽可能大,在保留更多有效信息的前提下尽可能减少数据维数,降低模型的复杂度。LDA也是一种线性降维算法,但与PCA不同的是LDA是有监督的,它通过在k维空间选择一个投影超平面,使得同类别在该超平面上的投影之间的距离尽可能近,非同类尽可能远,即类内方差尽可能小,类间方差尽可能大。本试验在运用MDS、PCA和LDA对数据降维时,通过累计贡献率的大小来控制主成分的个数,保留累计贡献率大于99%的主成分。
1.5.3 重金属检测模型采用随机森林(random forest,RF)、概率神经网络(probabilistic neural network,PNN)、k邻近算法(k-nearest neighbor,KNN)分别建立Hg、Cd、Cu重金属水体以及将这3种重金属配制成8种不同浓度水体的检测模型。RF的本质是一个具有多个决策树的分类器,每棵树的建立取决于1个独立样本提取,新的训练样本集从总的样本集中产生,然后根据样本集生成k个分类树组成随机森林。1个测试数据通过随机生成大量的决策树后,对分类结果进行统计后选择最可能的分类。PNN是由径向基函数网络改进得到的一个三层结构的网络,它的传递函数是该网络的基函数,输出层采用竞争输出。KNN方法是通过测量不同特征值之间的距离,找到与测试数据距离最小的k个点,统计k个点中出现次数最多的类别标签,该测试数据就属于此类,并具有这个类别上样本的特性。
1.5.4 重金属浓度预测模型采用反向传播神经网络(back propagation neural network,BPNN)和最小二乘支持向量机(least squares support vector machines,LSSVM)分别建立Hg、Cd、Cu重金属中8种浓度水体的预测模型。BPNN主要由信号的正向传播与反向传播2部分组成。正向传播阶段主要是输入信号从输入层经过激活函数到隐藏层,再到达输出层,得到最后的结果。反向传播阶段主要是输出信号与实际对比得出误差,误差从输出层到输入层不断训练,调整网络系数,使误差达到最小。LSSVM是由 Suykens等[16]在支持向量机的基础上提出的一种用于解决函数估计和模式分类等问题的一种新型的支持向量机。LSSVM 将支持向量机的非等式约束替换为等式约束。
1.5.5 模型评估使用准确率对分类模型进行评估,准确率越接近1,说明所构建的分类模型分类能力越好。使用均方误差、决定系数(R2)来评定回归模型优劣。均方误差越小,R2越接近1,说明回归模型的预测能力越好。
1.5.6 光学参数计算模型在太赫兹衰减全反射式中,发生全反射时,THz波输出信号Eout(ω)与输入信号Ein(ω)的关系由全反射系数r决定[17],即Eout(ω)=Ein(ω)r,对于s偏振太赫兹波,全反射系数r为:
(1)
样品的介电常数ε为:
(2)
选取lm(ε)>0的数据,进一步可以获得样品的吸收系数α,其表达式为:
(3)
式中:lmε为介电常数ε的虚部;Reε为介电常数ε的实部;ω为输入信号的频率点;c为空气的介电常数。
图2 样品的太赫兹时域光谱Fig.2 Terahertz time domain spectra of the sample
图2是样品的太赫兹时域光谱,其谱线分别是空气、汞、镉、铜和超纯水的50组太赫兹光谱数据的平均值。由图2可知:重金属汞、镉、铜以及超纯水与对照样本空气的时域谱的幅值以及延时均不相同,但很难直观地根据太赫兹时域谱的幅值和延时来判断重金属的类别。
根据公式(1)和公式(3)对去噪处理后的不同浓度Cd、Hg、Cu溶液的平均时域光谱进行吸收系数的计算。发现经过SD与DCT结合去噪后的不同浓度Hg溶液时域数据所求得的吸收系数谱规律性较强(图3)。在1.3、1.7 THz频率点处,以浓度0~1.5 μg·mL-1和2.0~4.0 μg·mL-1建立的线性模型分别为:
y1=1.040×10-7x-1.679×10-7
(4)
y2=-2.545×10-7x+4.862×10-7
(5)
图3 Hg溶液的吸收系数谱Fig.3 Absorption coefficient spectrum of Hg solution
2个频率点处线性模型决定系数分别为0.924和0.971,综合对比1.3、1.7 THz处建模结果,发现在1.7 THz处拟合更好。当浓度区间为0~1.5 μg·mL-1时,吸收系数谱所表现的吸收峰较为混乱,可能是由于太赫兹光谱仪采集精度导致的光谱有效频率范围内点数较少,进而影响了吸收系数谱的建模准确性。但由线性建模结果来看,低浓度的Hg溶液在1.7 THz处具有较好的线性关系。
图4 Cd溶液的吸收系数谱Fig.4 Absorption coefficient spectrum of Cd solution
不同浓度Cd溶液的时域数据经过SD、SNV去噪后,求取的吸收系数谱也有较强的规律性(图4)。在吸收系数3个特征频率点0.8、1.2、1.6 THz处建立的线性模型分别为:
y3=1.887×10-8x+1.884×10-8
(6)
y4=3.882×10-8x+0.289×10-8
(7)
y5=9.475×10-8x-5.965×10-8
(8)
3个频率点处线性模型的决定系数分别为0.912、0.957、0.858,对比发现在1.2 THz频率点处其决定系数较大,拟合效果较好。
由于Cu溶液的吸收系数谱图形较为混乱,在测试的太赫兹光谱范围内未能根据吸收系数谱发现其随浓度改变而引起的规律性变化。
首先,基于太赫兹时域光谱对3种重金属水体进行检测。对3种重金属溶液时域数据依次进行DCT、SNV、二阶导数去噪处理后,按照7∶3的比例随机划分训练集与测试集,用准确率来评判模型的优劣,模型准确率为运行30次后的测试集平均准确率。由表1可知:RF、PNN、KNN模型对3种重金属溶液的太赫兹时域数据均有较好的分类结果,检测准确率基本达到100%,说明太赫兹光谱可实现3种重金属溶液的精确分类。
其次,对3种重金属8种浓度的溶液进行太赫兹光谱检测。将采集得到的太赫兹时域光谱进行傅里叶变换得到频域光谱。对时域与频域光谱数据分别依次进行DCT、SNV、SD去噪处理,再分别运用PCA、MDS进行降维处理,随机对样本按照7∶3的比例划分为训练集和测试集,然后利用RF、PNN、KNN进行浓度识别建模,每种模型均重复运行30次,取其平均值为最终准确率。
3种重金属不同浓度识别结果如表2所示,对比各个组合模型的准确率,可以发现PCA降维可以使模型得到较佳的浓度识别结果,且时域数据比频域数据更适合进行浓度识别建模。其中,Hg溶液经去噪处理后的时域数据再经过PCA降维所建立的PNN模型效果最好,准确率达到99.45%,经过PCA降维后所建立的RF模型也具有较好的浓度识别效果,其准确率为98.89%;以频域数据构建的PNN模型基本不具备浓度识别能力。Cd溶液经去噪处理后的时域数据经过PCA处理后构建的RF模型与PNN模型准确率分别为98.15%与95.93%。当Cu溶液经去噪处理后的时域数据用于浓度识别时,经PCA与MDS降维后构建的PNN模型,准确率分别为99.25%与98.89%,构建的KNN模型,准确率分别为99.44%与98.52%。综合对比可以发现,基于DCT、SNV、SD依次进行去噪处理后的时域数据构建的PCA-PNN模型3种重金属浓度识别均有较高的准确率。
表1 3种重金属溶液的不同检测模型准确率比较Table 1 Comparison of the accuracy of three different detection models for heavy metal solutions
表2 3种重金属8种浓度的不同检测模型准确率比较Table 2 Accuracy comparison of different detection models of 8 concentrations of three heavy metals
分别利用DCT、DCT-PCA、DCT-LDA技术对3种重金属溶液8种浓度的太赫兹时域光谱数据进行预处理,然后利用BPNN和LSSVM构建预测模型。每种重金属溶液加上超纯水对照组共计450个样本,以 7∶3 的比例随机划分训练集与测试集。对每个模型分别运行30次,取其平均值为最终结果。
由表3可知:Hg溶液预测结果较好的模型为采用DCT去噪结合LDA降维后构建的BPNN和LSSVM浓度预测模型,其均方误差分别为0.008与0.011,R2分别为0.996与0.995。采用DCT去噪后构建的BPNN和LSSVM浓度预测模型也有较好的浓度预测能力,其均方误差分别为0.024与0.008,R2分别为0.988与0.996。Cd溶液预测结果最好的模型为经过DCT预处理后构建的LSSVM回归模型,均方误差低至0.005,R2高达0.997。采用DCT去噪结合LDA降维后构建的BPNN回归模型也表现出较好的预测能力,均方误差为0.026,R2为0.986。在Cu溶液预测模型中,有2个模型预测效果较佳,分别为采用DCT去噪结合LDA降维处理后构建的BPNN回归模型与采用DCT去噪处理后构建的LSSVM回归模型,其均方误差分别为2.164和12.730,R2分别为0.999和0.997。
综合对比可知,BPNN与LSSVM模型对溶液中的3种重金属含量都有很好的预测结果。未经去噪处理的太赫兹时域光谱数据不适合用于回归分析,而经过DCT去噪后,模型的预测精度得到大幅度提升。LDA降维与PCA降维相比,LDA降维更适合与DCT结合用于太赫兹光谱时域数据的预处理。DCT-LDA-BPNN模型对溶液中的3种重金属含量均有较好的预测结果。
表3 Hg、Cd、Cu溶液的浓度预测模型结果比较Table 3 Comparison of Hg,Cd and Cu concentration prediction model results
1)基于吸收系数进行特征频率点建模分析中,1.7 THz处不同浓度Hg溶液的吸收系数在浓度0~1.5 μg·mL-1与2.0~4.0 μg·mL-1内分别有较好的线性关系,决定系数分别为0.971和0.929。不同浓度的Cd溶液的吸收系数在1.2 THz处有较好的线性关系,其线性建模的决定系数达到0.957。未发现不同浓度的Cu溶液的吸收系数在被测太赫兹谱范围内的变化规律。
2)基于太赫兹光谱时域数据进行重金属及其浓度检测分析中,采用DCT、SNV、SD 3种去噪方法以及RF、PNN、KNN 3种检测模型均能对重金属种类进行准确检测,同种重金属不同浓度进行浓度检测时,构建的PCA-PNN浓度识别模型对3种重金属进行浓度识别的效果最佳,其识别准确率分别为99.45%、95.93%和99.25%。
3)基于太赫兹光谱时域数据进行重金属浓度预测分析中,发现DCT去噪可大幅度提高模型预测的精度。构建的DCT-LDA-BPNN模型可用于溶液中Hg、Cd和Cu这3种重金属含量预测,决定系数分别为0.996、0.986和0.999,均方误差分别为0.008、0.026和2.164。