韓曉霞,陳 媛,胡冠宇,3,唐帥文
(1.火箭軍工程大學(xué) 作戰(zhàn)保障學(xué)院,陜西 西安 710025;2.火箭軍工程大學(xué) 導(dǎo)彈工程學(xué)院,陜西 西安 710025;3.桂林電子科技大學(xué) 計算機科學(xué)與信息安全學(xué)院,廣西 桂林 541004)
目前,國內(nèi)淡水存儲量局部下降,以廢水亂排、水質(zhì)營養(yǎng)化等形式導(dǎo)致的水質(zhì)污染在不斷加劇[1-2]。我國雖然投入了大量資金進行污水治理,但水污染問題依舊嚴(yán)峻。因此,為盡早發(fā)現(xiàn)水污染情況并采取防治方案,水質(zhì)預(yù)測變得十分必要。水質(zhì)預(yù)測主要根據(jù)歷史數(shù)據(jù)對未來水質(zhì)狀態(tài)進行估計,并為水環(huán)境質(zhì)量、污染物排放等標(biāo)準(zhǔn)的制定提供科學(xué)的依據(jù)。現(xiàn)有水質(zhì)預(yù)測模型主要分為機理性方法和非機理性方法[3]。例如,WASP(The water quality analysis simulation program)模型[4]以及丹麥學(xué)者Liang等[5]研發(fā)的MIKE模型可根據(jù)各污染物的遷移和轉(zhuǎn)化規(guī)律建立水質(zhì)預(yù)測模型,能廣泛用于多種不同水環(huán)境中[6]。李如忠等[7]運用未確知數(shù)學(xué)理論建立了未確知數(shù)學(xué)模型,在監(jiān)測信息不確定情況下可獲得較為準(zhǔn)確的水質(zhì)模擬預(yù)測值。文獻[8-10]分別提出了基于灰色模型、BP(Back propagation)神經(jīng)網(wǎng)絡(luò)以及GM(1,1)灰色動態(tài)模型的水質(zhì)預(yù)測方法,借助歷史數(shù)據(jù)建立較為準(zhǔn)確的水質(zhì)預(yù)測模型,能夠有效適用于洪湖、人工湖等水域的水質(zhì)預(yù)警預(yù)報系統(tǒng)中。上述方法在實際應(yīng)用中均取得較好效果,然而作為一個典型的復(fù)雜系統(tǒng),水環(huán)境中污染物對水質(zhì)的影響不一,且污染物之間存在非線性關(guān)系[11]。因此,水環(huán)境的未來水質(zhì)變化趨勢預(yù)測存在眾多不確定性因素,包括隨機、模糊不確定性以及無知性[7,12]。同時,由于受監(jiān)測技術(shù)限制,獲取的歷史水質(zhì)監(jiān)測數(shù)據(jù)較少。單純利用傳統(tǒng)的機理性或非機理性方法進行水質(zhì)預(yù)測已不再滿足精度要求。置信規(guī)則庫(Belief rule base, BRB)[13]模型作為機理與非機理性方法的折中,能夠充分利用專家知識與歷史監(jiān)測數(shù)據(jù)實現(xiàn)對水質(zhì)的預(yù)測,可有效緩解監(jiān)測數(shù)據(jù)較少問題。同時,該模型也能處理包括隨機、模糊不確定性等多種不確定性,并利用辨識框架(Frame of discernment, FoD)(由單個集合和系統(tǒng)狀態(tài)構(gòu)成的通用集合)很好地表達帶有無知性的信息。無知性可以進一步分為全局無知性(根據(jù)現(xiàn)有知識無法確定最終結(jié)論)和局部無知性(根據(jù)現(xiàn)有知識可以確定結(jié)論存在于某個子集中)。BRB中辨識框架FoD只能描述全局無知性問題。以水環(huán)境為例,假設(shè)水質(zhì)健康狀況有3 個評估等級,BRB模型的辨識框架表示為FoDBRB={{good},{common},{bad},{good,common,bad}}。環(huán)保部門采取一系列措施將富營養(yǎng)化狀態(tài)的湖泊治理并恢復(fù)到正常狀態(tài)。因此,湖泊在短時間內(nèi)具有很強的自愈能力,{bad}狀態(tài)可以排除在湖泊水質(zhì)預(yù)測結(jié)果之外,這意味著大部分的置信度應(yīng)該分配給{good, common}的子集。但如果無知性被分配給{good, common,bad}全集,將會導(dǎo)致置信度分布不合理,建模精度下降。冪集[14]是指由單一集合及其所有子集組成的集合,具有完備的局部和全局無知性知識的描述能力,能較好地解決水質(zhì)預(yù)測問題中存在的局部無知性問題。
筆者提出一種冪集置信規(guī)則庫(Belief rule base with power set, PBRB)的水質(zhì)預(yù)測模型。首先,將FoD拓展至冪集來描述水質(zhì)預(yù)測中存在的局部無知性,利用證據(jù)推理(Evidential reasoning, ER)算法[15]將影響對水質(zhì)關(guān)鍵指標(biāo)的融合評價,將評估結(jié)果輸入到水質(zhì)預(yù)測模型中得到下一時刻的水質(zhì)健康狀況預(yù)測值;其次,利用協(xié)方差矩陣自適應(yīng)進化策略(Covariance matrix adaptive evolution strategy,CMA-ES)[16]算法對PBRB模型進行優(yōu)化,避免水質(zhì)預(yù)測模型初始參數(shù)設(shè)置不準(zhǔn)確,進一步提高水質(zhì)預(yù)測的精度;最后,以海口市東寨港貝類養(yǎng)殖區(qū)為例對所構(gòu)建的模型進行驗證。
為有效地處理模糊、不完全和非線性因果關(guān)系,Yang等[13]基于傳統(tǒng)IF-THEN規(guī)則的知識庫結(jié)構(gòu),將置信度嵌入到規(guī)則庫中,建立BRB模型。置信結(jié)構(gòu)使BRB能夠更靈活地表示含有不確定性的知識。目前已被廣泛應(yīng)用于故障預(yù)測、網(wǎng)絡(luò)安全態(tài)勢和系統(tǒng)行為預(yù)測等領(lǐng)域[14,17-18]。例如,Zhou等[19]提出了通過一種隱含置信規(guī)則庫預(yù)測模型來預(yù)測陀螺漂移系數(shù);Zhou等[20]在BRB模型的基礎(chǔ)上,建立了WD615型柴油機隱性故障預(yù)測模型。
本節(jié)將回顧BRB預(yù)測模型的主要內(nèi)容,為筆者提出的新預(yù)測模型提供依據(jù)。首先,假設(shè)Θ表示一個由N個狀態(tài)或命題構(gòu)成的集合,且Θ={T1,T2,…,TN}。BRB預(yù)測模型辨識框架選用FoDBRB={?,{T1},{T2}…,{TN},Θ},Θ表示全集,?表示空集。作為一種非線性系統(tǒng)建模工具,BRB預(yù)測模型主要是建立置信規(guī)則庫來表示當(dāng)前時間和未來時間系統(tǒng)行為之間的關(guān)系。其中,第k條規(guī)則可以表示[21]為
如果x(t)處于狀態(tài)Tk時,且θk=δ=1,則x(t+1)的狀態(tài)為
{(T1,β1,k),(T2,β2,k),…,(TN,βN,k)}
(1)
其中:x(t)為系統(tǒng)在t時刻的行為;Tk為第k個結(jié)論等級;βj,k(j,k=1,2,…,N)為第k條規(guī)則中第j個結(jié)論等級的置信度,N為規(guī)則總數(shù),值得注意的是,BRB預(yù)測模型中的規(guī)則數(shù)與結(jié)論等級個數(shù)相等;θk為第k條規(guī)則的規(guī)則權(quán)重,在BRB預(yù)測模型中,由于前提屬性只有一個,所以屬性權(quán)重設(shè)置為1,即δ=1。
在水質(zhì)預(yù)測問題中全局與局部無知可能同時存在,無論忽略哪種無知性,模型都可能錯誤反映客觀事實。因此,將FoD拓展到冪集并將置信度分配給全集和其子集,能夠更好地表示全局與局部無知性。
在BRB預(yù)測模型基礎(chǔ)上,建立PBRB預(yù)測模型。首先,將FoDBRB擴展到冪集,記作FoDPBRB={?,{T1},{T2},…,{TN},{T1,T2},{T1,T3},…,Θ}。FoDPBRB被認為是一個統(tǒng)一的框架,其中置信度不會分配給空集,而是分配給剩余其他子集。PBRB預(yù)測模型中的第k條規(guī)則可以改寫成
如果x(t)處于狀態(tài)Tk,且θk=δ=1,則x(t+1)的狀態(tài)為
{(T1,β1,k),(T2,β2,k),…,(TN,βN,k),
(TN+1,βN+1,k),…,(T2N,β2N,k)}
(2)
其中:x(t)為系統(tǒng)在t時刻的行為并描述在冪集上;Ti(i=1,2,…,2N)為系統(tǒng)的第i個狀態(tài)(或者是第i個結(jié)論),Ti?FoDPBRB;βj,k(j,k=1,2,…,2N-1)為第k條規(guī)則中第j個結(jié)論的置信度。由于置信度不會分配給集合?,因此PBRB預(yù)測模型中的規(guī)則總數(shù)為2N-1。同樣,前提屬性只有一個,所以δ=1。
為實現(xiàn)對水質(zhì)健康狀況的預(yù)測,需要先對水質(zhì)進行評估??紤]到ER算法在處理各類不確定性方面的優(yōu)勢[22-23],利用該算法融合多個影響水質(zhì)的關(guān)鍵指標(biāo),實現(xiàn)水質(zhì)健康狀況評估。水質(zhì)健康狀況評估的流程如圖1所示。
圖1 水質(zhì)評估流程Fig.1 Water quality assessment process
具體水質(zhì)評估流程如下:
步驟1構(gòu)建評估指標(biāo)體系。由《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》可知:多個水質(zhì)監(jiān)測指標(biāo)會直接影響水環(huán)境質(zhì)量等級。若水質(zhì)指標(biāo)過多,模型計算量增大。因此,選取化學(xué)需氧量、氨氮、總磷和高錳酸鉀指數(shù)含量這4 個指標(biāo)作為水質(zhì)評估的關(guān)鍵因素[24-25],如圖1所示。
步驟2水質(zhì)監(jiān)測信息轉(zhuǎn)換。在4 個水質(zhì)監(jiān)測指標(biāo)進行融合前,將水質(zhì)監(jiān)測數(shù)據(jù)轉(zhuǎn)化為置信分布形式。每個評估指標(biāo)表示一條證據(jù)ei,其對應(yīng)的置信分布為
(3)
式中:Tj表示第j個評估結(jié)論等級;pj,i表示證據(jù)ei相對于結(jié)論等級Tj的置信度,其中pj,i可以采用基于效用的方法[26]計算,也可以由專家給定。
步驟3多個水質(zhì)指標(biāo)融合,得到水質(zhì)健康狀況。將4 個指標(biāo)進行融合,可得到水質(zhì)的健康狀況x為
(4)
式中:x為融合輸出結(jié)果,表征當(dāng)前水質(zhì)的健康狀況;u(Tj)為第j個結(jié)論等級Tj對應(yīng)的語義值;pj為融合后所得結(jié)果支持結(jié)論等級Tj的置信度,可通過計算得到[27],即
(5)
(6)
mj,I(i+1)=KI(i+1)[mj,I(i)mj,i+1+mj,I(i)mT,i+1+
mT,I(i)mj,i+1]
(7)
(8)
(9)
mj,i=wjpj,i
(10)
(11)
(12)
在得到水質(zhì)健康狀況后,還需要建立PBRB水質(zhì)預(yù)測模型的置信規(guī)則庫,以表征當(dāng)前時刻與下一時刻水質(zhì)健康狀況之間的非線性因果關(guān)系。
步驟1置信規(guī)則庫的框架確定。根據(jù)2.1節(jié)給定的水質(zhì)健康狀況評估等級,計算得到模型的規(guī)則數(shù)L=2N-1,可確定置信規(guī)則庫的框架。
步驟2置信規(guī)則庫初始參數(shù)的確定。根據(jù)專家知識以及相關(guān)標(biāo)準(zhǔn),確定初始參數(shù)Ω={θ1,θ2,…,θ2N,β1,1,β2,1,…,β2N,1,β1,2,β2,2,…,β2N,2,…,β1,2N-1,…,β2N,2N-1}以及辨識框架FoDPRBR。
步驟3水質(zhì)預(yù)測模型的構(gòu)建。在上述步驟的基礎(chǔ)上,構(gòu)建了初始置信規(guī)則庫,即完成了初始PBRB水質(zhì)預(yù)測模型的建立。其中模型的第k條規(guī)則可以表示為
如果x(t-1)處于狀態(tài)Tk,且θk=δ=1,則x(t)的狀態(tài)為
{(T1,β1,k),(T2,β2,k),…,(TN,βN,k),
(TN+1,βN+1,k),…,(T2N,β2N,k)}
(13)
式中:x(t-1)為在t-1時刻水質(zhì)健康狀況;x(t)為預(yù)測得到的第t時刻的水質(zhì)健康狀況;Tj(i=1,2,…,2N)為第j個水質(zhì)健康狀況等級,Ti?FoDPBRB;βj,k(j,k=1,2,…,2N-1)為第k條規(guī)則中屬于第j個水質(zhì)健康狀況等級的置信度。
基于上述分析,得到水質(zhì)健康狀況并完成了PBRB水質(zhì)預(yù)測模型的建立。因此如何利用PBRB水質(zhì)預(yù)測模型預(yù)測未來水質(zhì)健康狀況成為本小節(jié)的研究重點,基于PBRB的水質(zhì)預(yù)測模型推理為
步驟1計算輸入的匹配度。其中,PBRB水質(zhì)預(yù)測模型的輸入數(shù)據(jù)可以是定性或定量數(shù)據(jù)。在本研究中,由于PBRB水質(zhì)模型的輸入是評估得到的水質(zhì)健康狀況,即為定量數(shù)據(jù)。因此,可以計算得到輸入相對于參考值的匹配度,即
(14)
(15)
式中:U(Ti)為冪集評價等級下第i個命題的效用;U(T′j)為單集評價等級下第j個命題T′j(j=1,2,…,N)的效用;α′i(t)和αj(t)分別為輸入x(t)相對于冪集評價等級與單集評價等級效用的匹配程度。
步驟2當(dāng)t-1時刻的輸入為x(t-1),計算出t時刻的條件概率密度p(x(t)=U(Tj)|x(t-1)),即
(16)
式中βj(t)為在時刻t分配給第j個結(jié)論的置信度,具體計算公式為
(17)
(18)
式中:wk(t)為在時刻t分配給第k條規(guī)則的激活權(quán)重;βi,k(t)為在時刻t分配給第k條規(guī)則中第i個結(jié)論的置信度,初始值可由專家根據(jù)經(jīng)驗給定,并結(jié)合優(yōu)化算法進一步優(yōu)化。
由于所求的概率分布是分配給冪集的,依舊存在不確定狀態(tài),因此需要將其重新分配給單集,得到t時刻的水質(zhì)健康狀況預(yù)測值為
(19)
(20)
式中|Ti|為集合Ti中包含的元素個數(shù)。
由于專家知識的無知性,導(dǎo)致初始PBRB水質(zhì)預(yù)測模型中的參數(shù)設(shè)置不準(zhǔn)確。因此,很有必要對預(yù)測模型的參數(shù)進行優(yōu)化,以提高預(yù)測精度。確定優(yōu)化目標(biāo),即
(21)
式中H(Ω)為實際輸出與估計輸出之間的均方誤差函數(shù)。待優(yōu)化的參數(shù)向量可以表示為Ω={θ1,θ2,…,θ2N,β1,1,β2,1…,β2N,1,β1,2,β2,2,…,β2N,2,…,β1,2N-1,β2,2N-1,…,β2N,2N-1}。
由于CMA-ES算法能夠在相對合理的時間內(nèi)利用少量種群收斂至全局最優(yōu),且在處理高維非線性優(yōu)化問題上性能良好[16]。因此,筆者利用CMA-ES優(yōu)化算法通過初始化、選擇重組和更新操作等步驟,求解上述優(yōu)化問題,具體步驟參考文獻[16]。
基于上述分析,PBRB水質(zhì)預(yù)測模型建模流程的基本步驟如下:
步驟1融合影響水質(zhì)關(guān)鍵指標(biāo),得到水質(zhì)健康狀況。利用ER算法將化學(xué)需氧量、氨氮等水質(zhì)監(jiān)測關(guān)鍵指標(biāo)融合評價,并將得到的水質(zhì)健康狀況作為預(yù)測模型的輸入。
步驟2建立置信規(guī)則庫。結(jié)合專家知識和行業(yè)標(biāo)準(zhǔn),確定模型規(guī)則總數(shù)、初始化模型參數(shù)Ω以及辨識框架FoD,構(gòu)建置信規(guī)則庫,從而建立初始PBRB水質(zhì)預(yù)測模型。
步驟3利用CMA-ES算法進行參數(shù)優(yōu)化。借助CMA-ES優(yōu)化算法,可以獲得目標(biāo)函數(shù)為最小時所對應(yīng)的最優(yōu)參數(shù),并得到最佳水質(zhì)預(yù)測模型。
步驟4推理得到預(yù)測結(jié)果。將所得到的水質(zhì)健康狀況輸入到水質(zhì)預(yù)測模型中,利用式(14~19),可計算基于冪集評價等級的水質(zhì)健康狀況預(yù)測結(jié)果。
步驟5利用式(19)將式(16)得到的冪集評價等級下的結(jié)論置信度重新分配給單集評價等級,得出最終的水質(zhì)健康狀況預(yù)測結(jié)果x(t)。
下面給出??谑袞|寨港貝類養(yǎng)殖區(qū)24 個月的歷史水質(zhì)監(jiān)測數(shù)據(jù),如圖2所示。參考《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》(GB 3838—2002)可知:確定該水域?qū)儆贗II類水質(zhì)并給出各水質(zhì)監(jiān)測指標(biāo)所對應(yīng)的參考等級和參考值。同時,將水質(zhì)健康狀況分為好(G)、中(M)和壞(S)3 個評估等級,如表1,2所示。其中,水質(zhì)健康狀況數(shù)值越大表示水質(zhì)越干凈。
圖2 某漁業(yè)水域不同監(jiān)測指標(biāo)24 個月監(jiān)測數(shù)據(jù)Fig.2 24 months monitoring data of different monitoring indexes in a fishery water area
表1 水質(zhì)監(jiān)測指標(biāo)參考等級和參考值
(22)
(23)
表2 水質(zhì)健康狀況參考等級和參考值Table 2 Reference grade and value of water quality health status
(24)
證據(jù)e2可表示為輸入置信分布形式,即
s(0.91)={(T1,0),(T2,0.18),(T3,0.82)}
(25)
同理,圖2中的所有水質(zhì)監(jiān)測指標(biāo)監(jiān)測數(shù)據(jù)可轉(zhuǎn)換為證據(jù)的置信分布形式,在此不贅述。采用式(3~12)對4 個水質(zhì)監(jiān)測指標(biāo)進行融合,得到24 個月的水質(zhì)健康狀況,其變化趨勢如圖3所示。
圖3 24個月水質(zhì)健康狀況變化趨勢圖Fig.3 Trend of water quality in 24 months
基于上述分析,可知水質(zhì)健康狀況等級可分為3 類,則PBRB水質(zhì)預(yù)測模型中置信規(guī)則庫的規(guī)則總數(shù)為23-1條。結(jié)合行業(yè)標(biāo)準(zhǔn)以及專家知識,可初始化模型參數(shù)Ω={θ1,θ2…,θ7,β1,1,β2,1,…,β8,1,…,β1,2,β2,2,…,β8,2,…,β1,7,β2,7,…,β8,7}以及確定辨識框架FoDPBRB={?,{G},{M},{S},{G,M},{G,S},{M,S},{G,M,S}}的取值,最后實現(xiàn)初始PBRB水質(zhì)預(yù)測模型的構(gòu)建,如表3所示。表3中結(jié)論置信度由專家給出,并且沒有給空集分配置信度。以最后一行為例,置信度都分配給集合{G,M,S},這意味著專家沒有先驗知識來預(yù)測未來水質(zhì)狀態(tài)。
表3 初始PBRB水質(zhì)預(yù)測模型Table 3 Initial water quality prediction model based PBRB
本節(jié)選取CMA-ES算法作為優(yōu)化工具,可計算得到模型的最優(yōu)參數(shù)。將待優(yōu)化的56 個初始參數(shù)作為初始期望,迭代次數(shù)設(shè)為45。實驗將融合得到的24 個月的水質(zhì)健康狀況作為數(shù)據(jù)集,隨機抽取16 個月的水質(zhì)健康狀況作為訓(xùn)練數(shù)據(jù),后8 個月作為測試數(shù)據(jù)對初始模型進行訓(xùn)練,筆者選用均方誤差表示模型的預(yù)測精度。優(yōu)化后的結(jié)果如圖4和表4所示。優(yōu)化前后的PBRB水質(zhì)預(yù)測模型的預(yù)測精度分別是0.95和0.74。圖3結(jié)果也表明:經(jīng)過CMA-ES優(yōu)化后的PBRB水質(zhì)預(yù)測模型能夠較好地預(yù)測未來水質(zhì)狀況。
圖4 經(jīng)CMA-ES優(yōu)化的PBRB水質(zhì)模型預(yù)測結(jié)果Fig.4 Prediction results by the optimized PBRB model
表4 優(yōu)化后PBRB水質(zhì)預(yù)測模型
為證明所提模型的有效性,將PBRB預(yù)測模型與BRB模型、BP模型和自回歸移動平均模型(Autoregressive integrated moving average model,ARIMA)[28]預(yù)測法進行對比實驗。后8 個月的水質(zhì)健康狀況的預(yù)測結(jié)果以及預(yù)測精度如圖5和表5所示。
圖5 多種預(yù)測算法對比結(jié)果圖Fig.5 Comparison results of various prediction algorithms
表5 各個水質(zhì)預(yù)測模型的預(yù)測精度
從4 種方法的預(yù)測結(jié)果來看,PBRB預(yù)測模型的預(yù)測精度最高,其次是BRB、ARIMA和BP預(yù)測模型。主要原因是PBRB預(yù)測模型相比于BRB預(yù)測模型可以更為完善地描述知識,能夠適應(yīng)特殊的水環(huán)境。由于ARIMA預(yù)測模型只考慮了指標(biāo)隨著時間變化規(guī)律,無法對復(fù)雜水質(zhì)環(huán)境的不確定性進行描述,所以其預(yù)測精度最低。而BP預(yù)測模型預(yù)測的結(jié)果與真實水質(zhì)變化趨勢雖然相似,但在歷史數(shù)據(jù)量不大的情況下,預(yù)測精度相對不高。因此,筆者所提PBRB預(yù)測模型能夠很好地描述水質(zhì)預(yù)測問題中存在的局部無知性與全局無知性,更加精準(zhǔn)地將置信度分配給相對應(yīng)的區(qū)間,提高了預(yù)測精度。
由于水環(huán)境的復(fù)雜性,水質(zhì)與污染物之間存在多種無知性及不確定性。筆者提出的基于冪集置信規(guī)則庫(Belief rule base with power set, PBRB)的水質(zhì)預(yù)測模型可利用專家知識與水質(zhì)監(jiān)測數(shù)據(jù)對水質(zhì)健康狀況進行綜合預(yù)測,在樣本數(shù)據(jù)較少的情況下突出優(yōu)勢。該模型不僅保留了BRB的優(yōu)勢,而且能夠更好地描述水質(zhì)預(yù)測中存在的局部無知性,從而消除了一些不可能的情況。同時,借助CMA-ES優(yōu)化算法對初始PBRB模型進行優(yōu)化,可進一步提高水質(zhì)預(yù)測精度。實驗結(jié)果表明:PBRB模型具有更高的預(yù)測精度且有更強的先驗知識描述能力,在水質(zhì)預(yù)測領(lǐng)域具有廣闊的應(yīng)用前景。為了進一步提高水質(zhì)預(yù)測的準(zhǔn)確性,未來可以考慮監(jiān)測數(shù)據(jù)受干擾后造成的不確定性,以實現(xiàn)更全面的水質(zhì)預(yù)測。