本發(fā)明屬于分析化學領域的無損分析技術,具體涉及一種用于復雜樣品光譜的波長選擇方法。
背景技術:
復雜樣品由于基體復雜、組分繁多而成為分析化學及工業(yè)生產中極具挑戰(zhàn)性的問題。光譜分析技術因其操作簡便、檢驗快速和不需要輔助試劑等優(yōu)點,為復雜樣品分析提供了一種有力手段,已廣泛應用于農業(yè)、石化、制藥、食品、煙草等領域。然而,由于復雜樣品光譜譜帶重疊嚴重,須借助多元校正技術才能對其組分進行定量分析。
在光譜定量分析中,常用的多元校正方法有多元線性回歸(mlr)、主成分回歸(pcr)、偏最小二乘回歸(pls)、人工神經網絡(ann)、支持向量回歸(svr)等。傳統(tǒng)多元校正是在全波段光譜與目標組分之間建立模型。隨著現(xiàn)代分析儀器的發(fā)展,光譜數(shù)據(jù)往往由成百上千個波長點組成,并非所有波長點都與目標組分相關。因此,為了提高模型的預測效果,需要在多元校正前進行波長選擇。
美國holland教授于1975年提出的遺傳算法(ga),通過模擬自然選擇和自然遺傳過程中發(fā)生的繁殖、交叉和基因突變現(xiàn)象,不斷迭代最終選取最優(yōu)個體,成為一種應用最為廣泛的波長選擇方法。但該方法存在收斂速度緩慢、易陷入局部最優(yōu)和對初始種群的選擇要求較高等缺陷(y.w.lin,b.c.deng,q.s.xu,y.h.yun,y.z.liang,theequivalenceofpartialleastsquaresandprincipalcomponentregressioninthesufficientdimensionreductionframework,chemom.intell.lab.syst.2016,150,58-64)。因此,需要發(fā)展快速、全局的智能優(yōu)化方法。
螢火蟲算法(fa)由劍橋大學yangxin-she于2009年提出的一種智能優(yōu)化算法。fa方法具有容易實現(xiàn)、計算效率高、無需嚴格的連續(xù)和可微條件等優(yōu)勢,在交通路徑規(guī)劃(劉廠,董靜,高峰,李剛,張振興,一種基于多目標螢火蟲算法的路徑規(guī)劃方法,中國發(fā)明專利,2012,cn201210251782.7)、電力系統(tǒng)優(yōu)化(王昕,鄭益慧,李立學,胡博,含分布式發(fā)電設備的智能配電網供電優(yōu)化方法,中國發(fā)明專利,2016,cn201610755691.5)和故障診斷(黃新波,宋桐,王婭娜,李文君子,基于灰模糊螢火蟲算法優(yōu)化的變壓器故障診斷方法,中國發(fā)明專利,2013,cn201310647912.3)等方面已有應用,但很少有研究將fa用于復雜樣品光譜波長選擇中。
技術實現(xiàn)要素:
本發(fā)明的目的是針對上述存在的問題,提出一種基于fa的波長選擇方法(如圖1),從而提高復雜樣品定量分析的預測精度。
為實現(xiàn)本發(fā)明所提供的技術方案包括以下步驟:
1)收集一定數(shù)目的復雜樣品作為分析對象,采集樣品的光譜,并用常規(guī)分析方法測得每個樣品中目標分析組分的含量。
2)按照一定的分組方式,將數(shù)據(jù)集劃分為訓練集和預測集。
3)將訓練集的整個光譜范圍劃分為若干個子區(qū)間,螢火蟲群體用0/1表示是否選擇某段波長。
4)利用公式(1)、(2)和(3)將螢火蟲群體離散化。
rij=xi-xj(2)
其中,β0表示最大吸引力,γ表示環(huán)境吸光度,r表示螢火蟲之間距離,t表示算法的迭代次數(shù),α表示常數(shù),εj表示高斯分布。
5)依次優(yōu)化因子數(shù)、波段數(shù)、種群數(shù)、環(huán)境吸光度和常數(shù)參數(shù)。
因子數(shù)的優(yōu)化方法為:因子數(shù)取值范圍為1~25,間隔為1,計算不同因子數(shù)下的交叉驗證均方根誤差(rmsecv),通過蒙特卡羅交叉驗證結合f檢驗確定pls的最佳因子數(shù)。
波段數(shù)的優(yōu)化方法為:將整個光譜區(qū)間劃分為5~30個波段數(shù),間隔為5,分別計算不同波段數(shù)下的預測均方根誤差(rmsep)。最小的rmsep值對應的波段數(shù)為最佳波段數(shù)。
種群數(shù)的優(yōu)化方法為:將種群數(shù)n劃分為10~60個,間隔為10,計算不同種群數(shù)下的rmsep值。最小的rmsep值對應的種群數(shù)為最佳種群數(shù)。
環(huán)境吸光度的優(yōu)化方法為:環(huán)境吸光度γ取值范圍為0.1~1.0,間隔為0.1,計算不同環(huán)境吸光度下的rmsep值。最小的rmsep值對應的吸光度為最佳環(huán)境吸光度。
常數(shù)的優(yōu)化方法為:常數(shù)α取值范圍為0.1~1.0,間隔為0.1,計算在不同常數(shù)下的rmsep值。最小的rmsep值對應的常數(shù)為最佳常數(shù)。
6)利用確定好的最佳參數(shù),運行fa-pls算法,選擇出對應目標組分的波長點。
7)對預測集中未知樣品的含量進行預測。
本發(fā)明的優(yōu)點是:將螢火蟲算法引入到復雜樣品光譜定量分析中,算法收斂速度快,所選擇的波長建立模型要優(yōu)于全波段預測效果,為光譜波長選擇提供了一種新方法,具有較高的實用價值。
附圖說明
圖1是fa算法流程圖
圖2是小麥樣品的可見-近紅外光譜圖
圖3是小麥數(shù)據(jù)的預測均方根誤差隨波段數(shù)的變化圖
圖4是小麥數(shù)據(jù)的預測均方根誤差隨種群數(shù)n的變化圖
圖5是小麥數(shù)據(jù)的預測均方根誤差隨環(huán)境吸光度γ的變化圖
圖6是小麥數(shù)據(jù)的預測均方根誤差隨常數(shù)α變化圖
圖7是血液樣品的近紅外光譜圖
圖8是三元混合物樣品的可見-近紅外光譜圖
圖9是燃油樣品的近紅外光譜圖
具體實施方式
為更好理解本發(fā)明,下面結合實施例對本發(fā)明做進一步地詳細說明,但是本發(fā)明要求保護的范圍并不局限于實施例所表示的范圍。
實施例1:
本實施例應用于可見-近紅外光譜分析,對小麥樣品中的蛋白質組分含量進行測定。具體的步驟如下:
1)收集884個小麥樣品作為分析對象,用6500型光譜儀(nirsystems,inc.,silversprings,usa)進行采集樣品的光譜,波長范圍為400-2498nm,采樣間隔2nm,每個光譜包含1050個數(shù)據(jù)點,下載網址:http://www.idrc-chambersburg.org/shootout2008.html。圖2顯示了該實施例的近紅外光譜圖。
2)按照網站上的分組方式,將777個樣品作為訓練集,107個樣品作為預測集。
3)將訓練集的整個光譜范圍劃分為若干個子區(qū)間,螢火蟲群體用0/1表示是否選擇某段波長。
4)利用公式(1)、(2)和(3)將螢火蟲群體離散化。
rij=xi-xj(2)
其中,β0表示最大吸引力,γ表示環(huán)境吸光度,r表示螢火蟲之間距離,t表示算法的迭代次數(shù),α表示常數(shù),εj表示高斯分布。
5)依次優(yōu)化因子數(shù)、波段數(shù)、種群數(shù)、環(huán)境吸光度和常數(shù)參數(shù)。
因子數(shù)優(yōu)化方法為:因子數(shù)取值范圍為1~25,間隔為1,計算不同因子數(shù)下的交叉驗證均方根誤差(rmsecv),通過蒙特卡羅交叉驗證結合f檢驗確定pls的最佳因子數(shù)。本實施例的最佳因子數(shù)為10。
波段數(shù)優(yōu)化方法為:將整個光譜區(qū)間劃分為5~30個波段數(shù),間隔為5,分別計算不同波段數(shù)下的rmsep。最小的rmsep值對應的波段數(shù)為最佳波段數(shù)。圖3顯示了本實施例rmsep隨著波段數(shù)的變化。從圖3中可以看出rmsep值隨著段數(shù)的增加先減小后增大,在10個波段取得最小rmsep值。因此該實施例的最佳波段數(shù)為10。
種群數(shù)的優(yōu)化方法為:將種群數(shù)n劃分為10~60個,間隔為10,計算不同種群數(shù)下的rmsep值。最小的rmsep值對應的種群數(shù)為最佳種群數(shù)。圖4顯示了本實施例rmsep值隨種群數(shù)的變化。從圖4可以看出rmsep隨著種群數(shù)先下降后上升,在種群數(shù)為30處取得最小rmsep值,由此確定該實施例的最佳種群數(shù)n為30。
環(huán)境吸光度優(yōu)化方法為:環(huán)境吸光度γ取值范圍為0.1~1.0,間隔為0.1,計算不同環(huán)境吸光度下的rmsep值。最小的rmsep值對應的環(huán)境吸光度為最佳環(huán)境吸光度。圖5顯示了本實施例rmsep值隨著環(huán)境吸光度的變化。從圖5可以看出在環(huán)境吸光度為0.5處取得最小rmsep值,由此確定該實施例最佳環(huán)境吸光度γ為0.5。
常數(shù)的優(yōu)化方法為:常數(shù)α取值范圍為0.1~1.0,間隔為0.1,計算在不同常數(shù)下的rmsep值。最小的rmsep值對應的常數(shù)為最佳常數(shù)。圖6顯示了本實施例rmsep值隨著常數(shù)的變化。從圖6看出rmsep值隨常數(shù)先下降后上升,在常數(shù)為0.3處取得最小rmsep值,由此確定該實施例最佳常數(shù)α為0.3。
6)采用最佳因子數(shù)10、最佳波段數(shù)10、最佳種群數(shù)30、最佳環(huán)境吸光度0.5和最佳常數(shù)0.3,運行fa-pls算法并選擇出對應目標組分的波長點。
7)對預測集中未知樣品的含量進行預測。
fa-pls預測的rmsep為0.3498,pls的rmsep為0.7763,相比于pls,fa-pls的rmsep值下降55%,說明fa波長選擇后建立pls模型要優(yōu)于全波段預測的效果。另外,fa-pls的運行時間為106.63s,說明fa波長選擇的效率非常高。
實施例2:
本實施例應用于近紅外光譜分析,對血液樣品中的血紅蛋白組分含量值進行測定。具體的步驟如下:
1)收集231個血液樣品作為分析對象,用6500型光譜儀(nirsystems,inc.,silversprings,usa)進行采集樣品的光譜,波長范圍為1100-2498nm,采樣間隔2nm,每個光譜包含700個數(shù)據(jù)點,數(shù)據(jù)由karlnorris提供。圖7顯示了該實施例的近紅外光譜圖。
2)按照網站上的分組方式,將173個樣品作為訓練集,58個樣品作為預測集。
3)將訓練集的整個光譜范圍劃分為若干個子區(qū)間,螢火蟲群體用0/1表示是否選擇某段波長。
4)利用公式(1)、(2)和(3)將螢火蟲群體離散化。
rij=xi-xj(2)
其中,β0表示最大吸引力,γ表示環(huán)境吸光度,表示螢火蟲之間距離,t表示算法的迭代次數(shù),α表示常數(shù),εj表示高斯分布。
5)依次優(yōu)化因子數(shù)、波段數(shù)、種群數(shù)、環(huán)境吸光度和常數(shù)參數(shù)。
因子數(shù)優(yōu)化方法為:因子數(shù)取值范圍為1~25,間隔為1,計算不同因子數(shù)下的交叉驗證均方根誤差(rmsecv),通過蒙特卡羅交叉驗證結合f檢驗確定pls的最佳因子數(shù)。本實施例的最佳因子數(shù)為11。
波段數(shù)優(yōu)化方法為:將整個光譜區(qū)間劃分為5~30個波段數(shù),間隔為5,分別計算不同波段數(shù)下的rmsep。最小的rmsep值對應的波段數(shù)為最佳波段數(shù)。在波段數(shù)為20處取得最小emsep值,由此確定該實施例的最佳波段數(shù)為20。
種群數(shù)的優(yōu)化方法為:將種群數(shù)n劃分為10~60個,間隔為10,計算不同種群數(shù)下的rmsep值。最小的rmsep值對應的種群數(shù)為最佳種群數(shù)。在種群數(shù)為30處取得最小rmsep值,由此確定該實施例最佳種群數(shù)n為30。
環(huán)境吸光度優(yōu)化方法為:環(huán)境吸光度γ取值范圍為0.1~1.0,間隔為0.1,計算不同環(huán)境吸光度下的rmsep值。在環(huán)境吸光度為0.8處取得最小rmsep值,由此確定該實施例最佳環(huán)境吸光度為0.8。
常數(shù)的優(yōu)化方法為:常數(shù)α取值范圍為0.1~1.0,間隔為0.1,計算在不同常數(shù)下的rmsep值。在常數(shù)為0.1處取得最小rmsep值,由此確定該實施例最佳常數(shù)為0.1。
6)采取最佳因子數(shù)11、最佳波段數(shù)20、最佳種群數(shù)30、最佳環(huán)境吸光度0.8和最佳常數(shù)0.1,運行fa-pls算法并選擇出對應目標組分的波長點。
7)對預測集中未知樣品的含量進行預測。
fa-pls預測的rmsep為0.3308,pls的rmsep為0.4310,相比于pls,fa-pls的rmsep值下降23%,說明fa波長選擇后建立pls模型要優(yōu)于全波段預測的效果。另外,fa-pls的運行時間為95.5s,說明fa波長選擇的效率非常高。
實施例3:
本實施例應用于可見-近紅外光譜分析,對乙醇-水-異丙醇三元混合物樣品中的異丙醇組分含量值進行測定。具體的步驟如下:
1)收集95個三元混合物樣品作為分析對象,用hp8453分光光度計(hewlett-packard,paloalto,ca)進行采集樣品的光譜,波長范圍為850-1049nm,采樣間隔1nm,每個光譜包含200個數(shù)據(jù)點。圖8顯示了該實施例的近紅外光譜圖。
2)按照網站上的分組方式,將65個樣品作為訓練集,將30個樣品作為預測集。
3)將訓練集的整個光譜范圍劃分為若干個子區(qū)間,螢火蟲群體用0/1表示是否選擇某段波長。
4)利用公式(1)、(2)和(3)將螢火蟲群體離散化。
rij=xi-xj(2)
其中,β0表示最大吸引力,γ表示環(huán)境吸光度,表示螢火蟲之間距離,t表示算法的迭代次數(shù),α表示常數(shù),εj表示高斯分布。
5)依次優(yōu)化因子數(shù)、波段數(shù)、種群數(shù)、環(huán)境吸光度和常數(shù)參數(shù)。
因子數(shù)優(yōu)化方法為:因子數(shù)取值范圍為1~25,間隔為1,計算不同因子數(shù)下的交叉驗證均方根誤差(rmsecv),通過蒙特卡羅交叉驗證結合f檢驗確定pls的最佳因子數(shù)。本實施例的最佳因子數(shù)為7。
波段數(shù)優(yōu)化方法為:將整個光譜區(qū)間劃分為5~30個波段數(shù),間隔為5,分別計算不同波段數(shù)下的rmsep。最小的rmsep值對應的波段數(shù)為最佳波段數(shù)。在波段數(shù)為10處取得最小emsep值,由此確定該實施例的最佳波段數(shù)為10。
種群數(shù)的優(yōu)化方法為:將種群數(shù)n劃分為10~60個,間隔為10,計算不同種群數(shù)下的rmsep值。最小的rmsep值對應的種群數(shù)為最佳種群數(shù)。在種群數(shù)為20處取得最小rmsep值,由此確定該實施例最佳種群數(shù)n為20。
環(huán)境吸光度優(yōu)化方法為:環(huán)境吸光度γ取值范圍為0.1~1.0,間隔為0.1,計算不同環(huán)境吸光度下的rmsep值。在環(huán)境吸光度為0.7處取得最小rmsep值,由此確定該實施例最佳環(huán)境吸光度為0.7。
常數(shù)的優(yōu)化方法為:常數(shù)α取值范圍為0.1~1.0,間隔為0.1,計算在不同常數(shù)下的rmsep值。在常數(shù)為0.3處取得最小rmsep值,由此確定該實施例最佳常數(shù)為0.3。
6)采用最佳因子數(shù)7、最佳波段數(shù)10、最佳種群數(shù)20、最佳環(huán)境吸光度0.7和最佳常數(shù)0.3,運行fa-pls算法并選擇出對應目標組分的波長點。
7)對預測集中未知樣品的含量進行預測。
fa-pls預測的rmsep為0.0136,pls的rmsep為0.0194,相比于pls,fa-pls的rmsep值下降30%,說明fa波長選擇后建立pls模型要優(yōu)于全波段預測的效果。另外,fa-pls的運行時間為8.42s,說明fa波長選擇的效率非常高。
實施例4:
本實施例是應用于近紅外光譜分析,對燃油樣品的密度進行測定。具體的步驟如下:
1)收集263個燃油樣品作為分析對象,用southwestresearchinstitute(swri)進行采集樣品的光譜,波長范圍為750-1550nm,采樣間隔2nm,每個光譜包含400個數(shù)據(jù)點,下載網址:http://software.eigenvector.com/data/swri/index.html。圖9顯示了該實施例的近紅外光譜圖。
2)按照網站上的分組方式,將142個樣品作為訓練集,將121個樣品作為預測集。
3)將訓練集的整個光譜范圍劃分為若干個子區(qū)間,螢火蟲群體用0/1表示是否選擇某段波長。
4)利用公式(1)、(2)和(3)將螢火蟲群體離散化。
rij=xi-xj(2)
其中,β0表示最大吸引力,γ表示環(huán)境吸光度,表示螢火蟲之間距離,t表示算法的迭代次數(shù),α表示常數(shù),εj表示高斯分布。
5)依次優(yōu)化因子數(shù)、波段數(shù)、種群數(shù)、環(huán)境吸光度和常數(shù)參數(shù)。
因子數(shù)優(yōu)化方法為:因子數(shù)取值范圍為1~25,間隔為1,計算不同因子數(shù)下的交叉驗證均方根誤差(rmsecv),通過蒙特卡羅交叉驗證結合f檢驗確定pls的最佳因子數(shù)。本實施例的最佳因子數(shù)為9。
波段數(shù)優(yōu)化方法為:將整個光譜區(qū)間劃分為5~30個波段數(shù),間隔為5,分別計算不同波段數(shù)下的rmsep。最小的rmsep值對應的波段數(shù)為最佳波段數(shù)。在波段數(shù)為20處取得最小emsep值,由此確定該實施例的最佳波段數(shù)為20。
種群數(shù)的優(yōu)化方法為:將種群數(shù)n劃分為10~60個,間隔為10,計算不同種群數(shù)下的rmsep值。最小的rmsep值對應的種群數(shù)為最佳種群數(shù)。在種群數(shù)為40處取得最小rmsep值,由此確定該實施例最佳種群數(shù)n為40。
環(huán)境吸光度優(yōu)化方法為:環(huán)境吸光度γ取值范圍為0.1~1.0,間隔為0.1,計算不同環(huán)境吸光度下的rmsep值。在環(huán)境吸光度為0.9處取得最小rmsep值,由此確定該實施例最佳環(huán)境吸光度為0.9。
常數(shù)的優(yōu)化方法為:常數(shù)α取值范圍為0.1~1.0,間隔為0.1,計算在不同常數(shù)下的rmsep值。在常數(shù)為0.5處取得最小rmsep值,由此確定該實施例最佳常數(shù)為0.5。
6)采用最佳因子數(shù)9、最佳波段數(shù)20、最佳種群數(shù)40、最佳環(huán)境吸光度0.9和最佳常數(shù)0.5,運行fa-pls算法并選擇出對應目標組分的波長點。
7)對預測集中未知樣品的含量進行預測。
fa-pls預測的rmsep為0.0014,pls的rmsep為0.0023,相比與pls,fa-pls的rmsep值下降39%,說明fa波長選擇后建立pls模型要優(yōu)于全波段預測的效果。另外,fa-pls的運行時間為8.42s,說明fa波長選擇的效率非常高。