花晨芝, 趙 凌*, 宋建軍
(1. 四川師范大學(xué) 數(shù)學(xué)科學(xué)學(xué)院, 四川 成都 610066; 2. 成都文理學(xué)院 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院, 四川 成都 610401)
水質(zhì)監(jiān)測(cè)是我國(guó)目前密切關(guān)注的一個(gè)問(wèn)題,需要有更加高效快捷的方法對(duì)各種水質(zhì)進(jìn)行在線實(shí)時(shí)監(jiān)測(cè)[1].
COD(化學(xué)需氧量)是評(píng)價(jià)水體污染嚴(yán)重程度的一項(xiàng)重要指標(biāo).劉巖等[2]采用臭氧氧化法測(cè)量海水COD,由于臭氧的局限性,此法對(duì)生活用水的監(jiān)測(cè)有較大的限制;Li等[3]采用納米PbO2電極測(cè)量COD法;還有一些傳統(tǒng)的化學(xué)法如重鉻酸鉀法和庫(kù)倫法[4]等測(cè)量COD.這些方法都有較大的缺陷,耗量大,易造成二次污染.基于這些問(wèn)題,現(xiàn)階段水質(zhì)監(jiān)測(cè)中采用的紫外光譜測(cè)量法[5]對(duì)COD進(jìn)行檢測(cè)是一種高效簡(jiǎn)潔的方法.在紫外光譜水質(zhì)監(jiān)測(cè)中,需要解決的問(wèn)題是,如何選取有效的波長(zhǎng)吸光度建立回歸模型,以及選取哪些波長(zhǎng)段的吸光度來(lái)建模,即如何選取特征波長(zhǎng)[6].
光譜法檢測(cè)目前較普遍地采用254 nm波長(zhǎng)的吸光度進(jìn)行建模,但考慮到使用單波長(zhǎng)建立模型,得到的數(shù)據(jù)穩(wěn)定性較差,于是選擇多波長(zhǎng)建模,利用遺傳算法與偏最小二乘法結(jié)合進(jìn)行選擇特征波長(zhǎng)[7-9],并且與直接選取相關(guān)系數(shù)最大的幾列數(shù)據(jù)建立的模型進(jìn)行了效果對(duì)比,實(shí)際數(shù)據(jù)說(shuō)明,利用該方法選擇波長(zhǎng)并建立的模型不僅使均方誤差達(dá)到最小,并且擬合優(yōu)度達(dá)到了99.9%,平均誤差為0.476 853,平均誤差率為2.3%,具有非常良好的性質(zhì).
1.1 偏最小二乘設(shè)因變量數(shù)據(jù)表為Y=(y1,y2,…,yq)n×q,自變量數(shù)據(jù)表為X=(x1,x2,…,xp)n×p,且共取得n個(gè)樣本.偏最小二乘的原理為分別從X與Y中提取第一個(gè)成分t1和u1,提取的原則是:
1) 成分t1和u1能最大程度地?cái)y帶各自數(shù)據(jù)表中的信息;
2)t1和u1要具有最強(qiáng)的相關(guān)性.
將第一個(gè)相關(guān)主成分t1和u1提取之后,分別實(shí)施X對(duì)t1的回歸和Y對(duì)u1的回歸,若達(dá)到滿(mǎn)意的精度則停止提取主成分,否則重復(fù)上述提取成分步驟,直到達(dá)到滿(mǎn)意的精度為止.此時(shí),對(duì)自變量數(shù)據(jù)表X共提取了m個(gè)主成分t1,t2,…,tm,接下來(lái)實(shí)施yk(k=1,2,…,q)對(duì)(t1,t2,…,tm)的回歸,然后將回歸方程轉(zhuǎn)換成yk對(duì)(x1,x2,…,xp)的回歸方程即可.
1.2 遺傳算法基本原理遺傳算法是一個(gè)優(yōu)化求解算法,本質(zhì)上是由一個(gè)原始解通過(guò)模擬生物遺傳的方法產(chǎn)生新解,驗(yàn)證適度函數(shù),再產(chǎn)生新解,直到達(dá)到最優(yōu)解為止的算法.
第一步,應(yīng)該確定原始解空間U,優(yōu)化目標(biāo)函數(shù)f(x),并對(duì)解空間進(jìn)行編碼,其中編碼串長(zhǎng)度的選取與問(wèn)題所要求的求解精度有關(guān).
第二步,確定適度函數(shù)F(X),適度函數(shù)就是借鑒生物個(gè)體對(duì)環(huán)境的適應(yīng)程度,而對(duì)問(wèn)題中的個(gè)體對(duì)象所設(shè)計(jì)的表現(xiàn)優(yōu)劣的一種測(cè)度,它的表達(dá)式應(yīng)和優(yōu)化目標(biāo)函數(shù)f(x)建立一定的映射關(guān)系.
第三步,確定控制算法的參數(shù)和變量,一個(gè)簡(jiǎn)單的遺傳算法由復(fù)制、交叉和變異3個(gè)遺傳算子組成.復(fù)制算子P(Xi)把當(dāng)前群體中的個(gè)體按與適應(yīng)值成比例的概率復(fù)制到新的群體中;交叉算子PC從交配池中隨機(jī)選擇的2個(gè)個(gè)體中,以一定的概率PC雜交算子產(chǎn)生2個(gè)子代染色體;變異算子PM以一個(gè)很小的概率PM隨機(jī)改變?nèi)旧w上的某些位,具有增加群體多樣性的效果.
第四步,確定指定結(jié)果的方法和運(yùn)行停止的準(zhǔn)則.具體算法流程圖見(jiàn)圖1.
圖 1 遺傳算法流程圖
2.1 實(shí)驗(yàn)材料COD標(biāo)準(zhǔn)溶液的配制將適量鄰苯二甲酸氫鉀置于烘箱中在110 ℃條件下烘干2 h,在干燥器中冷卻后稱(chēng)取0.850 2 g定容于1 000 mL的容量瓶中,此時(shí)得到質(zhì)量濃度為1 000 mg/L的COD標(biāo)準(zhǔn)溶液,接著再將其稀釋得到從1 mg/L到200 mg/L質(zhì)量濃度的共200組COD標(biāo)準(zhǔn)溶液.
2.2 遺傳算法與偏最小二乘法結(jié)合在波長(zhǎng)選擇中的應(yīng)用首先,將自變量數(shù)據(jù)表X=(x1,x2,…,xp)n×q的每一列數(shù)據(jù)的列數(shù)p用二進(jìn)制進(jìn)行轉(zhuǎn)碼,轉(zhuǎn)碼后用zi代替每一列數(shù)據(jù)的列數(shù)編碼,例如z201=1001001即為x201的二進(jìn)制編碼.
接下來(lái)需要在解空間U上定義一個(gè)適度函數(shù)F(X),由本文所求解的優(yōu)化問(wèn)題可列出目標(biāo)函數(shù)
f(x)=min(SRMSE),
(1)
其中SRMSE為特征波長(zhǎng)處COD真實(shí)值與測(cè)量值之間的均方根誤差.
具體計(jì)算是先由遺傳算法選出N個(gè)波長(zhǎng),然后對(duì)這N個(gè)波長(zhǎng)實(shí)施偏最小二乘回歸,可得一個(gè)偏最小二乘回歸模型,然后將一組實(shí)驗(yàn)數(shù)據(jù)代入可得該模型下的SRMSE,由此可定義適度函數(shù)
(2)
由適度函數(shù)的構(gòu)成可看出,當(dāng)目標(biāo)函數(shù)得到最小值時(shí),適度函數(shù)將取到最大值.
其次,給定初始種群的規(guī)模N=10,復(fù)制算子P(zi)=0.2,按復(fù)制選擇概率P(zi)所決定的選中機(jī)會(huì),從U中隨機(jī)選定1個(gè)個(gè)體并將其染色體復(fù)制,共做10次,然后將復(fù)制所得的10個(gè)染色體組成種群S0={z1,z2,…z10};N將控制參與偏最小二乘回歸的自變量個(gè)數(shù),所以在后面的實(shí)驗(yàn)中,將會(huì)不斷改進(jìn)種群規(guī)模的個(gè)數(shù),直到找到最佳的規(guī)模為止.計(jì)算S0這個(gè)種群的適應(yīng)度(FS0),若終止條件滿(mǎn)足,則取S0這個(gè)種群作為所求結(jié)果,算法結(jié)束;若不滿(mǎn)足,則繼續(xù)下一步.
給定交叉算子PC=0.5,按交叉率PC所決定的參加交叉的染色體數(shù)K,從S0中隨機(jī)確定K個(gè)染色體,配對(duì)進(jìn)行交叉操作,并用產(chǎn)生的新染色體代替原來(lái)的染色體,得到種群S1;變異算子PM=0.02,按變異率PM所決定的變異次數(shù)m,從S1中隨機(jī)確定m個(gè)染色體,分別進(jìn)行變異操作,并用產(chǎn)生的新染色體代替原來(lái)的染色體,得到種群S2;將種群S2作為新的種群,即用S2代替S0,重復(fù)以上步驟.
給定迭代次數(shù)T=1 000.
2.3 紫外光譜數(shù)據(jù)采集實(shí)驗(yàn)儀器將使用奧地利s:can公司的紫外光譜儀,可在紫外可見(jiàn)光區(qū)域進(jìn)行水樣的測(cè)定,波長(zhǎng)范圍可達(dá)220~720 nm,具有優(yōu)異的分析精度.由于波長(zhǎng)可達(dá)范圍太大,全部采納進(jìn)行建模會(huì)大大降低模型的解釋性和擬合優(yōu)度,所以接下來(lái)我們對(duì)200組COD標(biāo)準(zhǔn)溶液進(jìn)行紫外光光譜掃描后,通過(guò)遺傳算法對(duì)190~400 nm波段的吸光度數(shù)據(jù)進(jìn)行特征提取,使得使用偏最小二乘對(duì)提取后的特征波長(zhǎng)建立的回歸模型達(dá)到最優(yōu)的擬合優(yōu)度以及最小的平均誤差率.
2.4 特征波長(zhǎng)選擇圖2為不同COD濃度的溶液在不同波長(zhǎng)處的吸光度數(shù)值,可以直觀看出,不同濃度的原始數(shù)據(jù)均在波長(zhǎng)220 nm附近時(shí)達(dá)到第一個(gè)峰值,在波長(zhǎng)240和270 nm等附近也達(dá)到局部最小和最大值,且原始數(shù)據(jù)總體趨勢(shì)在190~270 nm波段起伏波動(dòng)較大,后半段數(shù)據(jù)趨勢(shì)趨于平穩(wěn).
圖 2 紫外光譜吸光度原始數(shù)據(jù)
為了通過(guò)直接計(jì)算各波長(zhǎng)吸光度與COD濃度的相關(guān)系數(shù),選取相關(guān)系數(shù)最大的前6列特征波長(zhǎng),記為第一類(lèi)特征波長(zhǎng),分別為220、222.5、262.5、267.5、270.0和272.5 nm,相關(guān)系數(shù)分別為0.999 3、0.979 3、0.963 9、0.976 1、0.961 8和0.998 9.通過(guò)遺傳算法選擇波長(zhǎng)后得到的特征波長(zhǎng)數(shù),共6列,記為第二類(lèi)特征波長(zhǎng),分別為222.5、230.0、240.0、252.5、260.0和262.5 nm,相關(guān)系數(shù)分別為0.999 1、0.999 3、0.998 9、0.996 1、0.987 8和0.981 8.第二類(lèi)特征波長(zhǎng)吸光度與COD濃度的相關(guān)系數(shù)部分會(huì)低于第一類(lèi)特征波長(zhǎng)吸光度與COD濃度的相關(guān)系數(shù),但使用第一類(lèi)特征波長(zhǎng)吸光度建立的偏最小二乘模型,與使用第二類(lèi)特征波長(zhǎng)吸光度建立的偏最小二乘模型進(jìn)行比較,結(jié)果如下.
將特征波長(zhǎng)處的吸光度記為x1,x2,…,x6,將COD值記為y,通過(guò)第二類(lèi)特征波長(zhǎng)建立的偏最小二乘回歸模型1為
y1=13.712 2+0.130 3x1+
12.2x2+14.562 3x3+31.225 7x4+
41.225x5+45.232 1x6,
通過(guò)第一類(lèi)特征波長(zhǎng)建立的偏最小二乘回歸模型2為
y2=-2.256 3+6.459 6x1+
11.884 5x2+29.762x3+60.532 1x4+
62.159 3x5+98.514 3x6.
模型1和2的擬合圖見(jiàn)圖3和圖4,其中SRMSEE為校正均方差.圖3和圖4的橫坐標(biāo)為COD濃度真實(shí)值,縱坐標(biāo)為COD濃度測(cè)量值.
圖 3 模型1的擬合效果圖
圖 4 模型2的擬合效果圖
由表1的數(shù)據(jù)對(duì)比可看出,模型1具有更高的擬合優(yōu)度,并且具有更小的誤差,平均誤差率為2.3%,達(dá)到了國(guó)家標(biāo)準(zhǔn)要求的5%以?xún)?nèi).通過(guò)遺傳算法選波長(zhǎng)與偏最小二乘方法結(jié)合的方式來(lái)建立模型的效果是非常好的.
表 1 2個(gè)模型的S RMSEE 與R2值的比較
表2是使用模型1,也就是遺傳算法與偏最小二乘法相結(jié)合所建立的模型,對(duì)9種不同的水樣進(jìn)行觀測(cè)后,得到的平均誤差為0.09,平均誤差率為0.25%.
本文系統(tǒng)地介紹了遺傳算法與偏最小二乘法相結(jié)合選擇特征波長(zhǎng)的方法,通過(guò)該方法建立了COD回歸模型,并且還將使用該法選擇特征波長(zhǎng)后建立的偏最小二乘回歸模型與使用直接選擇最大相關(guān)系數(shù)的特征波長(zhǎng)建立的偏最小二乘法回歸模型進(jìn)行了對(duì)比.通過(guò)實(shí)驗(yàn)數(shù)據(jù)表明:使用本文所述方法建立模型的平均誤差為0.476 853,平均誤差率為2.3%.在實(shí)際的水質(zhì)監(jiān)測(cè)中,使用本文所述遺傳算法選特征波長(zhǎng),不僅能大大節(jié)約研究成本,還能在模型滿(mǎn)足精度足夠高的情況下,快速地進(jìn)行建模.為快速無(wú)污染的紫外光譜水質(zhì)監(jiān)測(cè)提供了一種簡(jiǎn)潔有效的算法依據(jù).
表 2 模型1預(yù)測(cè)效果