杜 康,郭魯鈺,徐啟蕾,單寶明,張方坤
(青島科技大學自動化與電子工程學院,山東 青島 266061)
在工業(yè)工程中,變量選擇對于各種過程分析儀校準模型的建立至關(guān)重要,它決定了所建模型的準確性、可靠性、可解釋性和魯棒性[1-3]。隨著光電技術(shù)和傳感器技術(shù)的發(fā)展,光譜技術(shù)已經(jīng)成為獲取物質(zhì)定性和定量信息的重要手段[4-5]。一條光譜由成百上千的變量組成,其包含樣品特性、環(huán)境、光纖和儀器等豐富信息,也包含很多不相關(guān)的變量和噪聲等[6-7]。若對變量及噪聲進行不合理的選擇和處理,將嚴重影響模型的可靠性和準確性[8]。事實證明,通過變量選擇在提高標定模型準確性和可靠性上具有明顯的效果和優(yōu)勢[9],因此,在過去的幾年中,對變量選擇方法的研究得到了普遍關(guān)注和重視[10-13]。
近年來,基于模型群體分析(Model Population Analysis,MPA)策略的變量選擇方法在光譜數(shù)據(jù)建模中表現(xiàn)出卓越的性能[1]。許多優(yōu)秀變量選擇方法得到進一步發(fā)展,如競爭性自適應(yīng)重加權(quán)采樣法[14]、變量組合總體分析(Variable Combination Population Analysis,VCPA)法[15]、自舉軟收縮(Bootstrapping Soft Shrinkage,BOSS)法[16]、迭代縮減窗口自助軟收縮法[17]和顯著多變量競爭群體分析法[18]等。MPA的核心思想是通過隨機抽樣產(chǎn)生大量的子集,并對子集進行建模和分析,來評價變量的優(yōu)劣[19]。然而,由于每個子集都需要重新建立一個偏最小二乘(Partial Least Squares,PLS)模型,因此,該方法相對比較耗時。其中,BOSS 和VCPA 變量選擇方法[15-16],均采用NIPALS 算法進行PLS 建模,NIPALS 需要對數(shù)據(jù)矩陣進行縮放,并計算2 組加載向量,這加劇了模型迭代時間和計算機內(nèi)存消耗[20]。尤其,當數(shù)據(jù)量比較大時,這種劣勢將特別明顯。目前,基于MPA 技術(shù)開發(fā)的變量選擇方法還存在建模效率和穩(wěn)定性差的問題[21],如何提升建模效率和可靠性值得進一步研究。近年來,眾多改進的PLS 算法被提出[22],Bjorck 等[23]將6 種改進的PLS 算法與NIPALS 算法進行了數(shù)值精度和計算效率的比較。結(jié)果表明改進的PLS 算法可以有效提升建模速度但會降低模型精度。然而,通過索引技術(shù)避免子模型重復(fù)計算來提升基于MPA 策略的變量選擇方法,從而提升模型精度和效率的方法還未見報道。
為解決上述問題,本文將分別從變量和樣本2 個角度,將PLS建模方法和索引技術(shù)與變量選擇方法進行結(jié)合,提出一種基于子集索引重用核-PLS(Subset Index Reuse Kernel-Partial Least Squares,SIRKPLS)的融合建模方法。該方法根據(jù)數(shù)據(jù)集的樣本數(shù)和變量數(shù)自適應(yīng)實現(xiàn)對建模方法的自動切換。最后,通過在玉米數(shù)據(jù)集上與各種典型的建模算法進行比較,對所提融合建模算法的有效性進行驗證。
當數(shù)據(jù)集的樣本數(shù)遠遠大于變量數(shù)(m?n)時,Lindgren 等[24]提出了一種核PLS 算法,其利用小的核矩陣和與其關(guān)聯(lián)的協(xié)方差矩陣(XTXn×n)來計算PLS 模型的回歸系數(shù)。結(jié)合MPA 的原理,本文提出變量SIRK-PLS(Variable SIRK-PLS,VSIRK-PLS)算法。
設(shè)X=[x1,x2,…,xn],則:
由式(1)可知,X中的任意變量xi,僅為XTXn×n中第i行和第i列提供信息。在MPA 變量選擇過程中,對于不同子集的PLS 建模,VSIRK-PLS 算法只需計算一次協(xié)方差矩陣XTXn×n,利用變量的索引便可從XTXn×n中提取出任意子集的協(xié)方差矩陣,最后利用核PLS算法建立PLS子模型。
為了解釋和闡明VSIRK-PLS 算法的基本原理,考慮以下示例:假設(shè)隨機抽樣得到的某一變量子集包含第i行和第j列的變量,提取XTXn×n中的第i行和第j列相交的元素,即為該子集的協(xié)方差,最終通過子集的協(xié)方差便可建立PLS 子模型。對于變量選擇中每次重復(fù)執(zhí)行PLS 計算,VSIRK-PLS 算法通過計算n×n的核矩陣與協(xié)方差核來減少數(shù)據(jù)的儲存量,通過變量索引技術(shù)減少重復(fù)計算量,建模效率有顯著提升。
當數(shù)據(jù)集中的變量數(shù)遠遠大于樣本數(shù)(n?m)時,XTXn×n將變得龐大,繼續(xù)通過XTXn×n來估計PLS回歸系數(shù)將加大運算負擔。針對這一問題,Rannar等[25]提出了通過計算小的核矩陣(XXT)與協(xié)方差矩陣()來估計PLS 回歸系數(shù)的核PLS算法。由于中不再獨立包含某個變量的完整信息,因此無法通過對索引,建立PLS子模型。但是中完整包含了m個樣本的信息??紤]到PLS算法在計算回歸系數(shù)前,需要將樣本劃分為k折,建立k個PLS 模型進行交叉驗證來評估最優(yōu)因子數(shù),因此本文提出樣本SIRK-PLS(Sample SIRKPLS,SSIRK-PLS)算法。
SSIRK-PLS 算法只需計算一次,通過索引中對應(yīng)的行和列,即可得到任意折樣本對應(yīng)的協(xié)方差,從而可通過協(xié)方差估計出該折樣本的PLS 回歸系數(shù)。SSIRK-PLS 算法通過對交叉驗證所劃分建模樣本的索引,實現(xiàn)對矩陣的重用,提高了最優(yōu)因子數(shù)求解的效率。
由于上述2 種算法適用于不同尺寸的數(shù)據(jù)集,并且在變量選擇過程中隨著無關(guān)變量的剔除,數(shù)據(jù)集尺寸隨之變化。為了保證在任意尺寸數(shù)據(jù)集上及變量選擇迭代過程中,算法均能高效運行,本文提出SIRK-PLS建模方法。
定義ε來衡量數(shù)據(jù)集尺寸:
式中:m為樣本數(shù),n為變量數(shù)。圖1 所示為SIRKPLS 融合MPA 變量選擇的建模算法。基于MPA 的變量選擇方法主要包括隨機抽樣程序、子模型建立程序和統(tǒng)計分析程序。將SIRK-PLS 建模方法用于子模型建立程序。當ε<0.4時,SIRK-PLS建模方法自動選擇SSIRK-PLS 算法建立子模型;隨著變量選擇算法的迭代,無關(guān)變量被刪除,ε隨之增大,當ε∈[]0.4,1時,建模方法自動切換為Bidiag2 算法;當ε>1 時,切換為VSIRK-PLS 算法;另外當變量數(shù)少于60 時應(yīng)選擇Bidiag2算法。Bidiag2算法已被證明所建模型更加精確,且速度較快[23]。為建立準確的校準模型,大部分冗余變量被剔除,從而提高迭代初期建模效率和精度。而在迭代后期切換到Bidiag2 算法可以有效地克服部分變量缺失帶來的模型不穩(wěn)定問題。這種切換策略不光考慮了時間成本,也符合模型間競爭的特性。
圖1 SIRK-PLS融合MPA變量選擇的算法
本文采用公開的m5 近紅外光譜儀測量的60 個玉米光譜標稱數(shù)據(jù)集對所有模型進行驗證(https://www.eigenvector.com/data/Corn/index.html)。圖2 顯示了玉米近紅外光譜,光譜波長范圍為1100~2498 nm,每2 nm 一個數(shù)據(jù)點,由700 個波長變量組成。本研究以玉米中蛋白質(zhì)含量為標稱值。所有測試程序通過Matlab R2020a完成。仿真計算機CPU型號為Intel i9-12900K,內(nèi)存為64 GB,操作系統(tǒng)為Windows 11。
圖2 玉米近紅外光譜圖
BOSS 算法是由MPA 和加權(quán)自舉抽樣的思想衍生而來。首先通過對變量進行加權(quán)采樣,得到不同變量空間的子集,并對每個子集建立一個PLS 子模型。其次統(tǒng)計交叉驗證均方根誤差(Root Mean Squared Error of Cross-Validation,RMSECV)前10%子模型中每個變量的回歸系數(shù),作為下一輪變量加權(quán)采樣的權(quán)值。如此重復(fù)迭代,實現(xiàn)變量空間的軟收縮并逐步提取特征變量。
為了驗證SIRK-PLS 建模方法的性能,將其與BOSS算法融合,如圖3所示為SIRK-PLS在BOSS算法中的應(yīng)用方案。作為對比,將DSPLS、SIMPLS、PLSHY、Bidiag1和Bidiag2等算法分別用于BOSS算法的PLS建模。表1 簡要介紹了這幾種PLS 算法。模型的評價指標為RMSECV和各算法運行時間(單位為s):
表1 不同PLS算法的比較
圖3 SIRK-PLS在BOSS算法中的應(yīng)用方案
式中:yi和y?i分別是實際值和預(yù)測值。
通過復(fù)制擴展原始玉米數(shù)據(jù)集的樣本數(shù)和變量數(shù),獲得不同尺寸的數(shù)據(jù)集,以此對不同建模算法在不同尺寸數(shù)據(jù)集上的性能進行測試。對樣本擴展后,測試結(jié)果如表2 所示。隨著樣本數(shù)量的增加,所有算法的RMSECV 最終都在減小,這說明即使是通過在行方向的復(fù)制來增加訓練樣本數(shù)也可以有效提高建模效果。對于任意尺寸的數(shù)據(jù)集,NIPALS 基本上均為時間開銷最大的算法,而表1 中后5 種算法運行時間大約為NIPALS算法的1/2,選擇效率得到了大幅提高。但是DSPLS 與SIMPLS 算法的RMSECV 在30000×700 的數(shù)據(jù)集上較大,預(yù)測精度低。另外在60×700 的數(shù)據(jù)集上,Bidiag2 算法建模速度最快,Bidiag1 算法的RMSECV 最小。在尺寸為600×700 的數(shù)據(jù)集上,VSIRK-PLS 算法運算時間僅為NIPALS 算法的1/3,在尺寸為30000×700 的數(shù)據(jù)集上,其運算時間僅為NIPALS 算法的1/4。VSIRK-PLS 算法通過索引技術(shù)提高了建模效率,且隨著樣本數(shù)量的增大,優(yōu)勢越大。SSIRK-PLS 算法由于不適合計算大樣本數(shù)據(jù)集而變得十分緩慢,因此不做記錄。
表2 在大樣本數(shù)據(jù)集上不同PLS算法的性能對比
保持樣本數(shù)不變,對變量擴展后,測試結(jié)果如表3所示。隨著變量數(shù)的增加,所有算法的RMSECV最終都在增加,因為通過列方向復(fù)制擴展,這相當于給每個樣本中增加了大量的共線性變量,導(dǎo)致了較差的建模效果。與表2結(jié)果相同,幾種改進的PLS算法運行時間相較NIPALS 算法大幅縮減(VSIRK-PLS 算法由于不適合計算多變量數(shù)據(jù)集而變得十分緩慢,因而例外)。但DSPLS、SIMPLS、PLSHY、Bidiag1 和Bidiag2 算法是通過減少縮放來提高建模效率,未能從本質(zhì)上避免子模型的重復(fù)建立。當面對海量數(shù)據(jù)時,對建模速度的提升是有限的。SSIRK-PLS算法在多變量數(shù)據(jù)集上速度最快,且運算速度優(yōu)勢隨變量數(shù)的增加而更加明顯。
表3 在多變量數(shù)據(jù)集上不同PLS算法的性能對比
為了驗證SIRK-PLS 建模方法中VSIRK-PLS、Bidiag2及SSIRK-PLS算法的切換閾值,圖4對比了變量選擇過程中每輪迭代時間與ε的關(guān)系。在尺寸為6000×700(ε=8.5)的數(shù)據(jù)集上,不同算法的測試結(jié)果如圖4(a)所示。VSIRK-PLS 算法在變量選擇迭代初期的速度明顯快于NIPALS 和Bidiag2算法,因此首先選擇VSIRK-PLS 算法建模。但隨著BOSS 算法的迭代,無關(guān)變量被剔除,ε逐漸增大,其優(yōu)勢不斷縮小。當ε>100 時,即變量數(shù)少于60 時,Bidiag2 算法比通過索引協(xié)方差矩陣來估計回歸系數(shù)效率更高,同時考慮模型的穩(wěn)定性,此時應(yīng)切換到Bidiag2 算法。在尺寸為60×14000(ε=0.0043)的數(shù)據(jù)集上,不同算法的測試結(jié)果如圖4(b)所示。在變量選擇初期SSIRK-PLS 算法速度最快;當ε>0.4 時,模型標定方法也應(yīng)由SSIRK-PLS算法切換到Bidiag2算法。
圖4 每輪迭代時間與ε的關(guān)系
圖5 (a)為各種PLS 算法在變量選擇過程中每輪迭代時間的對比??梢钥闯觯琒IRK-PLS 建模方法在初始大小為1200×28000(ε=0.043)的數(shù)據(jù)集上首先選擇了速度最快的SSIRK-PLS 算法。隨著變量選擇進行,ε逐漸變大,SIRK-PLS 建模方法都選擇了最優(yōu)的PLS 算法,整體運算時間最短,實現(xiàn)了全局最優(yōu)的建模算法自適應(yīng)切換。圖5(b)為各種PLS 算法與NIPALS 算法的RMSECV 之比,由于SIRK-PLS 建模方法是基于協(xié)方差估計的,沒有通過矩陣縮放計算加載和得分向量,因此會損失部分精度。SIRK-PLS 建模方法的RMSECV 并不是最優(yōu)的,但與NIPALS 算法的RMSECV 之比接近為1。所以SIRK-PLS 建模方法的切換策略并不影響B(tài)OSS算法對變量空間的競爭篩選,考慮到計算效率的大幅提升,SIRK-PLS建模方法的預(yù)測結(jié)果是可信賴的。
圖5 各種PLS算法的每輪迭代時間及其與NIPALS算法的RMSECV之比(初始尺寸:1200×28000)
本文提出的SIRK-PLS 建模方法通過索引技術(shù)對協(xié)方差矩陣進行重用,使同一數(shù)據(jù)集中多個變量子集的PLS回歸擬合成本顯著降低,提高了建模和預(yù)測的計算速度。將SIRK-PLS 與BOSS 算法融合進行標定建模,在玉米近紅外光譜數(shù)據(jù)集進行驗證,結(jié)果表明SIRK-PLS 為速度最快的模型標定方法,對于尺寸越大的數(shù)據(jù)集,此建模方法優(yōu)勢越大。雖然本文研究僅在BOSS算法上進行驗證,但這是一種通用策略,也可以推廣到其它需要評估大量子集的變量選擇算法中,為各種優(yōu)秀的變量選擇策略應(yīng)用到過程監(jiān)控等方面提供支持。