鄭培超,趙偉能,王金梅,賴春紅,王小發(fā),毛雪峰
重慶郵電大學(xué)光電工程學(xué)院,光電信息感測(cè)與傳輸技術(shù)重慶重點(diǎn)實(shí)驗(yàn)室,重慶 400065
隨著經(jīng)濟(jì)的迅速發(fā)展和城市化進(jìn)程的加快,水污染問題日益嚴(yán)重,已經(jīng)成為制約經(jīng)濟(jì)發(fā)展的瓶頸。為實(shí)現(xiàn)水環(huán)境的治理和管控,需要大力發(fā)展水質(zhì)檢測(cè)設(shè)備。在水質(zhì)檢測(cè)中,化學(xué)需氧量(chemical oxygen demand, COD)是評(píng)價(jià)水體受有機(jī)物污染程度的重要指標(biāo)。針對(duì)COD的檢測(cè)常采用傳統(tǒng)的化學(xué)法,如高錳酸鉀法和重鉻酸鉀法,由于這些方法存在分析時(shí)間長,有大量二次污染的化學(xué)試劑等問題[1],近年來,紫外吸收光譜法逐漸應(yīng)用到COD的檢測(cè),它通過建立紫外吸光度和有機(jī)物濃度的預(yù)測(cè)模型來反演COD值,該方法不需要任何化學(xué)預(yù)處理,具有檢測(cè)快速,操作簡(jiǎn)單,不會(huì)對(duì)環(huán)境構(gòu)成二次污染等優(yōu)點(diǎn)[2-3]。
由于紫外吸收光譜法采集的光譜信號(hào)的光譜范圍為200~800 nm,光譜信息量龐大,光譜數(shù)據(jù)中存在大量共線信息,如何選取有效的波長吸光度建立回歸模型是提高預(yù)測(cè)模型精度的主要問題。目前,紫外吸收光譜法檢測(cè)COD在模型算法選擇上主要有偏最小二乘回歸(partial least squares regression, PLSR)、支持向量機(jī)回歸(support vector regression, SVR)、人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)和機(jī)器學(xué)習(xí)(machine learning,ML)等[4-8]。在算法模型選擇方面,畢衛(wèi)紅等運(yùn)用偏最小二乘法建立不同譜區(qū)的校正模型,得到最好預(yù)測(cè)模型的r=0.995 8,RMSEC=16.186 5。楊鵬程[9]等利用間隔偏最小二乘法(iPLS)建立了海水硝酸鹽濃度模型,校正集均方根誤差RMSECV降到了9.83。Li[10]等采用組合區(qū)間偏最小二乘(siPLS)對(duì)南京錢湖水樣進(jìn)行建模分析,得到最優(yōu)相關(guān)系數(shù)r=0.833 4,RMSE=2.63。Pan[11]等利用傅里葉變換紅外光譜(FTIR)快速測(cè)量廢水中的COD。結(jié)果表明,采用變參數(shù)移動(dòng)窗偏最小二乘(mwPLS)選擇譜區(qū)有效的提高了預(yù)測(cè)精度。湯斌[12]等采用粒子群算法聯(lián)合最小二乘支持向量機(jī)(PSO_LSSVM),最大相對(duì)誤差僅為5.83%。
基于以上研究存在的預(yù)測(cè)精度不高,算法模型復(fù)雜等問題。本研究以PLS算法來建立預(yù)測(cè)模型,結(jié)合粒子群算法收斂速度快,全局搜索最優(yōu)解的特點(diǎn)對(duì)特征波長進(jìn)行篩選,建立一種快速選擇特征波長,建立預(yù)測(cè)模型的方法。與PLS,iPLS和SVR三種預(yù)測(cè)模型對(duì)比,PSO-PLS模型預(yù)測(cè)效果最佳。
本實(shí)驗(yàn)所采用的實(shí)驗(yàn)裝置如圖1所示,氙-鹵鎢燈光源(Avantes, AvaLight-DH-S-BAL)發(fā)出的紫外-可見-近紅外光通過可變光程(為獲取合適的吸光度,本實(shí)驗(yàn)設(shè)置的光程差10 mm)的反射式浸入式探頭的入射光纖(Avantes, FDP-7xx200-VAR),將探頭浸入到溶液中,光源發(fā)出的光被溶液吸收后反射到探頭的出射光纖上,出射光纖與便攜式光譜儀(Ocean Optics, Maya Pro 2000)連接,采集的光譜數(shù)據(jù)通過數(shù)據(jù)線傳輸?shù)接?jì)算機(jī)進(jìn)行處理。
圖1 實(shí)驗(yàn)裝置示意圖Fig.1 Schematic diagram of the experimental setup
準(zhǔn)確稱量0.425 1 g鄰苯二甲酸氫鉀(分析純,川東化工)溶于去離子水,配置成1 000 mg·L-1的COD標(biāo)準(zhǔn)溶液,通過逐步稀釋配制成不同濃度的COD標(biāo)準(zhǔn)溶液,采用預(yù)先搭建的實(shí)驗(yàn)裝置,設(shè)置光譜儀積分時(shí)間為100 ms,平均次數(shù)5次,平滑度為3,首先以空白溶液為參比,采集其吸收光譜,然后對(duì)29份不同濃度的待測(cè)樣品,進(jìn)行光譜的采集。
如圖2所示,標(biāo)準(zhǔn)溶液在近紫外區(qū)域有明顯的吸收峰,尤其波長在220~310 nm區(qū)間內(nèi),紫外吸光度與溶液濃度之間具有很好的相關(guān)性,而大于310 nm的波長點(diǎn)幾乎無吸收。且可以看出標(biāo)準(zhǔn)溶液在濃度低時(shí)線性關(guān)系良好,濃度高時(shí),光譜重疊比較嚴(yán)重。
圖2 標(biāo)準(zhǔn)溶液紫外吸收光譜圖Fig.2 Ultraviolet absorption spectrum of standard solution
1.3.1 偏最小二乘原理
偏最小二乘(partial least squares regression, PLSR)由化學(xué)界的Wold和Albano等在1983年提出,這種方法集主成分分析、典型相關(guān)分析和多元線性回歸分析三種方法的優(yōu)點(diǎn)于一身,很好地解決了自變量間多重共線性的問題[14]。本研究以標(biāo)準(zhǔn)溶液的濃度為因變量,不同波長下的吸光度的值為自變量,建立PLS回歸預(yù)測(cè)模型。建立自變量和因變量的特征向量間的一元線性回歸關(guān)系。提取變量的終止條件為交叉有效性驗(yàn)證。
1.3.2 PSO原理
粒子群算法(particle swarm optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本思想源于模擬鳥群覓食過程中的行為而提出來的一種基于群體智能的全局隨機(jī)搜索算法[14]。首先在所有解空間中初始化一群粒子,用位置、速度、適應(yīng)度三項(xiàng)指標(biāo)來表示該粒子特征。粒子在解空間中以一定速度運(yùn)動(dòng),通過個(gè)體極值Pbest和種群極值Gbest更新速度和位置,粒子每更新一次位置,就計(jì)算一次適應(yīng)度值,并且通過比較新粒子的適應(yīng)度值和個(gè)體極值、群體極值的適應(yīng)度值更新個(gè)體極值和群體極值位置。不斷迭代,更新速度和位置,直到得到滿足最終條件的最優(yōu)解。速度更新公式
(1)
ω為非負(fù)數(shù),稱為慣性因子,體現(xiàn)的是粒子繼承先前速度的能力,較大的慣性權(quán)重有利于全局搜索,較小的慣性權(quán)重有利于局部搜索。C1叫自我認(rèn)知,是粒子跟蹤自己歷史最優(yōu)值的權(quán)重系數(shù),表示粒子自身的認(rèn)知。C2叫社會(huì)認(rèn)知,是粒子跟蹤群體最優(yōu)值的權(quán)重系數(shù),表示粒子對(duì)整個(gè)群體知識(shí)的認(rèn)識(shí),r1和r2是[0, 1]區(qū)間內(nèi)均勻分布的隨機(jī)數(shù),賦予算法一定的空間搜索能力。
1.3.3 PSO-PLS特征波長選擇方法
偏最小二乘和區(qū)間偏最小二乘的主要思想是采用全光譜或者是將全光譜的劃分成一定數(shù)量的子區(qū)間來建立預(yù)測(cè)模型,其主要目的都是為了剔除冗余變量,提高預(yù)測(cè)模型精度。但是不可避免的是各個(gè)子區(qū)間仍然存在一些共線性的冗余變量,提出的PSO-PLS優(yōu)選特征波長的方法可以解決上述問題,將采集的光譜數(shù)據(jù)每個(gè)波長點(diǎn)下的吸光度數(shù)據(jù)作為一個(gè)粒子,按照位置順序編號(hào)為1—246,首先采用PLS建立k個(gè)變量的回歸模型,以模型輸出的RMSE為粒子群算法的適應(yīng)度函數(shù),粒子在整個(gè)譜區(qū)根據(jù)最小的RMSE更新速度和位置,最后找出滿足條件的最優(yōu)變量取值。
定義粒子群算法適應(yīng)度函數(shù)為F(x)=min(RMSE),其中均方根誤差(RMSE)為特征波長處COD真實(shí)值與測(cè)量值之間的均方根誤差。設(shè)置初始種群個(gè)數(shù)為20,慣性權(quán)重w=0.6,自我學(xué)習(xí)因子c1=1.6,群體學(xué)習(xí)因子c2=1.6,位置參數(shù)限制為[1—246],速度限制為[0—1],最大迭代次數(shù)為200。粒子群算法的具體流程如圖3。
圖3 粒子群算法流程圖Fig.3 Particle swarm algorithm flowchart
采用粒子群算法篩選的最優(yōu)波長數(shù)為8個(gè),位置分別168,94,181,183,175,209,106和142。對(duì)應(yīng)波長分別為256.7,230.6,271.9,272.8,269.0,285.1,236.3和253.4 nm。圖4是PLS利用粒子群算法篩選出的特征波長建立的預(yù)測(cè)模型,相關(guān)系數(shù)達(dá)到了0.999 98,RMSE=0.155 1。
圖4 預(yù)測(cè)值和真實(shí)值相關(guān)關(guān)系Fig.4 Correlation between predicted value and true value
圖5為粒子群算法運(yùn)行過程中,適應(yīng)度隨迭代次數(shù)的變化函數(shù),從圖中可以看出,隨著迭代次數(shù)的增加,RMSE由最開始的0.954 7逐漸減小至0.155 1,直到達(dá)到最大迭代次數(shù)。
圖5 適應(yīng)度變化曲線圖Fig.5 Trend graph of fitness function
采用PLS,iPLS,SVR以及PSO-PLS對(duì)采集的29份不同濃度的標(biāo)準(zhǔn)溶液光譜數(shù)據(jù)進(jìn)行分析。為驗(yàn)證PSO-PLS建立的預(yù)測(cè)模型優(yōu)劣,另外建立PLS,iPLS和SVR三種預(yù)測(cè)模型與本文提出的PSO-PLS進(jìn)行對(duì)比,圖6為4種預(yù)測(cè)模型預(yù)測(cè)濃度值與真實(shí)值的相對(duì)誤差,由圖6可知,低濃度時(shí),4種算法建立的預(yù)測(cè)模型相對(duì)誤差上下波動(dòng)較大。隨著濃度的升高,相對(duì)誤差趨于平穩(wěn)。整體來看,PSO-PLS方法的相對(duì)誤差在0~300 mg·L-1濃度范圍內(nèi)波動(dòng)最小,標(biāo)準(zhǔn)溶液濃度為30 mg·L-1時(shí),PSO-PLS,PLS,iPLS,SVR的相對(duì)誤差絕對(duì)值分別為0.009 6,0.021 8,0.021 9和0.016 8。PSO-PLS模型的預(yù)測(cè)效果優(yōu)于其他3種模型。
圖6 四種預(yù)測(cè)模型相對(duì)誤差對(duì)比Fig.6 Comparison of relative error between four prediction models
表1為4種建模方法的相關(guān)系數(shù)和均方根誤差。從表1可以看出,4種算法中,SVR建立的預(yù)測(cè)模型相關(guān)系數(shù)最小,均方根誤差最大。PSO-PLS建立的預(yù)測(cè)模型的相關(guān)系數(shù)最大,均方根誤差RMSE僅為0.155 1,遠(yuǎn)低于其他3種預(yù)測(cè)模型。比較可知PSO-PLS預(yù)測(cè)模型效果優(yōu)于其他3種預(yù)測(cè)模型。
表1 4種建模方法效果對(duì)比Table 1 Comparison of four modeling methods
采用粒子群算法與偏最小二乘回歸相結(jié)合選擇特征波長的方法,建立了COD濃度預(yù)測(cè)回歸模型,模型適用于COD濃度低于500 mg·L-1的水體。并且將該模型與PLS,iPLS和SVR所建立的預(yù)測(cè)模型進(jìn)行對(duì)比,實(shí)驗(yàn)數(shù)據(jù)表明,使用粒子群算法與偏最小二乘回歸相結(jié)合的方法建立的模型能夠有效減少建模波長數(shù)量,提高預(yù)測(cè)模型的精度。在實(shí)際水質(zhì)監(jiān)測(cè)中,使用粒子群算法選擇特征波長,不僅能大大節(jié)約成本,還能在模型滿足精度足夠高的情況下快速進(jìn)行建模,為快速無污染的紫外光譜水質(zhì)監(jiān)測(cè)提供便捷有效的算法依據(jù)。