matlab预处理光谱数据,一种近红外光谱数据预处理方法与流程

matlab预处理光谱数据,一种近红外光谱数据预处理方法与流程_第1张图片

本发明公开了属于近红外光谱分析技术领域,尤其涉及一种近红外光谱数据预处理的新方法,主要用于建立近红外定量和定性模型时对近红外光谱数据的预处理。

背景技术:

近红外光谱技术具有分析速度快、样本制作简单的特点,目前,近红外光谱技术在烟草、中药、食品领域得以实际应用,随着近红外光谱技术应用范围不断拓展,大量相对准确的近红外定量模型需要建立,一个预测精度高、稳定性好的模型受近红外光谱数据的影响较大。近红外光谱数据除含有样品自身的化学信息外,还包含其他无关信息和噪声,如样品背景和杂散光等。因此,在建立近红外定量模型时,旨在消除光谱数据无关信息和噪声的预处理方法变得十分关键和必要。多元散射校正(MSC)方法主要是用来消除固定颗粒大小不均匀、表面散射对近红外漫反射的影响。传统的多元散射校正方法是针对全波段光谱数据进行多元散射校正,该方法的缺点是,全波段光谱数据进行多元散射校正时得到的结果受局部波长点对应的吸光度值影响较大。

技术实现要素:

本发明的目的是寻找一种光谱数据预处理的新方法,传统的多元散射校正方法是针对全波段光谱数据进行散射校正,该方法的缺点是全波段光谱数据进行多元散射校正时得到的结果受局部波长点对应的吸光度值影响较大。本发明是为了解决传统多元散射校正的缺点,而提出一种新的光谱数据预处理方法来对光谱数据进行预处理。

为了实现上述的目的,本发明采用了以下的技术方案:

一种近红外光谱数据预处理方法,该方法包括以下的步骤:

1)采集样本的近红外光谱数据;

2)采用经典方法检测样本的化学值数据;

3)每个样本的近红外光谱数据为x(1×m),m为连续波长变量数;

4)将连续波长变量(m)分成k个子区间;

5)计算样品光谱数据每个子区间的平均光谱

6)对一条光谱x(1×m)的子区间光谱xi与对应的子区间平均光谱进行线性回归,用最小二乘法求取b0和b;

7)计算一条光谱子区间的多元散射校正光谱xi,msc=(xi-b0)/b;

8)得到一条光谱经过多元散射校正预处理后的光谱xmsc=[x1,msc,x2,msc,…,xk,msc];

9)最后将得到的近红外光谱预处理后的数据和化学值对应建立近红外定量模型并对该模型进行评价。

作为进一步改进,所述步骤4)将波长变量(m)分成k个子区间,具体方法是:设置每个子区间宽度为w,那么k=m/w,当m/w的结果是小数时,k的取值是m/w的整数加1。因此,xi(1×w),当m/w的结果是小数时,那么

作为进一步改进,所述步骤5)计算样品光谱数据每个子区间的平均光谱具体方法是:将所有样本光谱都分成k个子区间,然后分别计算每个子区间的平均光谱

作为进一步改进,所述步骤8)得到一条光谱经过多元散射校正预处理后的光谱xmsc=[x1,msc,x2,msc,…,xk,msc],具体方法是:将每个子区间依次组合成全波段的多元散射校正数据,xmsc(1×m)=[x1,msc,x2,msc,…,xk,msc]。

本发明采用的是分段使用多元散射校正来对近红外光谱数据进行预处理,消除了局部波长点吸光度值对全波段光谱数据的影响,采用该方法可以很好的消除固定颗粒大小不均匀、表面散射对近红外漫反射的影响,提高近红外光谱数据的信噪比。对于近红外光谱数据预处理建立预测精度高的模型具有重要的意义,有助于近红外光谱分析技术的推广和应用。

附图说明

图1是原始近红外光谱图。

图2是化学值分布图。

图3是经分段多元散射校正处理之后光谱图。

图4是导数预处理光谱图。

图5是导数预处理后建立的近红外模型真实值和预测值对比图。

图6是分段多元散射校正后建立的近红外模型真实值和预测值对比图。

图7外部验证对比图。

具体实施方式

下面采用附图和实施例对本发明作进一步说明。

本实例采用烟草在线近红外光谱作为测试对象,对一种新的近红外光谱数据预处理方法进行详细的说明。

1)采集样本的近红外光谱数据,具体过程:在线近红外光谱仪安装在原烟铺叶生产皮带上,生产过程中原烟经过在线近红外探头,在线近红外光谱仪采集原烟近红外光谱数据。在线近红外光谱仪设置每5秒钟生成一条光谱数据,5秒内抓取1个样本并标号,放入自封袋,共取样358个样本,光谱数据见图1。

2)采用经典方法检测样本的化学值数据,具体过程:将样本烟叶去梗、剪碎放入烘箱中,烘箱温度设置为40℃,烘干3小时,将从烘箱中取出的烟叶放入干燥器中进行冷却到常温,之后将烟叶样本用粉碎机进行粉碎,过40目的筛子,最后利用流动分析仪检测烟叶的烟碱含量,烟碱值见图2。

3)生成的一条光谱数据为x(1×256),256为连续波长点数。

4)将256个连续波长点对应的吸光度值的子区间宽度设置为50,那么k=6。

5)对原始近红外光谱数据进行分段多元散射校正处理,处理后的图见图3。

6)对原始近红外光谱数据进行导数预处理,导数参数选择1阶导,平滑点选择13,拟合方程的次数选择1次,处理后的结果见图4。

7)将两种预处理后的近红外光谱数据与化学值分别建立两个模型,建模方法为PLS(偏最小二乘法),波长选择方法为CARS(自适应竞争重加权采样法),选择前面的光谱258条作为建模集,后面100条光谱作为验证集,PLS的参数选择成分数为12。其中,R是相关系数,SE是标准误差,RSD是相对标准差。

8)外部验证对比表:

你可能感兴趣的:(matlab预处理光谱数据)