單 鵬, 何 年, 李志剛, 吳 綴
(東北大學(xué)秦皇島分校 控制工程學(xué)院, 河北 秦皇島 066000)
現(xiàn)代光譜分析技術(shù)是一種通過分析物質(zhì)的光譜來實(shí)現(xiàn)對(duì)物質(zhì)類別及化學(xué)成分鑒定的方法,是一項(xiàng)結(jié)合了光譜檢測(cè)、數(shù)據(jù)處理、模式識(shí)別和計(jì)算機(jī)等多種理論和方法的綜合性分析技術(shù),被廣泛運(yùn)用于生產(chǎn)生活中[1-3].因受到傳感器、背景噪聲、電路噪聲以及隨機(jī)誤差等因素的影響,噪聲是光譜信號(hào)探測(cè)時(shí)無法避免的現(xiàn)象.光滑去噪成為光譜分析中一個(gè)重要的預(yù)處理步驟,能夠提高后續(xù)光譜分析算法的準(zhǔn)確性和可靠性.光譜去噪算法得到了人們的廣泛重視,產(chǎn)生了多種從不同角度實(shí)現(xiàn)光滑去噪的算法,從嚴(yán)格意義上可分成幾類.
基于噪聲與光譜信號(hào)的統(tǒng)計(jì)特性差異,可采用平滑濾波來消除或減少噪聲,例如均值濾波、中值濾波、Kalman濾波、移動(dòng)多項(xiàng)式平滑濾波等;基于噪聲與光譜信號(hào)的頻率特征差異,可采用傅里葉變換、小波變換[4]和經(jīng)驗(yàn)?zāi)B(tài)分解[5](empirical mode decomposition,EMD)等;基于噪聲與信號(hào)波形之間的差異,可采用形態(tài)濾波等.采用平滑濾波的算法需要人為設(shè)定一些參數(shù)(如移動(dòng)窗口的寬度,擬合階次),參數(shù)直接影響著算法的性能.具有代表性的算法有Savitzky-Golay(SG)多項(xiàng)式最小二乘法[6],SG對(duì)于一些較大的數(shù)據(jù),計(jì)算量變大,不能快速計(jì)算出平滑序列;需要人為設(shè)定一些參數(shù),且不能自動(dòng)選擇;使用寬度固定的平滑窗口,當(dāng)平滑窗口寬度越大,平滑效果越好,但是光譜失真會(huì)越嚴(yán)重,即會(huì)導(dǎo)致峰畸變或者丟失.
相較于SG算法,Whittaker Smoother(WS)算法[7]計(jì)算速度快、實(shí)現(xiàn)簡單、可以通過快速計(jì)算留一交叉驗(yàn)證實(shí)現(xiàn)自動(dòng)選參.WS算法采用整數(shù)階微分(2或3階)對(duì)真實(shí)信號(hào)的粗糙度進(jìn)行約束,并通過調(diào)節(jié)正則化參數(shù)λ來平衡粗糙度和保真度兩個(gè)沖突的目標(biāo),最終找到一個(gè)適當(dāng)?shù)钠交蛄?用整數(shù)階微分表示粗糙度簡單有效,但是這種表示是片面的,所包含的信息量極為有限,不能很好地描述問題.即整數(shù)階微分表示不依賴于歷史數(shù)據(jù),缺少全局相關(guān)性,對(duì)于一些復(fù)雜連續(xù)過程整數(shù)階往往不能很好地對(duì)其進(jìn)行準(zhǔn)確描述.
近些年來,分?jǐn)?shù)階微分研究成為熱點(diǎn),被廣泛地應(yīng)用于各個(gè)領(lǐng)域[8-12].在光譜分析領(lǐng)域,Toman等[13]提出用半階導(dǎo)數(shù)對(duì)譜峰進(jìn)行分辨;盧小泉等[14]采用分?jǐn)?shù)階導(dǎo)數(shù)處理噪聲信號(hào);Kharintsev等[15]提出一種利用分?jǐn)?shù)階導(dǎo)數(shù)來提取光譜參數(shù)的方法;Mocak等[16]利用分?jǐn)?shù)階微分改善信號(hào)的分辨率;李遠(yuǎn)祿等[17]提出一種基于分?jǐn)?shù)階微分的重疊峰分辨的方法;Li等[18]提出用分?jǐn)?shù)階導(dǎo)數(shù)結(jié)合Haar小波來分辨重疊的洛倫茲峰;徐繼剛等[19]利用分?jǐn)?shù)階導(dǎo)數(shù)處理油氣紅外光譜數(shù)據(jù)用來提高多元校正模型分析精度;張東等[20]和田安紅等[21]將分?jǐn)?shù)階微分應(yīng)用在鹽漬土高光譜數(shù)據(jù)預(yù)處理中,表明分?jǐn)?shù)階微分對(duì)干旱荒漠區(qū)土壤光譜數(shù)據(jù)進(jìn)行潛在信息挖掘是有效的;本文通過分?jǐn)?shù)階微分來增強(qiáng)對(duì)真實(shí)光譜信號(hào)的粗糙度表示,進(jìn)一步提高平滑效果.本文將RL和GL分?jǐn)?shù)階微分定義引入WS算法中,解決了在WS算法實(shí)際應(yīng)用中存在的相關(guān)問題.實(shí)驗(yàn)采用偏最小二乘法對(duì)Marzipan在多種不同儀器下的光譜進(jìn)行定量分析,預(yù)測(cè)糖分和水分.實(shí)驗(yàn)結(jié)果表明分?jǐn)?shù)階WS算法比整數(shù)階更加靈活有效,光譜定量分析精度更高.
WS算法:對(duì)于一列長度為m,等間距的噪聲序列為y,通過WS得到平滑序列為z.對(duì)于這兩個(gè)序列,有以下要求:①對(duì)原始數(shù)據(jù)的保真度.通常用函數(shù)s=∑i(yi-zi)2表示.②序列z的粗糙度.這里用z的一階微分來表示,Δzi=zi-zi-1,對(duì)其進(jìn)行平方求和,表示z的粗糙度:R=∑i(Δzi)2.然后,平衡兩個(gè)相互沖突的目標(biāo),這兩個(gè)目標(biāo)的平衡組合記為Q=S+λR,λ是一個(gè)用戶選擇的數(shù).懲罰最小二乘的思想是找出使Q最小的一個(gè)z的序列.記為
(1)
為了避免大量繁瑣的代數(shù)運(yùn)算,這里引入矩陣和向量,目標(biāo)函數(shù)表示為
Q=|y-z|2+λ|Ddz|2.
(2)
其中:y,z為列向量;Dd為(m-1)×m的1階微分矩陣(用戶也可以選其他整數(shù)階階次).對(duì)式(2)求導(dǎo),令其等于零,可得序列z的表達(dá)式:
(3)
其中E為單位陣.
其中,Sλ滿足SλI=I,I為單位向量.
(4)
其中:yi,zi分別為序列y,z的第i個(gè)點(diǎn);Sii(λ)為平滑矩陣第i行第i列對(duì)應(yīng)的元素.即留一交叉驗(yàn)證誤差Scv代數(shù)和矩陣形式分別表示為[22]
(5)
(6)
其中,g為平滑矩陣Sλ對(duì)角線上元素構(gòu)成的對(duì)角矩陣.
目前常用的主要有三種分?jǐn)?shù)階微分定義:Riemann-Liouvile,Grumwald-Letnikov,Caputo.本文選用前兩種定義,同樣為避免大量繁雜的代數(shù)運(yùn)算,選擇矩陣形式表示分?jǐn)?shù)階微分.
1.2.1 Riemann-Liouvile定義
Kilicman等[23]給出Riemann-Liouvile微分運(yùn)算矩陣:
(7)
其中:Γ(α)為Gamma函數(shù);
ξ1=1,ξp=pα+1-2(p-1)α+1+(p-2)α+1,
(p=2,3,…,m-i+1).
1.2.2 Grumwald-Letnikov定義
Grumwald-Letnikov分?jǐn)?shù)階微分定義為
(8)
式中:α為階數(shù);h為微分步長;t與a分別為微分的上、下限;Γ(x)為Gamma函數(shù).設(shè)一元函數(shù)f(x)定義域x∈[a,t],令h=1,n=[t-a],則由定義可推導(dǎo)出函數(shù)f(x)分?jǐn)?shù)階微分的差值表達(dá)式:
(9)
1.3.1 算法原理
序列z的粗糙度R用分?jǐn)?shù)階微分來代替,根據(jù)上文給出的分?jǐn)?shù)階微分矩陣可以寫出各點(diǎn)的微分r=Dαz,粗糙度為各點(diǎn)微分的平方和.目標(biāo)函數(shù)Q=|y-z|2+λ|Dαz|2,序列z的表達(dá)式為
記RL分?jǐn)?shù)階微分實(shí)現(xiàn)為FDWS_RL,GL分?jǐn)?shù)階微分實(shí)現(xiàn)為FDWS_GL.
1.3.2 交叉驗(yàn)證
在一定的區(qū)間內(nèi),通過交叉驗(yàn)證誤差(選擇相應(yīng)的參數(shù):正則化系數(shù)λ、微分階次α)可以選出一條較為理想的光滑信號(hào),而且在一定程度上還可以進(jìn)行人工調(diào)參,用戶可根據(jù)需求選擇.
實(shí)驗(yàn)在Windows 10操作系統(tǒng)下實(shí)現(xiàn);主要配置:Core I5 CPU主頻2.50 GHz,8 GB RAM;編程在Matlab,2019a版下實(shí)現(xiàn).
1) NMR數(shù)據(jù):該數(shù)據(jù)集是斯坦福大學(xué)開發(fā)的小波工具包(Wavelab toolbox)里所采用的經(jīng)典數(shù)據(jù)集(見http://statweb.stanford.edu/~wavelab/),Eilers[7]曾對(duì)其進(jìn)行光滑處理,驗(yàn)證WS算法有效性.本文驗(yàn)證對(duì)尖銳峰信號(hào)的提取是否有效.
2) Marzipan數(shù)據(jù)集:該數(shù)據(jù)集由7種光譜儀測(cè)量的32個(gè)Marzipan樣品的近紅外(NIR)或紅外(IR)光譜組成,用于水分和糖分濃度的預(yù)測(cè)(見http://www.models.life.ku.dk/Marzipan).本文選用5種光譜儀器的光譜數(shù)據(jù)進(jìn)行光滑處理,驗(yàn)證分?jǐn)?shù)階WS算法對(duì)后續(xù)光譜分析精度的影響.
對(duì)光譜數(shù)據(jù)進(jìn)行光滑處理的目的在于去除噪聲的同時(shí)能夠盡可能多地保留真實(shí)信息.整數(shù)階WS算法在處理一些含有尖窄峰的信號(hào)時(shí)(如NMR光譜),峰值信號(hào)丟失過多(見圖2放大圖).與之相反,分?jǐn)?shù)階在保證同樣去噪效果下,可以通過調(diào)節(jié)階次,來實(shí)現(xiàn)對(duì)真實(shí)尖峰信息的保留.通過圖2觀察得到,在一定的階次范圍內(nèi),峰值信號(hào)的保留與微分矩陣的階次成正比,階次越高,保留的有用信息越多.此外,RL,GL兩種計(jì)算方式實(shí)驗(yàn)結(jié)果差別不大.最后固定正則化系數(shù)(λ=10),分別計(jì)算各階次交叉驗(yàn)證均方根誤差,結(jié)果如表1所示.觀察發(fā)現(xiàn),均方根誤差與階次大致呈反比,實(shí)驗(yàn)結(jié)果再次表明,在一定范圍內(nèi),隨著階次越高,保留的真實(shí)信息越多.
圖1核磁共振譜的RL平滑
圖2 核磁共振譜的不同階次的平滑
表1 交叉驗(yàn)證均方根誤差
數(shù)據(jù)預(yù)處理主要是為了后續(xù)的光譜定量分析服務(wù),為了進(jìn)一步驗(yàn)證分?jǐn)?shù)階微分對(duì)后續(xù)光譜定量分析精度的影響,本文對(duì)Marzipan數(shù)據(jù)集進(jìn)行實(shí)驗(yàn).根據(jù)KS[24]算法將樣本按3∶1比例劃分,24個(gè)樣本作為訓(xùn)練集,8個(gè)樣本作為測(cè)試集,采用偏最小二乘回歸方法(PLS)[25]分別建立原始光譜、原始光譜+FDWS_RL(含整數(shù)階)處理、原始光譜+FDWS_GL處理后的PLS模型.PLS采用5折交叉驗(yàn)證,從1~15中選出最佳潛變量個(gè)數(shù).測(cè)試集樣本的均方根預(yù)測(cè)誤差結(jié)果(見表2,表3)表明:5種儀器的光譜在光滑預(yù)處理后預(yù)測(cè)精度都有所提高,其中Bomem,IA260儀器的光譜,經(jīng)過FDWS_RL光滑預(yù)處理后對(duì)糖分的預(yù)測(cè)精度顯著提高,兩種光譜均方根預(yù)測(cè)誤差分別由1.475,3.579降到0.926,0.488;Nit儀器下光譜對(duì)水分的均方根預(yù)測(cè)誤差由0.423降到0.278.FDWS_GL實(shí)驗(yàn)結(jié)果與之相似.可以發(fā)現(xiàn)預(yù)測(cè)均方根誤差最小值所對(duì)應(yīng)的階次均為分?jǐn)?shù)階,反映出分?jǐn)?shù)階WS算法比整數(shù)階更具有應(yīng)用價(jià)值.從理論上講,分?jǐn)?shù)階WS階次連續(xù)可調(diào),同時(shí)涵蓋了整數(shù)階,因此光滑效果永遠(yuǎn)不會(huì)低于整數(shù)階WS算法,最差保持原有整數(shù)階WS算法的光滑效果.實(shí)際實(shí)驗(yàn)結(jié)果同樣表明,用分?jǐn)?shù)階微分作光滑處理時(shí),能夠有效地提取有用信號(hào),相較于整數(shù)階WS算法可以進(jìn)一步提高后期光譜分析算法的準(zhǔn)確性.
表2 PLS預(yù)測(cè)水分、糖分均方根誤差(RL)
表3 PLS預(yù)測(cè)水分、糖分均方根誤差(GL)
1) 本文算法采用分?jǐn)?shù)階微分表示光譜的粗糙度,使算法更加靈活,表示更加豐富.
2) 分?jǐn)?shù)階WS算法比整數(shù)階WS算法能保留更多的真實(shí)信息.在核磁共振譜的實(shí)驗(yàn)中得到證明.
3) 分?jǐn)?shù)階WS算法可以進(jìn)一步提高后續(xù)光譜定量分析的精度,同時(shí)表明對(duì)原始光譜數(shù)據(jù)進(jìn)行光滑處理可以增強(qiáng)有效信號(hào)的相對(duì)強(qiáng)度,提高光譜分析算法的準(zhǔn)確性.在Marzipan紅外光譜實(shí)驗(yàn)中得到證明.