皮世威,林 朝,黃哲學(xué)
(1.深圳大學(xué) 計(jì)算機(jī)與軟件學(xué)院,廣東 深圳 518060;2.深圳市理邦精密儀器股份有限公司,廣東 深圳 518067)
在化學(xué)測量領(lǐng)域中,多組分物質(zhì)的濃度光學(xué)測量是研究經(jīng)典問題,其分析方法被廣泛應(yīng)用于臨床檢驗(yàn)中,對(duì)于醫(yī)學(xué)判定和輔助診斷具有重要的作用。由于生物樣本的復(fù)雜特性,化學(xué)計(jì)量的信號(hào)具有高噪聲[1]、多重疊[2]、特征變量多的特點(diǎn)[3],分析過程中包含大量的非線性擬合過程[4],通常需要應(yīng)用大量的回歸分析來建立因變量與自變量之間的非線性關(guān)系。當(dāng)前化學(xué)計(jì)量最常應(yīng)用的回歸方法有普通最小二乘(OLS)[5],偏最小二乘法(PLS),正交偏最小二乘法(OPLS)[6]等,其中普通最小二乘是經(jīng)典的擬合方法。偏最小二乘回歸線性擬合對(duì)于獨(dú)立自變量多于因變量的案例具有較好的回歸應(yīng)用效果,可以有效剔除高維度變量中的無關(guān)成分[7]。正交偏最小二乘法(OPLS)[8]是在偏最小二乘的基礎(chǔ)上通過建立自變量的正交映射,能夠更為高效的去除變量中的無關(guān)信息,在迭代求解殘差項(xiàng)中的正交量過程中,快速提取有效信息,對(duì)于復(fù)雜背景噪聲下的變量具有明顯的主成分提取作用,正交偏最小二乘法在代謝組以及化學(xué)分析領(lǐng)域中具有廣泛的應(yīng)用[9-10],但該方法對(duì)于多變量應(yīng)用下易發(fā)生過擬合現(xiàn)象,導(dǎo)致預(yù)測精度降低。文獻(xiàn)[11]在OPLS擬合的基礎(chǔ)上,通過引入Kernel核變量將原空間中的正交成分轉(zhuǎn)化到特征空間,在高維空間完成正交無關(guān)項(xiàng)的預(yù)測與分離,該方法能夠提升變量的非線性擬合精度,提高多變量的預(yù)測能力。Kernel矩陣對(duì)于非線性擬合具有較高的擬合精度[12],并且對(duì)于分析過程中的分類方式具有較好的可視化特性。KOPLS(核正交偏最小二乘法)的非線性擬合優(yōu)勢(shì)被應(yīng)用于代謝組[13-14]和多組分濃度光譜分析中。尤其在多組分物質(zhì)濃度測量中,由于被測樣本成分復(fù)雜,光譜信號(hào)往往包含非線性噪聲和干擾[15],高精度的光譜分析建模方法成為預(yù)測準(zhǔn)確度控制的重要因素。
在多組分物質(zhì)光譜分析應(yīng)用中算法的核心思想是建立原數(shù)據(jù)矩陣X和濃度矩陣Y之間的映射模型。在保證模型準(zhǔn)的預(yù)測準(zhǔn)確度的前提下,同時(shí)還需要具有較快的計(jì)算速度。常用的建模算法有偏最小二乘(PLS)、正交投影映射(OPLS)等。
偏最小二乘法PLS的核心思想是最大化自變量與因變量數(shù)據(jù)之間的協(xié)方差來解析自變量中的正交得分向量,首先對(duì)原數(shù)據(jù)矩陣X和濃度矩陣Y進(jìn)行主成分分析:
(1)
主成分個(gè)數(shù)由權(quán)重項(xiàng)w決定,分解得到各自對(duì)應(yīng)的得分矩陣T、U和載荷矩陣P、Q,殘差項(xiàng)分別為E、F。通過主成分分析T=XP,可以將原數(shù)據(jù)矩陣和濃度矩陣分別降至相應(yīng)的低緯度空間,并保留原矩陣中的大部分有效信息。再對(duì)建立各自得分矩陣之間的線性回歸方程:
U=TB
(2)
B為回歸系數(shù)矩陣。
B=TU(TTT)-1
(3)
最后X相對(duì)與Y的線性回歸可轉(zhuǎn)變?yōu)閄得分矩陣相對(duì)于Y的線性回歸:
Y=TBQ
(4)
步驟1~6為標(biāo)準(zhǔn)的NIPALS PLS法
1.w=max
2.w=w/‖w‖;
3.t=Xw/(wTw);
4.qT=tTY/(tTt);
5.u=Yc/(cTc);
6.pT=tTX/(tTt);
OPLS是在PLS的基礎(chǔ)上建立的,通過篩選原數(shù)據(jù)矩陣X與濃度矩陣Y的不相關(guān)信息,使分類信息快速集中在主成分中,從而搭建簡潔的X與Y的線性關(guān)系,這種建模方法適用于多元數(shù)據(jù)統(tǒng)計(jì),OPLS建模的具體步驟如下。首先和PLS一樣,通過主成分分析法建立X、Y的線性組合:
(5)
(6)
其中:t,u可由權(quán)系數(shù)w,c求得:
t=Xw/‖w‖
(7)
u=Yc/‖c‖
(8)
為使t、u之間的相關(guān)性最大,可以目標(biāo)化t、u的協(xié)方差為最大,即:
Max:Cov(t,u)
(9)
采用拉格朗日方法求解極值問題,w為XTYYTX矩陣的最大特征值對(duì)應(yīng)的特征向量,c為YTXXTY矩陣的最大特征值對(duì)應(yīng)的特征向量。隨之即可求相應(yīng)的得分向量t,u。這樣X和Y的載荷矩陣可通過關(guān)系式求得:
pT=tTX/(tTt)
(10)
qT=uTY/(uTu)
(11)
計(jì)算X的正交權(quán)重向量worth:
worth=p-[wTp/(wTw]w
(12)
worth=worth/‖worth‖
(13)
那么X正交矩陣的得分向量:
(14)
X正交矩陣的載荷:
(15)
求解正交殘差項(xiàng)EOPLS、FOPLS:
(16)
將X替換為EOPLS因此則有:
(17)
再對(duì)Xorth進(jìn)行主成分分析:
(18)
由式(4)可將X相對(duì)與Y的線性回歸可轉(zhuǎn)變?yōu)榈梅志仃嘪orth相對(duì)于Y的線性回歸。相對(duì)于PLS,OPLS能夠?qū)ο到y(tǒng)變量進(jìn)行單獨(dú)分析,通過去除正交無關(guān)量,可以降低過擬合發(fā)生的現(xiàn)象。但是當(dāng)變量之間差異性較小,非線性耦合程度較高時(shí),差異變量無法有效的被剔除,此時(shí)OPLS模型的計(jì)算準(zhǔn)確度會(huì)降低。
KOPLS在OPLS算法的基礎(chǔ)上保留了正交無關(guān)項(xiàng)的理念,并對(duì)建模方法做了進(jìn)一步的改進(jìn),通過引入Kernel核矩陣來對(duì)數(shù)據(jù)中的非線性結(jié)構(gòu)進(jìn)行建模,同時(shí)仍可像OPLS一樣對(duì)數(shù)據(jù)中的無關(guān)項(xiàng)進(jìn)行篩選。在KOPLS算法中,通過對(duì)預(yù)測成分Tp和正交成分Yorth的建模來有效提取數(shù)據(jù)中的相關(guān)成分,這使得KOPLS模型的預(yù)測精度與基于核矩陣的偏最小二乘法(KPLS)[16]以及支持向量機(jī)模型[17]的預(yù)測精度保持一致,但Kernel矩陣通過在高維度的特征空間內(nèi)對(duì)信號(hào)中的噪聲進(jìn)行轉(zhuǎn)換建模,能夠有效的消除原數(shù)據(jù)中由于外界因素帶來的異常信息,例如測量儀器的信號(hào)漂移、樣本中的生物耦合變量等。因此KOPLS對(duì)于非線性因素影響較大的生物化學(xué)多組分析具有較高的估算精度。
在KOPLS具體算法中,Kernel矩陣的引入將原矩陣X中的變量轉(zhuǎn)化為高維特征空間內(nèi)的點(diǎn)積(XXT),接著通過將XXT替換為Kernel矩陣K,Kernel矩陣K中的元素Ki,j由X的第i和第j行向量組成,Kernel變換通過簡潔的計(jì)算方式在將X映射到了高維空間中。因此KOPLS算法的第一步是選擇合適的核函數(shù),常用的核函數(shù)有線性、多項(xiàng)式和高斯核函數(shù),其表達(dá)式分別為:
k(x,y)=x×y
(19)
k(x,y)=(xTy+1)P
(20)
k(x,y)=exp(-‖x-y‖2/2σ2)
(21)
接下來的步驟是將原數(shù)據(jù)矩陣替換為核矩陣具體計(jì)算步驟如下。
①Kernel矩陣中心化:
KOPLS算法往往用于處理維度較大的數(shù)據(jù),因此首先需要對(duì)Kernel矩陣進(jìn)行中心化處理,中心化計(jì)算方法:
(22)
式中,En為n×1的向量,元素等于1。
②求解權(quán)重向量:
建立Kernel矩陣K后,需確定數(shù)據(jù)中的正交成分個(gè)數(shù)N。這樣K表示為被剔除第N個(gè)正交成分后所組成的矩陣。接著通過對(duì)YTKY特征值分解求得權(quán)重向量Cp和∑p。
③求Y預(yù)測得分矩陣:
通過將Y映射到Cp上可求得Y的預(yù)測得分矩陣:
Up=YCp
④求X預(yù)測得分矩陣:
X的預(yù)測得分矩陣:
Tp=KTUp∑p(-1/2)
⑤在正交成分個(gè)數(shù)1到N內(nèi),迭代循環(huán):
對(duì)TpTQiTp特征值分解,求得Y正交載荷向量Corth;
計(jì)算Y正交得分向量t(orth-i)=QiTpCorth。
⑥對(duì)torth抽取Ki,得到Ki+1;
此時(shí)預(yù)測得分矩陣:
Tp=K(i+1)Up∑p(-1/2)
⑦最后建立回歸方程:
KOPLS算法在預(yù)測項(xiàng)遠(yuǎn)大于測量項(xiàng)的應(yīng)用下,具有較好的預(yù)測準(zhǔn)確度,因此在非線性回歸和分類應(yīng)用較多的組分學(xué)中,KOPLS的優(yōu)勢(shì)較為明顯。例如對(duì)于使用光譜吸光度信號(hào)對(duì)樣本中的多組分物質(zhì)濃度分析時(shí),樣本本身復(fù)雜的絡(luò)合狀態(tài)往往伴隨較大的非線性信號(hào)結(jié)構(gòu),KOPLS中特有的將Y預(yù)測成分與正交無關(guān)成飛在特征空間中分離步驟,相對(duì)于OPLS和PLS都具有更好的預(yù)測執(zhí)行能力。
KOPLS在代謝組學(xué)研究中已有成功的應(yīng)用。而對(duì)于多組分物質(zhì)光譜分析應(yīng)用場景,需要通過算法擬合建立光譜與各組分物質(zhì)濃度之間的非線性關(guān)系,由于需要從單個(gè)光譜中解析的多組分物質(zhì)較多,而各組分之間特征耦合度高,且存在較多的非線性關(guān)系,KOPLS的特點(diǎn)正好適用于此類場景的建模,模型擬合效果相對(duì)于OPLS和PLS更好。
為了對(duì)比各算法在多組分物質(zhì)光譜分析中的應(yīng)用優(yōu)劣,通過對(duì)多組分物質(zhì)的濃度分析實(shí)驗(yàn)來評(píng)估。實(shí)驗(yàn)用多組分物質(zhì)采用血液中的血紅蛋白及其衍生物為樣本。其測量方法基于分光光度法[18],即由于多組分物質(zhì)中各物質(zhì)的吸收波長各不相同,因此根據(jù)朗博比爾定律:
A=k1c1l+k2c2l+…+kncnl
(23)
其中:A為總吸光度系數(shù);ki為各組分物質(zhì)的吸光度系數(shù);ci為各組分物質(zhì)的濃度;l為測量光學(xué)量程。
由此可知對(duì)于不同濃度下的衍生物,其總吸光度也各不同,通過建立吸光度曲線與各組分物質(zhì)濃度之間的關(guān)系,即可實(shí)現(xiàn)通過測量吸光度來完成對(duì)多組分物質(zhì)的濃度檢測,如圖1所示。
圖1 不同血液樣本濃度下的吸收度光譜曲線分布圖
實(shí)驗(yàn)首先通過200組數(shù)據(jù)進(jìn)行建模,為保證原始數(shù)據(jù)的準(zhǔn)確性,每組樣本的光譜信號(hào)采用海洋光學(xué)光譜儀(QE65 Pro)進(jìn)行采集,對(duì)樣本數(shù)據(jù)搭建基于PLS,KOPLS模型的吸光度-多組分物質(zhì)濃度的分析模型。再通過111組樣本和靶標(biāo)帶入模型中進(jìn)行計(jì)算,通過對(duì)比各自算法下的預(yù)測值與靶標(biāo)值的差異,如圖2所示。
圖2 PLS, KOPLS模型下的血紅蛋白濃度預(yù)測結(jié)果對(duì)比
從計(jì)算結(jié)果圖2可以看出,當(dāng)采用PLS算法進(jìn)行建模時(shí),血紅蛋白濃度預(yù)測值相對(duì)靶值的準(zhǔn)確度達(dá)到±5.2 g/dL,在高濃度區(qū)間時(shí),預(yù)測結(jié)果的離散度增大,這是由于被測樣本為血液,其物質(zhì)組成復(fù)雜,光譜分析過程包含過多的非線性因素。當(dāng)采用KOPLS算法建模時(shí),設(shè)定迭代剔除正交無關(guān)項(xiàng)20次,預(yù)測值相對(duì)靶值的準(zhǔn)確度達(dá)到±0.6 g/dL,準(zhǔn)確度得到較大的提升。對(duì)比結(jié)果如表1所示,實(shí)驗(yàn)結(jié)果說明KOPLS對(duì)于非線性因素較多的血液樣本單一物質(zhì)濃度分析具有較高的預(yù)測精度。
表1 PLS, KOPLS模型下的血紅蛋白
對(duì)于血紅蛋白中多組分物質(zhì)濃度測量,光譜數(shù)據(jù)中各組分對(duì)應(yīng)的特征量存在部分重疊。在建模過程中需要在不同血紅蛋白濃度下配置不同梯度的多組分衍生物濃度。建模過程采用PLS模型和KOPLS模型,在兩種模型下分別對(duì)111組樣本進(jìn)行預(yù)測,預(yù)測精度對(duì)比如圖3所示。
圖3 PLS, KOPLS算法建模下的多組分物質(zhì)濃度預(yù)測結(jié)果對(duì)比
從計(jì)算結(jié)果圖3(a)以看出,當(dāng)采用PLS算法進(jìn)行建模時(shí),血紅蛋白組分1的濃度預(yù)測值相對(duì)靶值的準(zhǔn)確度達(dá)到±32.6%,各梯度區(qū)域預(yù)測結(jié)果的離散度較大。當(dāng)采用KOPLS算法建模時(shí),預(yù)測值相對(duì)靶值的準(zhǔn)確度達(dá)到±6.6%,準(zhǔn)確度得到較大的提升,在不同梯度下的離散度也有了很大的降低。血紅蛋白組分2的濃度預(yù)測值相對(duì)靶值的準(zhǔn)確度達(dá)到±26.7%,結(jié)果如圖3(b)所示,各梯度區(qū)域預(yù)測結(jié)果的離散度同樣較大。當(dāng)采用KOPLS算法建模時(shí),預(yù)測值相對(duì)靶值的準(zhǔn)確度達(dá)到±9.3%,準(zhǔn)確度得到了較大的提升,在不同梯度下組分2的離散度也有了大幅提升。血紅蛋白組分3的濃度預(yù)測值相對(duì)靶值的準(zhǔn)確度如圖3(c)所示達(dá)到±34.5%,各梯度區(qū)域預(yù)測結(jié)果的離散度較大。當(dāng)采用KOPLS算法建模時(shí),預(yù)測值相對(duì)靶值的準(zhǔn)確度達(dá)到±9.48%,準(zhǔn)確度和離散度同樣得到較大的提升,對(duì)比結(jié)果如表2所示。對(duì)比結(jié)果說明KOPLS對(duì)于預(yù)測血液樣本中的多組分物質(zhì)濃度具有較高的預(yù)測精度,測量結(jié)果相對(duì)于PLS有明顯的提升。
表2 PLS, KOPLS模型下的血液多組分物質(zhì)濃度預(yù)測準(zhǔn)確度
本研究通過算法推導(dǎo)闡述了由PLS到OPLS,再到KOPLS算法的演變過程。KOPLS算法保留OPLS的正交映射思想,通過剔除正交無關(guān)量,快速提取原數(shù)據(jù)矩陣中的有效特征,建立原數(shù)據(jù)與變量之間的映射關(guān)系。同時(shí)通過Kernel變換,將原數(shù)據(jù)矩陣轉(zhuǎn)化為高維特征空間的內(nèi)積,建立原數(shù)據(jù)與變量之間的非線性關(guān)系。通過對(duì)血液樣本的吸收光譜和多組分物質(zhì)濃度進(jìn)行KOPLS建模于預(yù)測計(jì)算,結(jié)果表明KOPLS對(duì)于具有大量非線性關(guān)系的血液多組分物質(zhì)濃度分析具有明顯的預(yù)測優(yōu)勢(shì)。這些特點(diǎn)可以在多組分物質(zhì)濃度檢測設(shè)備中得到應(yīng)用。