关注公众号

关注公众号

手机扫码查看

手机查看

喜欢作者

打赏方式

微信支付微信支付
支付宝支付支付宝支付
×

近红外光谱分析中的光谱预处理方法(一)

2021.4.06

  在近红外光谱分析中,多元校正是必不可少的方法,除此之外还有一个内容也经常用到化学计量学,即光谱数据预处理,它包括光谱处理和波长选择。

  可用于近红外光谱测量的样品多种多样,性质各异,所测定的光谱除了与样品的化学成分信息相关以外,还可能受样品状态、检测环境和测量条件这些物理因素有关。通常,近红外光谱分析利用的是样本的化学信息,而物理信息往往是干扰因素,对建模不利,应该予以消除或降低,这就是进行光谱预处理的目标。本讲在介绍常见光谱预处理方法的基础上,还尝试对各种方法的本质进行描述。虽然,近红外光谱分析过程中,通常都是“尝试地”使用预处理方法,再根据建模结果选择方法,但如果能更深入地理解这些方法的内涵,则有望读者能根据各种预处理方法的特点,以及样品的实际特点,更科学地、理性地使用这些方法。

  目前常用的预处理方法有平滑、基线校正、求导、多元散射校正、标准正态变换、正交信号分解、小波变换滤波、傅里叶变换滤波等。波长选择也属于光谱预处理方法,但不是本文讨论的范畴,这里推荐一篇最近发表的综述供大家参考:Yun Yong-Huan et al., An overview of variable selection methods in multivariate calibration of near infrared spectroscopy,TRENDS IN ANALYTICAL CHEMISTRY, 113(2019), 102-115。在近红外光谱分析中经常使用的方法包括平滑、求导、多元散射校正、标准正态变换等,本文只介绍这几种方法,其他方法请参考相关资料。

  1、光谱数据中心化

  从数学原理来讲,为了保证能获得优异的回归性能,如PLS、PCA及MLR这些多元校正方法都需要对数据进行中心化处理,然后再进行多元校正。如果y和X是指标参数(如浓度)向量和NIR光谱矩阵,多元校正应该用如下模型

Xj=a0+a1j+a2j2+...+apjp

该式就是对y和X进行了中心化处理。一般人们都默认使用了中心化的y和X,所以模型依然用y = Xβ + e的形式。有时也有用非中心化的y和X建立模型,但严格来讲还是中心化的模型更可靠。对X按列计算平均值获得平均光谱图片,光谱数据中心化是用每一个样本的光谱减去平均光谱。如图1所示,中心化的光谱以零值为中心分布在其上下,其和等于零。

  对y和X分别中心化后建立模型,实际上就是用y的变化量与X的变化量建立多元校正模型,使得模型中的截距项为零,简化了模型。与其他光谱分析方法不同,建模样品(即标准样品)的近红外光谱通常都是在一个高背景情况下叠加一个较小吸光度组成的,中心化相当于去除了高背景的影响,有利于建模,也符合Lambert-Beer定律所描述的吸光度与浓度的关系。

  2、光谱数据的平滑

  数据平滑是常用的测量信号处理方法,近红外光谱平滑是为了减小仪器噪声对光谱的影响,提高信噪比。有多种平滑方法,近红外光谱分析中应用最广的是Savitzky-Golay平滑法(S-G平滑法),也称为窗口移动多项式拟合平滑法。

  曲线平滑的目的就是把含有噪声的“毛刺”信号去除而获得“平滑”的真实曲线信号。数学上定义平滑曲线为连续可导的曲线,可以用一个适当的函数进行描述。但用一个固定函数形式的,又不太复杂(为了易于拟合)的连续可导函数在整个波长范围来表示一条近红外光谱几乎是不可能的。Savitzky和Golay提出一个巧妙的解决方法,即S-G平滑法。将整个光谱范围分解为多个局部小段,在每个小段用某个比较简单的函数进行拟合得到函数的解析式,这样做使得整段复杂的光谱曲线可以用局部的简单函数分别处理来解决,而且用窗口移动的形式从整个光谱的开始到结尾获得多个局部小段,分别拟合得到多个拟合函数来计算平滑曲线;每个局部小段均含有奇数个波长点,用拟合后的函数只计算中心波长的估计值作为该波长的平滑结果,移动窗口的策略可收集所有局部小段中心波长平滑值,正好获得整个光谱的平滑曲线(光谱两端有(w-1)/2个波长点缺少平滑值,w为局部小段的波长数目,称为窗口大小);拟合用的函数用多项式函数(只用较小阶数,常用1或2阶),该函数性质优良(比如可导,导数连续,具有线性加和形式),又符合任何函数都可用泰勒级数展开的数学规律。

  S-G平滑以及将要介绍的S-G求导方法都是常用的曲线数据处理方法,其具体计算过程容易从书籍中得到(可参看杜一平等,《化学计量学应用》,化学工业出版社,2008.5),在此不过多介绍,只给出重要的公式,以便读者深入理解。

  窗口移动得到的每个局部小段包含w=2n+1个波长,称为窗口大小,多项式函数为:图片 ,p为阶次,通常为1、2等,x为光谱,j表示波长点,它有w个取值。用该多项式对w个j值和对应的图片值进行最小二乘拟合,获得参数a0,a1,a2,图片ap,用参数计算中心点的x,就是平滑值。容易推导,平滑值就是光谱测量值的加权平均值。

  值得指出的是,在S-G平滑时要对窗口大小做合适的选择,如果窗口太小,噪声不易去除,窗口太大则导致平滑过度,使峰宽较小的精细信号丢失。

  3、光谱数据的求导

  求导也是常用的近红外光谱预处理方法,它可以消除基线漂移、提高光谱分辨率。从微积分知识我们知道,一阶导数可以去除常数基线,二阶导数可消除一次函数基线(线性函数),三阶导数能去除二次函数基线,等等。所以,光谱求导是去除基线漂移的有效手段,对复杂的基线即使不能完全消除,也可以一定程度地去除。导数光谱另一个优良性质是它能提高光谱分辨率。我们知道,一个峰形曲线的一阶导数有2个峰(正峰和倒峰都是峰),二阶导数为3个峰,三阶导数则有4个峰。在出峰范围内峰数量增加,则不完全重叠的两个峰分开的程度自然就增加了,进而提高了分辨率。在近红外光谱分析中求导能提高光谱分辨率,使得重叠峰分开程度增加,可有效降低光谱的干扰,对建立模型有利。但光谱求导也能增加噪声水平,降低光谱信噪比,对建模有害。导数阶数越高信噪比降低越严重,所以,近红外光谱分析中导数光谱一般只使用一阶或二阶,偶尔用到三阶,再高阶的导数光谱基本不用。

  一条光谱难以用适当的函数式子写出,当然不能用解析式来计算导数光谱。有多种求导算法,如差分法、窗口移动多项式拟合法(Savitzky-Golay求导法)、小波变换法等。近红外光谱分析中广泛使用Savitzky-Golay求导法,简称S-G求导法。该方法的基本思想与S-G平滑法一样,即,用窗口移动的形式从整个光谱的开始到结尾获得多个局部小段,对每个小段用多项式函数进行拟合得到多项式参数,对拟合后的函数求导,计算中心波长点的导数值,移动窗口的策略可收集所有局部小段中心波长导数值,正好获得整个光谱的导数曲线(同样缺少光谱两端(w-1)/2个波长点的导数值)。与S-G平滑法的结果类似,S-G求导法计算的导数同样也是光谱测量值的加权平均值,当然两种方法的权值是不一样的。一阶和二阶导数光谱如图1所示。可以看出:导数光谱向中心(零值位置)发生偏移,正峰和倒峰分布于零值位置上下,而且二阶比一阶偏移的更明显;光谱峰数增加了(包括正峰和倒峰),而且二阶比一阶增加的更多;注意导数光谱的纵坐标,其数值明显变小了,信噪比也明显降低,而且二阶比一阶降低的更甚。

  与平滑相似,S-G求导时要对求导窗口大小做合适的选择,窗口太小会扩大噪声,而窗口太大平滑过度,导致精细信息丢失。

  光谱导数计算的具体方法可以参考一些书籍,比如:杜一平等,《化学计量学应用》,化学工业出版社,2008.5。

  另外,如果给出合适的定义,还可以计算分数阶导数,如0.5阶、1.1阶、2.8阶等。感兴趣的读者可参考:Kai-Yi Zheng, et al, Pretreating near infrared spectra with fractional order Savitzky–Golay differentiation (FOSGD),Chinese Chemical Letters,26(2015), 293-296。

作者简介

52627_202104061719281.jpg

杜一平,华东理工大学教授,博士生导师。研究方向包括化学计量学,分子光谱新型分析方法开发等。现任中国化学会计算机化学专业委员会委员,中国仪器仪表学会近红外光谱分会副理事长,中国光学会光谱专业委员会常务理事,上海市化学化工学会理事等社会兼职。

推荐
关闭