新四季網

一種基於蝙蝠算法的光譜變量選擇方法與流程

2023-10-23 00:11:07 2


本發明屬於分析化學領域的無損分析技術,具體涉及一種基於蝙蝠算法的光譜變量選擇方法。



背景技術:

光譜分析技術如紫外光譜、紅外光譜、拉曼光譜、近紅外光譜等具有分析速度快、靈敏度高等優勢,已廣泛地應用於石油、農業、醫藥、化工、環境和生物等許多領域。但是複雜樣品的光譜存在噪聲、背景以及信號重疊等問題,因此須藉助於化學計量學方法才能進行定性定量分析。常規的建模方法是對所有的光譜數據都進行建模,但是光譜數據一般存在成百上千的變量,且並不是所有變量都能提供有用信息,故而會影響預測模型的質量,導致其預測能力下降,因此,需要在建模之前進行變量選擇。

傳統的變量選擇方法主要包括基於智能優化算法的方法以及基於統計學的方法。前者主要有模擬退火算法、遺傳算法、蟻群算法、粒子群算法、人工魚群算法等,儘管模擬退火算法和遺傳算法具有相當強的搜索能力,但它們也存在需要大量參數、較長搜索時間以及容易陷入局部最優等缺陷。後者主要有無信息變量消除法(Uninformative Variable Elimination,UVE)、蒙特卡羅-無信息變量消除法(Monte Carlo-Uninformative Variable Elimination,MC-UVE)、隨機檢驗-偏最小二乘法(Randomization Test-Partial Least Square,RT-PLS)等。無信息變量消除法採用留一法交叉驗證來獲取變量穩定性值,該過程除需多次反覆運算外,還需引入與原始光譜所包含變量數目相等的隨機噪聲變量,所以當數據集數目較大時,該方法存在計算效率低,耗時長等缺點。因此,還需要進一步發展高效準確的變量選擇方法。

蝙蝠算法(BA)是劍橋大學Xin-she Yang教授於2010年提出的元啟發式優化算法,其具有理論方法簡單、設置參數少、編碼實現易的特點,算法通過模擬蝙蝠的覓食以及回聲定位行為,改變頻率、響度和脈衝發射率,進行最佳解的搜索,直到目標達到或停止條件得到滿足。蝙蝠算法在工業上常用於連續優化問題,然光譜數據都是離散的數據點,因而傳統連續優化的蝙蝠算法無法直接應用於光譜變量選擇。本發明對蝙蝠算法進行離散化,並應用於光譜數據的變量選擇,用偏最小二乘回歸(PLS)建立模型,從而提出了一種基於蝙蝠算法的光譜變量選擇方法。既簡化了模型,又提高了模型的預測精度。



技術實現要素:

本發明的目的是針對上述存在的問題,對蝙蝠算法進行離散化,並應用於光譜數據的變量選擇,用PLS對所選擇的變量建立模型,從而達到簡化模型及改善模型預測能力的目的。

為實現本發明所提供的技術方案包括以下步驟:

1)採集一定數目樣品的光譜,用常規方法測定樣品中被測成分的含量;採用一定的分組方式,將數據集劃分為訓練集和預測集。

2)將訓練集的整個光譜範圍劃分為若干個子區間,蝙蝠個體用一串二進位碼表示,對應子區間的選擇與否用「1」與「0」表示。

3)利用公式(1)和(2)將蝙蝠個體位置進行離散化。

其中,t表示迭代次數,k表示維數,vi表示速度,xi表示蝙蝠的位置。

4)對蝙蝠算法的初始化參數進行優化,依次優化迭代次數、響度以及脈衝頻率、蝙蝠數目。

首先對迭代次數進行優化。固定蝙蝠數目、響度和頻度,迭代次數從1變化到500,間隔為10,計算不同迭代次數下的預測均方根誤差。預測均方根誤差最小值對應的迭代次數為最佳迭代次數。

其次對響度和頻度進行優化。迭代次數採用最佳值,蝙蝠數目固定為某個值,響度和頻度分別從0.1變化到0.9,間隔為0.1,採用兩個循環,計算不同響度和頻度下的預測均方根誤差。預測均方根誤差最小值對應的響度和頻度為最佳響度和頻度。

最後對蝙蝠數目進行優化。迭代次數、響度、頻度採用最佳值,蝙蝠數目從10變化到40,間隔為5,計算不同蝙蝠數目下的預測均方根誤差。預測均方根誤差最小值對應的蝙蝠數目為最佳蝙蝠數目。

5)利用優化好的參數,採用蝙蝠算法進行變量區間選擇,輸出最佳的光譜子區間組合。

6)利用所選擇的變量區間,建立PLS模型,將預測集中相應的被選擇的變量區間代入PLS模型中,進行預測。

本發明提出的Bat-PLS方法既簡化了模型,又有效地改善了模型的預測能力,進而提高了模型的預測精度。

附圖說明

圖1是柴油近紅外數據的光譜圖

圖2是柴油近紅外數據的預測均方根誤差隨迭代次數變化圖

圖3是柴油近紅外數據的蝙蝠數目優化圖

圖4是柴油近紅外數據蝙蝠算法變量選擇方法保留的波長點分布圖

圖5是小麥近紅外數據的光譜圖

圖6是小麥近紅外數據的預測均方根誤差隨迭代次數變化圖

圖7是小麥近紅外數據的蝙蝠數目優化圖

圖8是小麥近紅外數據蝙蝠算法變量選擇方法保留的波長點分布圖

圖9是血液近紅外數據的光譜圖

圖10是血液近紅外數據的預測均方根誤差隨迭代次數變化圖

圖11是血液近紅外數據的蝙蝠數目優化圖

圖12是血液近紅外數據蝙蝠算法變量選擇方法保留的波長點分布圖

圖13是三元調和油近紅外數據的光譜圖

圖14是三元調和油近紅外數據的預測均方根誤差隨迭代次數變化圖

圖15是三元調和油近紅外數據的蝙蝠數目優化圖

圖16是三元調和油近紅外數據蝙蝠算法變量選擇方法保留的波長點分布圖

具體實施方式

為更好地理解本發明,下面結合實施例對本發明做進一步地詳細說明,但是本發明要求保護的範圍並不局限於實施例所表示的範圍。

實施例1:

本實施例應用於近紅外光譜分析,對柴油密度進行測定。具體步驟如下:

1)採集263個柴油密度的近紅外光譜數據,波長範圍為750-1550nm,包括401個波長點,採用網站(http://www.eigenvector.com/Data/SWRI)上對數據集的劃分,將142個樣品用作訓練集,剩餘121個樣品用作預測集。圖1顯示了該數據的近紅外光譜。

2)將訓練集中的401個波長點每10個波長點劃分為1個子區間,共分為40個子區間,最後一個點忽略,蝙蝠個體用40個二進位碼表示,對應子區間的選擇與否用「1」與「0」表示。

3)利用公式(1)和(2)將蝙蝠個體位置進行離散化。

其中,t表示迭代次數,k表示維數,vi表示速度,xi表示蝙蝠的位置。

4)對蝙蝠算法的初始化參數進行優化,依次優化迭代次數、響度以及脈衝頻率、蝙蝠數目。

首先對迭代次數進行優化。固定蝙蝠數為30,響度、頻度均固定為0.5,迭代次數從1變化到500,間隔為10,計算不同迭代次數下的預測均方根誤差。圖2顯示了預測均方根誤差隨著迭代次數的變化,從圖中可以看出,起初隨著迭代次數的增加,預測均方根誤差總體是減小的,當迭代次數大於20之後,隨著迭代次數的增加,預測均方根誤差值趨於平穩,因此,取25為最佳迭代次數。

其次對響度和頻度進行優化。迭代次數採用最佳值25,蝙蝠數目固定為30,響度和頻度從0.1變化到0.9,間隔為0.1,採用兩個循環,計算不同響度和頻度下的預測均方根誤差。預測均方根誤差最小值對應的響度和頻度分別為0.3,0.5。因此最佳響度、頻度分別為0.3,0.5。

最後對蝙蝠數目進行優化。迭代次數採用最佳值25,響度和頻度分別採用最佳值0.3,0.5,蝙蝠數目從10變化到40,間隔為5,計算不同迭代次數下的預測均方根誤差。圖3是柴油近紅外數據的蝙蝠數目優化圖,從圖中可以看出,預測均方根誤差最小值對應的蝙蝠數目為20。因此最佳蝙蝠數目為20。

5)利用優化好的參數:最佳迭代次數為25,最佳響度和頻度分別為0.3和0.5,最佳蝙蝠數目為20。採用蝙蝠算法進行變量區間選擇,輸出最佳的光譜子區間組合。

6)利用所選擇的變量區間(如圖4所示),建立PLS模型,將預測集中相應的被選擇的變量區間代入PLS模型中,進行預測。

表1顯示了柴油近紅外數據採用不同建模方法的預測結果。從表中可以看出,僅由PLS單一建模的預測均方根誤差值最高,UVE-PLS、MC-UVE-PLS以及RT-PLS算法優化結果相差不大,Bat-PLS預測均方根誤差值最小,相關係數最大。因此,蝙蝠算法變量選擇要優於其他變量選擇方法。

表1 柴油近紅外數據採用不同建模方法的預測結果

實施例2:

本實施例應用於近紅外光譜分析,對小麥組分含量進行測定。具體步驟如下:

1)採集231個小麥樣品的近紅外光譜數據,波長範圍400-2498nm,採樣間隔為2nm,共1050個波長點,根據網上(http//www.graincanada.gc.ca/Quality/Wheat/classes-e.htmo)對數據集的劃分,775個樣品用作訓練集,剩餘107個樣品用作預測集。圖5顯示了該數據的近紅外光譜圖。

2)將訓練集中的1050個波長點按每10個波長點劃分為1個子區間,共分為105個子區間,蝙蝠個體用105個二進位碼表示,對應子區間的選擇與否用「1」與「0」表示。

3)利用公式(1)和(2)將蝙蝠個體位置進行離散化。

其中,t表示迭代次數,k表示維數,vi表示速度,xi表示蝙蝠的位置。

4)對蝙蝠算法的初始化參數進行優化,依次優化迭代次數、響度以及脈衝頻率、蝙蝠數目。

首先對迭代次數進行優化。固定蝙蝠數為30,響度、頻度均固定為0.5,迭代次數從1變化到500,間隔為10,計算不同迭代次數下的預測均方根誤差。圖6顯示了預測均方根誤差隨著迭代次數的變化,從圖中可以看出,隨著迭代次數的增加,預測均方根誤差值是不斷減小的,但是由於迭代次數的限制,當迭代次數為500的時候仍然沒有達到最小值,又由於實驗設備的限制,取500為最佳迭代次數。

其次對響度和頻度進行優化。迭代次數採用最佳值500,蝙蝠數目固定為30,響度和頻度從0.1變化到0.9,間隔為0.1,採用兩個循環,計算不同響度和頻度下的預測均方根誤差。預測均方根誤差最小值對應的響度和頻度分別為0.3,0.4。因此最佳響度、頻度分別為0.3,0.4。

最後對蝙蝠數目進行優化。迭代次數採用最佳值500,響度和頻度分別採用最佳值0.3,0.4,蝙蝠數目從10變化到40,間隔為5,計算不同迭代次數下的預測均方根誤差。圖7是近紅外數據的蝙蝠數目優化圖,從圖中可以看出,預測均方根誤差最小值對應的蝙蝠數目為15。因此最佳蝙蝠數目為15。

5)利用優化好的參數:最佳迭代次數為500,最佳響度和頻度分別為0.3和0.4,最佳蝙蝠數目為15。採用蝙蝠算法進行變量區間選擇,輸出最佳的光譜子區間組合。

6)利用所選擇的變量區間(如圖8所示),建立PLS模型,將預測集中相應的被選擇的變量區間代入PLS模型中,進行預測。

表2顯示了小麥近紅外數據的採用不同建模方法的預測結果。從表中可以看出,僅由PLS單一建模的效果最差,UVE-PLS、MC-UVE-PLS以及RT-PLS算法相較於PLS的優化結果好了一倍,這三種方法中,RT-PLS建模的效果相對來說差點,但Bat-PLS預測均方根誤差值最小,相關係數最大。因此,蝙蝠算法變量選擇要優於其他變量選擇方法。

表2 小麥近紅外數據的採用不同建模方法的預測結果

實施例3:

本實施例應用於近紅外光譜分析,對血液中血紅蛋白含量進行測定。具體步驟如下:

1)採集231個血液中血紅蛋白含量的近紅外光譜數據,波長範圍1100-2498nm,採樣間隔為2nm,包括701個波長點,光譜採用NIR systems spectrometer model 6500光譜儀測定,根據網站(http://www.idrc-chambersburg.org/shootout2010.html)上對數據集的劃分,將143個樣品用作訓練集,剩餘47個樣品用作預測集。圖9顯示了該數據的近紅外光譜圖。

2)將訓練集中的701個波長點按每10個波長點劃分為1個子區間,共分為70個子區間,最後一個點忽略,蝙蝠個體用70個二進位碼表示,對應子區間的選擇與否用「1」與「0」表示。

3)利用公式(1)和(2)將蝙蝠個體位置進行離散化。

其中,t表示迭代次數,k表示維數,vi表示速度,xi表示蝙蝠的位置。

4)對蝙蝠算法的初始化參數進行優化,依次優化迭代次數、響度以及脈衝頻率、蝙蝠數目。

首先對迭代次數進行優化。固定蝙蝠數為30,響度、頻度均固定為0.5,迭代次數從1變化到500,間隔為10,計算不同迭代次數下的預測均方根誤差。圖10顯示了預測均方根誤差隨著迭代次數的變化,從圖中可以看出,隨著迭代次數的增加,預測均方根誤差是階段性減小的,當迭代次數為170左右時,預測均方根誤差值趨於平穩,因此,取170為最佳迭代次數。

其次對響度和頻度進行優化。迭代次數採用最佳值170,固定蝙蝠數目為30,響度和頻度從0.1變化到0.9,間隔為0.1,採用兩個循環,計算不同響度和頻度下的預測均方根誤差。預測均方根誤差最小值對應的響度和頻度分別為0.4,0.1。因此最佳響度、頻度分別為0.4,0.1。

最後對蝙蝠數目進行優化。迭代次數採用最佳值170,響度和頻度分別採用最佳值0.4,0.1,蝙蝠數目從10變化到40,間隔為5,計算不同迭代次數下的預測均方根誤差。圖11是血液近紅外數據的蝙蝠數目優化圖,從圖中可以看出,預測均方根誤差最小值對應的蝙蝠數目為25。因此最佳蝙蝠數目為25。

5)利用優化好的參數:最佳迭代次數為170,最佳響度和頻度分別為0.4和0.1,最佳蝙蝠數目為25。採用蝙蝠算法進行變量區間選擇,輸出最佳的光譜子區間組合。

6)利用所選擇的變量區間(如圖12所示),建立PLS模型,將預測集中相應的被選擇的變量區間代入PLS模型中,進行預測。

表3顯示了血液近紅外數據採用不同建模方法的預測結果。從表中可以看出,UVE+PLS方法所得的預測均方根誤差值最大,PLS、MC-UVE+PLS以及RT+PLS算法的預測均方根誤差值稍小一點,Bat-PLS預測均方根誤差值最小,相關係數最大。因此,蝙蝠算法變量選擇要優於其他變量選擇方法。

表3 血液近紅外數據採用不同建模方法的預測結果

實施例4:

本實施例應用於近紅外光譜分析,對三元調和油組分含量進行測定。具體的步驟如下:

1)配置含有大豆油、香油與稻米油的三元調和油樣品50個,其中稻米油、大豆油的濃度範圍為0.05~2.5,間隔為0.05。使用近紅外分光光度計(TJ270-60,天津市拓普儀器有限公司)進行NIR數據測量,波長範圍為800~2500nm,採樣間隔為1nm,共1701個波長點。採用KS方法對數據集進行劃分,將33個樣品用作訓練集,剩餘17個樣品用作預測集。圖13顯示了三元調和油近紅外數據的光譜圖。

2)將訓練集中的1701個波長點按每10個波長點劃分為1個子區間,共分為170個子區間,最後一個點忽略,蝙蝠個體用170個二進位碼表示,對應子區間的選擇與否用「1」與「0」表示。

3)利用公式(1)和(2)將蝙蝠個體位置進行離散化。

其中,t表示迭代次數,k表示維數,v1表示速度,x1表示蝙蝠的位置。

4)對蝙蝠算法的初始化參數進行優化,依次優化迭代次數、響度以及脈衝頻率、蝙蝠數目。

首先對迭代次數進行優化。固定蝙蝠數為30,響度、頻度均固定為0.5,迭代次數從1變化到500,間隔為10,計算不同迭代次數下的預測均方根誤差。圖14顯示了預測均方根誤差隨著迭代次數的變化,從圖中可以看出,隨著迭代次數的增加,預測均方根誤差是不斷減小的,迭代次數將近500時達到最小值,由於實驗設備的限制,因此取500為最優迭代次數。

其次對響度和頻度進行優化。迭代次數採用最佳值500,固定蝙蝠數目為30,響度和頻度從0.1變化到0.9,間隔為0.1,採用兩個循環,計算不同響度和頻度下的預測均方根誤差。預測均方根誤差最小值對應的響度和頻度分別為0.2,0.3。因此最佳響度、頻度分別為0.2,0.3。

最後對蝙蝠數目進行優化。迭代次數採用最佳值500,響度和頻度分別採用最佳值0.2,0.3,蝙蝠數目從10變化到40,間隔為5,計算不同迭代次數下的預測均方根誤差。圖15是三元調和油近紅外數據的蝙蝠數目優化圖,從圖中可以看出,預測均方根誤差最小值對應的蝙蝠數目為30。因此最佳蝙蝠數目為30。

5)利用優化好的參數:最佳迭代次數為500,最佳響度和頻度分別為0.2和0.3,最佳蝙蝠數目為30。採用蝙蝠算法進行變量區間選擇,輸出最佳的光譜子區間組合。

6)利用所選擇的變量區間(如圖16所示),建立PLS模型,將預測集被選擇的相應變量區間代入PLS模型中,進行預測。

表4顯示了三元調和油近紅外數據採用不同建模方法的預測結果。從表4可以看出,除了Bat-PLS算法所得的預測均方根誤差值明顯小一些,PLS、UVE-PLS、MC-UVE-PLS以及RT-PLS算法所得預測均方根誤差值相差並不太大。因此,蝙蝠算法變量選擇要優於其他變量選擇方法。

表4 三元調和油近紅外數據採用不同建模方法的預測結果

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀