当前位置:文档之家› 红外与近红外光谱常用大数据处理算法

红外与近红外光谱常用大数据处理算法

一、数据预处理(1)中心化变换(2)归一化处理(3)正规化处理(4)标准正态变量校正(标准化处理)(Standard Normal Variate,SNV)(5)数字平滑与滤波(Smooth)(6)导数处理(Derivative)(7)多元散射校正(Multiplicative Scatter Correction,MSC)(8)正交信号校正(OSC)二、特征的提取与压缩(1)主成分分析(PCA)(2)马氏距离三、模式识别(定性分类)(1)基于fisher意义下的线性判别分析(LDA)(2)K-最邻近法(KNN)(3)模型分类方法(SIMCA)(4)支持向量机(SVM)(5)自适应boosting方法(Adaboost)四、回归分析(定量分析)(1)主成分回归(PCR)(2)偏最小二乘法回归(PLS)(3)支持向量机回归(SVR)一、数据预处理 (1) 中心化变换中心化变换的目的是在于改变数据相对于坐标轴的位置。

一般都是希望数据集的均值与坐标轴的原点重合。

若x ik 表示第i 个样本的第k 个测量数据,很明显这个数据处在数据矩阵中的第i 行第k 列。

中心化变换就是从数据矩阵中的每一个元素中减去该元素所在元素所在列的均值的运算:u ik k x x x =- ,其中k x 是n 个样本的均值。

(2) 归一化处理归一化处理的目的是是数据集中各数据向量具有相同的长度,一般为单位长度。

其公式为:'ik x =归一化处理能有效去除由于测量值大小不同所导致的数据集的方差,但是也可能会丢失重要的方差。

(3)正规化处理正规化处理是数据点布满数据空间,常用的正规化处理为区间正规化处理。

其处理方法是以原始数据集中的各元素减去所在列的最小值,再除以该列的极差。

min()'max()min()ik ik k k x xk x x x -=-该方法可以将量纲不同,围不同的各种变量表达为值均在0~1围的数据。

但这种方法对界外值很敏感,若存在界外值,则处理后的所有数据近乎相等。

(4) 标准化处理(SNV )也称标准正态变量校正 该处理能去除由单位不同所引起的不引人注意的权重,但这种方法对界外点不像区间正规化那样的敏感。

标准化处理也称方差归一化。

它是将原始数据集各个元素减去该元素所在列的元素的均值再除以该列元素的标准差。

';ik k ik k k x x x S S -==(5) 数字平滑与滤波数字平滑与滤波的目的在于消除随机误差与仪器的噪声,它是一种最简单的滤波方法。

平滑的实质是略去数据中较小的偏离,而保留具有较大偏离的部分。

设滤波值为*k y ,原始信号值为k y ,两者间的关系如下:1*21mk k j j my y m +=-=+∑式中,k 为原始数据点的序号,2m+1表示窗口(滤波带宽)的大小,m 为调节滤波带宽的参数。

随着窗口的移动,即得到经过滤波后的7一系列信号值。

滤波使数据的噪声减小,但在实际应用过程中应慎重选择滤波带宽,否则会扭曲数据结构。

(6)导数处理(7)多元散射校正(msc)由于样品的不均匀性(粒度分布)常导致所测的样品光谱具有很大的差异性,不同批号的同一样品所测的光谱从表面看,也可能有很大的差异。

在许多情况下,散射引起的光谱变化可能要大于样品成分引起光谱的变化。

散射的程度与光的波长、颗粒度和样品的折射指数等有关,因此在整个光谱围,散射的强度是不同的,通常表现为基线的平移、旋转、二次和高次曲线。

MSC是由Geladi等人提出的,目的是校正每个光谱的散射并获得较理想的光谱。

MSC法假定与波长有关的散射对光谱的贡献和成分的贡献是不同的,理论上,通过光谱上许多点的数据分析,可以把这两部分分开。

MSC方法认为每一条光谱都应该与“理想”光谱成线性关系,而真正的“理想”光谱无法得到,可以用校正集的平均光谱来近似。

因此每个样品的任意波长点下反射吸光度值与其平均光谱的相应吸光度的光谱是近似线性关系,直线的截距和斜率可由光谱集线性回归获得,并用以校正每条光谱,截距(即附加效应)大小反映样品独特反射作用,而斜率大小则反映样品的均匀性。

二、特征的提取与压缩(1)主成分分析(PCA)又称抽象因子分析,主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。

思想:利用降维的思想,把多指标转化为少数几个综合指标。

在研究多变量问题时,变量太多会增大计算量和增加分析问题的复杂性,人们自然希望在进行定量分析的过程中涉及的变量较少,而得到的信息量又较多。

主成分分析是解决这一问题的理想工具。

(主要分析众多变量之间的相关性)1.1主成分分析计算步骤① 计算相关系数矩阵⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=pp p p p p r r r r r r r r r R ΛM M M M ΛΛ212222111211 (1) 在(3.5.3)式中,r ij (i ,j=1,2,…,p )为原变量的xi 与xj 之间的相关系数,其计算公式为∑∑∑===----=nk nk j kji kink j kj i kiij x xx xx x x xr 11221)()())(( (2)因为R 是实对称矩阵(即r ij =r ji ),所以只需计算上三角元素或下三角元素即可。

② 计算特征值与特征向量首先解特征方程0=-R I λ,通常用雅可比法(Jacobi )求出特征值),,2,1(p i i Λ=λ,并使其按大小顺序排列,即0,21≥≥≥≥pλλλΛ;然后分别求出对应于特征值i λ的特征向量),,2,1(p i e i Λ=。

这里要求i e =1,即112=∑=pj ij e ,其中ij e 表示向量i e 的第j 个分量。

③ 计算主成分贡献率及累计贡献率 主成分i z 的贡献率为),,2,1(1p i pk kiΛ=∑=λλ累计贡献率为),,2,1(11p i pk kik kΛ=∑∑==λλ一般取累计贡献率达85—95%的特征值m λλλ,,,21Λ所对应的第一、第二,…,第m (m ≤p )个主成分。

④ 计算主成分载荷 其计算公式为),,2,1,(),(p j i e x z p l ij i j i ij Λ===λ (3)得到各主成分的载荷以后,还可以按照(3.5.2)式进一步计算,得到各主成分的得分⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=nm n n m m z z z z z z z z z Z ΛM M M M ΛΛ212222111211 (4) 1.2 matlab 中主成分分析的函数: 1.princomp 功能:主成分分析 格式:PC=princomp(X)[PC,SCORE,latent,tsquare]=princomp(X)说明:[PC,SCORE,latent,tsquare]=princomp(X)对数据矩阵X 进行主成分分析,给出各主成分(PC)、所谓的Z-得分 (SCORE)、X 的方差矩阵的特征值(latent)和每个数据点的Hotelling T2统计量(tsquare)。

2.pcacov功能:运用协方差矩阵进行主成分分析 格式:PC=pcacov(X)[PC,latent,explained]=pcacov(X)说明:[PC,latent,explained]=pcacov(X)通过协方差矩阵X 进行主成分分析,返回主成分(PC)、协方差矩阵X 的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)。

3.pcares功能:主成分分析的残差格式:residuals=pcares(X,ndim)说明:pcares(X,ndim)返回保留X 的ndim 个主成分所获的残差。

注意,nd im 是一个标量,必须小于X 的列数。

而且,X 是数据矩阵,而不是协方差矩阵。

4.barttest功能:主成分的巴特力特检验 格式:ndim=barttest(X,alpha)[ndim,prob,chisquare]=barttest(X,alpha) 说明:巴特力特检验是一种等方差性检验。

ndim=barttest(X,alpha)是在显著性水平alpha 下,给出满足数据矩阵X 的非随机变量的n 维模型,ndim 即模型维数,它由一系列假设检验所确定,ndim=1表明数据X 对应于每个主成分的方差是相同的;ndim=2表明数据X 对应于第二成分及其余成分的方差是相同的。

(2)马氏距离主成分分析(PCA)的目的就是将数据降维,以消除众多信息共存中相互重叠的信息部分.PCA方法得到光谱的主成分和得分,得分为压缩后的光谱数据.使用得分数据代替原始光谱数据计算马氏距离,不仅能反映全谱数据信息,而且也能压缩参加计算马氏距离的变量数,并能保证肼矩阵不存在共线问题.具体方法如下:在MA TLAB中有函数mahal可以调用求解马氏距离。

三、模式识别(定性分类)(1)基于fisher意义下的线性判别分析(LDA)一、相关知识已知N 个d 维样本数据集合{}12,,,N =x x x L X其中,1N 个属于1ω类,2N 个属于2ω类。

Fisher 线性判别的基本原理是:把d 维空间的样本投影到一条直线上,形成一维空间。

找到某个最好的、最易于分类的投影方向,使在这个方向的直线上,样本的投影能分开得最好。

这就是Fisher 法所要解决的基本问题。

对n x 的分量作线性组合T ,1,2,,n n y n N ==w x L (F2.1)从几何意义上看,若1=w ,则每个n y 就是相对应的n x 到方向为w 的直线上的投影。

w 的方向不同,将使样本投影后的可分离程度不同,从而直接影响识别效果。

寻找最好投影方向*w ,Fisher 准则函数为()T b F w J =Tw S ww w S w(F2.2)式中,b S 为样本类间离散度矩阵,w S 为样本总类离散度矩阵。

使()F J w 取极大值时的*w即为d 维空间到一维空间的最好投影方向:()211m m w -=-*wS (F2.3) 式中,,1,2i i =m 为在d 维空间的两类样本的均值向量。

利用先验知识选定分界阈值点0y ,例如选择()2~~2110m m y +=(F2.4) ()m N N m N m N y ~~~21221120=++=(F2.5) ()()()()2/ln 2~~21212130-+++=N N P P m m y ωω(F2.6)式中,,1,2i m i =%为投影到一维空间的两类样本的均值,(),1,2i P i ω=为两类样本的先验概率。

对于任意未知类别的样本x ,计算它的投影点y :x w T y *=(F2.7)决策规则为0y y >,1ω∈x 0y y <,2ω∈xMATLAB 中有函数fisheriris 、classify 可以调用(2) K-最邻近法(KNN )MATLAB 里面的函数knnclassify 可以调用(3)模型分类方法(Soft independent modelling of class analogy ,SIMCA)(4)支持向量机(SVM)一、相关知识已知数据()()(){}1122,,,,,,1y y y ∈⨯±x x x l l L X其中,{},1,2,,n i i ==⊂x L l ?X 表示λ个n 维样本集,{}λΛ,,2,1,==i y i Y ,1=i y 或1-标记两类样本。

相关主题