程云芳,邱 榕
(中國科學(xué)技術(shù)大學(xué)火災(zāi)科學(xué)國家重點實驗室,合肥,230026)
苯是種常見的有毒危險化學(xué)品,被廣泛應(yīng)用于各種工業(yè)場所[1]。一旦苯儲罐發(fā)生泄漏事故,若未采取對應(yīng)預(yù)防應(yīng)急措施,會對人們的生命、財產(chǎn)、環(huán)境等帶來嚴重傷害。有必要在事故發(fā)生前,對苯儲罐泄漏事故進行風(fēng)險預(yù)測減少苯儲罐泄漏事故的發(fā)生。
目前眾多學(xué)者已對苯儲罐泄漏事故的風(fēng)險預(yù)測進行了大量研究,并提出多種評價方法[2],如事故樹分析法、層次分析法、灰色理論法、模糊綜合評價法、事故后果模擬等,這些方法主要通過定性、定量相結(jié)合的方式,找到苯儲罐泄漏事故中潛在的致險因素。但由于苯儲罐泄漏事故風(fēng)險評價是一個動態(tài)過程,當(dāng)其中某些潛在危險因素變化時,這些評價方法不能迅速調(diào)整,難以在事發(fā)前預(yù)測苯儲罐泄漏事故的風(fēng)險程度,極大影響評價效率。而支持向量機SVM是種機器學(xué)習(xí)算法,能進行快速計算,并且在處理非線性、小樣本等問題具有獨特優(yōu)勢[3]。因此,我們提出將SVM模型運用于事故前苯儲罐泄漏事故風(fēng)險預(yù)測。為使其模型性能最優(yōu),我們采用全局優(yōu)化算法粒子群(PSO)優(yōu)化SVM模型參數(shù),建立PSO-SVM風(fēng)險預(yù)測模型。在進行風(fēng)險預(yù)測過程中,首先通過建立預(yù)測指標體系、確定指標權(quán)重獲取預(yù)測樣本數(shù)據(jù)。為驗證PSO-SVM模型風(fēng)險預(yù)測性能,我們分別采用遺傳算法(GA)和網(wǎng)格搜索法(GS)優(yōu)化SVM參數(shù),并比較測試集與PSO-SVM、GA-SVM、GS-SVM三種模型預(yù)測結(jié)果的均方誤差及相關(guān)系數(shù),然后進一步探討了PSO-SVM中權(quán)重調(diào)整方式、種群規(guī)模對模型預(yù)測性能的影響。研究發(fā)現(xiàn)權(quán)重線性遞減所建PSO-SVM模型預(yù)測值與測試集相關(guān)系數(shù)更高、均方誤差更小、預(yù)測效果更好。
引發(fā)苯儲罐泄漏事故的危險源是各不同系統(tǒng)的危險因素所組成的復(fù)雜系統(tǒng),為合理有針對性地預(yù)測苯儲罐泄漏事故的各潛在風(fēng)險,建立的苯儲罐泄漏事故風(fēng)險預(yù)測指標體系必須科學(xué)地、全面地分析各指標和系統(tǒng)之間的關(guān)系、及各指標內(nèi)在的相互關(guān)系。因此所有指標選取,必須嚴格遵循獨立性、科學(xué)性、可操作性和動態(tài)性原則[4]。
通過調(diào)研目前國內(nèi)外的苯儲罐泄漏事故,結(jié)合事故致因理論、危險源理論,可從人機環(huán)管四方面將苯儲罐泄漏事故風(fēng)險預(yù)測指標體系,劃分為4個一級指標和14個二級指標,如圖1所示。
圖1 苯儲罐泄漏風(fēng)險預(yù)測指標體系
本文采用層次分析法確定上述14個苯儲罐泄漏事故二級指標的權(quán)重值,層次分析法是一種可將復(fù)雜因素定性判斷問題轉(zhuǎn)化為定量計算各因素權(quán)重值的方法,最早在上世紀70年代由Saaty[5]提出,可有效決策、判斷各種復(fù)雜問題的主要影響因素。
層次分析法通過構(gòu)造判斷矩陣,然后對判斷矩陣進行一致性檢驗,來明確各指標的權(quán)重值。此次苯儲罐泄漏事故風(fēng)險預(yù)測指標體系構(gòu)造的判斷矩陣,是通過問卷調(diào)查形式,由5位專家結(jié)合自身經(jīng)驗和專業(yè)能力,采用數(shù)字1~9為標度,對所有指標進行兩兩比較,再進行打分而確定。其中標度1~9所對應(yīng)的各含義,如表1所示。
表1 標度含義
采用MATLAB軟件對各指標因素的最大特征值λmax、一致性比率、權(quán)重值分別進行計算,然后進行判斷矩陣一致性檢驗,計算結(jié)果分別如表2~表6和圖2、圖3所示。
表2 一級指標判斷矩陣和一致性檢驗
表3 人員因素的判斷矩陣和一致性檢驗
表4 設(shè)備因素的判斷矩陣和一致性檢驗
表5 管理因素的判斷矩陣和一致性檢驗
表6 環(huán)境因素的判斷矩陣和一致性檢驗
圖2 苯儲罐風(fēng)險預(yù)測指標體系一級指標權(quán)重值
圖3 苯儲罐風(fēng)險預(yù)測指標體系二級指標權(quán)重值
為形成苯儲罐泄漏事故樣本數(shù)據(jù),本文將上述苯儲罐泄漏事故風(fēng)險預(yù)測體系中所有指標的參數(shù)值,根據(jù)不同風(fēng)險程度,采用滿分制將其依次劃分成5個級別,依次為:危險性非常高(0,20],危險性比較高(20,40],危險性一般(40,60],危險性比較低(60,80],危險性非常低(80,100]。并利用軟件 MATLAB在5個不同風(fēng)險等級區(qū)間內(nèi)各隨機生成4組數(shù)據(jù),共隨機生成20組不同風(fēng)險程度的評語集數(shù)據(jù)。根據(jù)1.2,可知預(yù)測指標體系所有指標權(quán)重值wi,再結(jié)合公式(1),可得出20組不同隨機數(shù)據(jù)依次所對應(yīng)的苯泄漏事故風(fēng)險程度值,計算如(1)所示。
(1)
式中,Si為第i組數(shù)據(jù)得到的苯泄漏事故風(fēng)險程度值;wi為第i個指標權(quán)重值;aji表示j組數(shù)據(jù)第i個指標的風(fēng)險程度值。
為進一步預(yù)估苯儲罐泄漏事故風(fēng)險值,我們將上述20組隨機數(shù)據(jù)和其一一對應(yīng)的苯泄漏事故的風(fēng)險程度值,作為風(fēng)險預(yù)測模型樣本數(shù)據(jù),如表7所示。同時將樣本數(shù)據(jù)按3∶1原則,依次劃分為訓(xùn)練集數(shù)據(jù)、測試集數(shù)據(jù)。則樣本數(shù)據(jù)前面15組為訓(xùn)練集數(shù)據(jù),主要用于訓(xùn)練PSO-SVM模型;樣本數(shù)據(jù)后面5組為測試集數(shù)據(jù),用于檢驗PSO-SVM模型性能。最后將PSO-SVM預(yù)測模型所需要的樣本數(shù)據(jù)存入EXCEL中,在進行PSO-SVM模型訓(xùn)練時,利用MATLAB依次讀取EXCEL所存入的樣本數(shù)據(jù)。
表7 苯儲罐泄漏事故風(fēng)險預(yù)測模型的樣本數(shù)據(jù)
支持向量機作為機器學(xué)習(xí)算法,在處理非線性關(guān)系方面擁有獨特的優(yōu)勢。通過非線性映射可將復(fù)雜非線性問題轉(zhuǎn)化成高維空間中的線性回歸問題,能夠快速地對多因素間復(fù)雜關(guān)系進行學(xué)習(xí)分析[6]。支持向量機(SVM)回歸預(yù)測模型的本質(zhì)就是根據(jù)有限的樣本數(shù)據(jù),考慮每個輸入和輸出樣本之間復(fù)雜交叉關(guān)系,尋找到它們之間的最優(yōu)關(guān)系,并對測試集中的輸入樣本給出合理的輸出,其結(jié)構(gòu)示意圖如圖4所示。
圖4 SVM結(jié)構(gòu)示意圖
SVM回歸函數(shù)可表示如下:
Y=w.φ(Ai)+b
(2)
式(2)中w為權(quán)值向量,b為偏差,A是輸入樣本數(shù)據(jù)集,Y為預(yù)測值。其中A={x1,x2,…,xi;y1,y2,…,i=1,2,3,…},x1,x2,…xi和y1,y2,…,均為樣本輸入量。
對非線性問題,引入核函數(shù)K(z,zi),通過非線性映射φ(Ai),將輸入空間轉(zhuǎn)化為高維空間,非線性問題變?yōu)榫€性問題,則優(yōu)化的目標函數(shù)表示為:
(3)
利用拉格朗日乘子和對偶原理求解上式的ω,則有:
(4)
得到最終的回歸函數(shù)為:
(5)
為使SVM模型預(yù)測性能最優(yōu),我們需要對其內(nèi)部參數(shù)懲罰因子C、核函數(shù)參數(shù)g進行優(yōu)化[7]。粒子群(PSO)種全局優(yōu)化算法,主要通過種群粒子之間的競爭、合作共同實現(xiàn)種群進化[8]。我們采用PSO對SVM模型的懲罰因子C和核參數(shù)g進行參數(shù)尋優(yōu),構(gòu)建PSO-SVM模型示意圖如圖5所示,主要步驟如下:
(1) 將樣本數(shù)據(jù)分為訓(xùn)練、測試兩大類,然后歸一化處理所有樣本數(shù)據(jù);
(2) 使用粒子群算法優(yōu)化種群參數(shù),同時設(shè)置種群規(guī)模、慣性權(quán)重因子、迭代次數(shù)等各項參數(shù);
(3) 計算粒子適應(yīng)度值,然后更新粒子速度、位置等參數(shù)。粒子適應(yīng)度值越小,代表此時粒子位置最優(yōu);
(4) 判斷最優(yōu)參數(shù)的結(jié)束條件,主要看迭代次數(shù)能否滿足設(shè)定值或適應(yīng)度值是否達到設(shè)定數(shù)值,若達到,優(yōu)化算法結(jié)束;否則,參數(shù)優(yōu)化繼續(xù);
(5) 將尋找到的最優(yōu)參數(shù)C、g分別代回SVM回歸模型,然后訓(xùn)練樣本數(shù)據(jù);
(6) 通過測試集數(shù)據(jù)測試PSO-SVM回歸預(yù)測性能,如果預(yù)測值符合設(shè)定要求,輸出預(yù)測數(shù)值;否則,持續(xù)優(yōu)化參數(shù)C、g,至預(yù)測數(shù)值符合設(shè)定值。
圖5 PSO-SVM模型示意圖
我們將模型的輸入變量確定為上述苯儲罐泄漏的主要風(fēng)險因素,并將各隨機數(shù)據(jù)所對應(yīng)的風(fēng)險數(shù)值確定為模型輸出量,建立PSO-SVM苯泄漏風(fēng)險預(yù)測模型,如圖6所示。在計算前,我們歸一化處理預(yù)測模型的樣本數(shù)據(jù),同時將樣本數(shù)據(jù)限制在[0,1]之間。
圖6 苯儲罐泄漏風(fēng)險預(yù)測模型的輸入與輸出
在采用PSO-SVM模型進行風(fēng)險預(yù)測時,選用默認的RBF核函數(shù),并依次設(shè)置算法參數(shù)值。終止迭代次數(shù)設(shè)置為200,種群規(guī)模數(shù)量設(shè)置為20,學(xué)習(xí)因子c1設(shè)置為1.5,c2設(shè)置為1.7,懲罰因子C設(shè)置為區(qū)間(2-8,28),權(quán)重值w設(shè)置為1,核函數(shù)參數(shù)g∈(2-8,28),其他設(shè)置為默認值。為驗證基于PSO-SVM的苯儲罐泄漏事故風(fēng)險預(yù)測模型性能,分別建立GS-SVM、GA-SVM風(fēng)險預(yù)測模型,依次采用網(wǎng)格搜索法GS、遺傳算法GA優(yōu)化SVM模型參數(shù)。GS-SVM模型參數(shù)尋優(yōu)中,最小步長設(shè)為0.8,其余參數(shù)和PSO-SVM模型一致。GA-SVM模型參數(shù)尋優(yōu)中,參數(shù)和PSO-SVM模型參數(shù)設(shè)置一致。
依次采用PSO-SVM、GS-SVM、GA-SVM三種風(fēng)險預(yù)測模型,在MATLAB平臺上訓(xùn)練20組苯儲罐泄漏事故樣本數(shù)據(jù)。種群粒子通過迭代進化得到最優(yōu)粒子,最優(yōu)粒子所對應(yīng)的最佳適應(yīng)度值即為所尋最佳參數(shù)C、g的數(shù)值。在種群粒子迭代進化中,設(shè)置最佳適應(yīng)度值為樣本數(shù)據(jù)交叉驗證均方差值。三種風(fēng)險預(yù)測模型的參數(shù)優(yōu)化結(jié)果,分別如圖7~圖9所示。
圖7 PSO-SVM參數(shù)優(yōu)化結(jié)果
圖8 GA-SVM參數(shù)優(yōu)化結(jié)果
圖9 GS-SVM參數(shù)優(yōu)化結(jié)果
從圖7~圖9可知,PSO-SVM模型參數(shù)優(yōu)化過程中,粒子迅速迭代得到最佳適應(yīng)度值,并長時間穩(wěn)定,此時尋找到最佳參數(shù)C、g值依次為5.271、0.01,最小交叉驗證均方差值7.0796E-05。GS-SVM風(fēng)險預(yù)測模型進行參數(shù)優(yōu)化過程時,得到最小交叉驗證均方差值5.4434e-05,此時的最佳位置BestC=0.125,Bestg=256。GA-SVM模型參數(shù)優(yōu)化過程中,種群粒子經(jīng)過53次迭代后,得到最佳適應(yīng)度值,此時相對應(yīng)的最佳參數(shù)C、g數(shù)值依次為47.866、0.028。比較三種預(yù)測模型的適應(yīng)能力,可知PSO-SVM預(yù)測模型的適應(yīng)度值最小,則適應(yīng)能力最好。三種預(yù)測模型優(yōu)化得到的最優(yōu)參數(shù)C、g數(shù)值,依次代入各模型進行風(fēng)險預(yù)測。預(yù)測過程中,三種模型分別訓(xùn)練前15組樣本數(shù)據(jù),通過訓(xùn)練形成回歸預(yù)測模型,然后對后5組(編號16~編號20)樣本數(shù)據(jù)進行預(yù)測。三種模型的回歸預(yù)測結(jié)果如表8所示,三種模型預(yù)測結(jié)果效果圖如圖10所示。
表8 三種模型預(yù)測風(fēng)險值與計算值對比
圖10 三種預(yù)測模型風(fēng)險預(yù)測效果圖
由表8、圖10可以得知:
PSO-SVM模型預(yù)測效果最好,回歸預(yù)測的風(fēng)險值與測試樣本數(shù)據(jù)最吻合;GA-SVM模型回歸預(yù)測的風(fēng)險值趨勢和測試樣本數(shù)據(jù)基本一致,但預(yù)測風(fēng)險值偏差要高于PSO-SVM模型;GS-SVM模型回歸預(yù)測的風(fēng)險值趨勢完全不同于測試樣本數(shù)據(jù),預(yù)測效果最差。
GS-SVM模型中,預(yù)測的4組風(fēng)險值基本一致,且存在較大偏差,說明GS-SVM模型具備較差泛化能力,不能根據(jù)測試樣本數(shù)據(jù)的輸入給出合理輸出,主要原因可能為:網(wǎng)格搜索法最優(yōu)參數(shù)尋找過程中,沒有搜索到種群最佳位置,尋找到的參數(shù)并非最佳解,從而構(gòu)建的GS-SVM風(fēng)險預(yù)測模型存在一定偏差。
為進一步表征PSO-SVM風(fēng)險預(yù)測模型的性能,依次計算了三種模型的均方誤差MSE值、線性相關(guān)系數(shù)R2,計算結(jié)果如表9所示。
表9 三種預(yù)測模型MSE和R2對比
由表9可知:三種模型中,PSO-SVM模型預(yù)測的風(fēng)險值與樣本數(shù)據(jù)的相關(guān)系數(shù)達到0.996 0,相關(guān)性最高,同時PSO-SVM模型的最小MSE值為0.000 579 641,說明PSO-SVM風(fēng)險預(yù)測模型的性能最好。
由上述預(yù)測結(jié)果,可知PSO-SVM風(fēng)險預(yù)測模型性能最優(yōu),可適用于苯儲罐泄漏事故的風(fēng)險預(yù)測。但其他參數(shù)如權(quán)重值、種群規(guī)模也可能會影響 PSO-SVM模型的風(fēng)險預(yù)測值,下面將重點進行討論。
權(quán)重值會影響粒子群PSO算法的優(yōu)化性能,常用的權(quán)重調(diào)整方式為權(quán)重線性遞減、權(quán)重隨機分布和權(quán)重自適應(yīng)這三種[9]。為驗證權(quán)重值的影響,依次建立三種權(quán)重調(diào)整方式的PSO-SVM風(fēng)險預(yù)測模型,計算中將最小權(quán)重值設(shè)置為0.4,最大權(quán)重值設(shè)置為0.9。三種權(quán)重調(diào)整方式和權(quán)重為常數(shù)所建PSO-SVM模型的風(fēng)險預(yù)測效果,如圖11所示。
圖11 不同權(quán)重調(diào)整方式對預(yù)測結(jié)果影響
由圖11可知:四種模型所預(yù)測的風(fēng)險值趨勢和測試樣本數(shù)據(jù)基本相同,但權(quán)重線性遞減所建PSO-SVM模型預(yù)測效果更好,所預(yù)測的4組風(fēng)險值和樣本數(shù)據(jù)最吻合。因此,建立PSO-SVM風(fēng)險預(yù)測模型時,優(yōu)先將權(quán)重值設(shè)置為線性遞減方式,以實現(xiàn)預(yù)測效果最優(yōu)。
種群規(guī)模會影響粒子群算法的優(yōu)化效率[10],因此分別討論了1~20的種群規(guī)模對PSO-SVM風(fēng)險預(yù)測模型的影響,計算結(jié)果分別如表10、圖12所示。
表10 不同種群數(shù)量預(yù)測風(fēng)險值的MSE、R2對比
圖12 不同種群數(shù)量的時間消耗
由表10、圖12可知:不同種群規(guī)模的PSO-SVM模型不影響最終所預(yù)測的風(fēng)險值,所預(yù)測的風(fēng)險值的相關(guān)系數(shù)、均方差完全一致;然而,種群規(guī)模會影響PSO-SVM風(fēng)險預(yù)測模型的計算時間。種群規(guī)模為1時,計算時間較種群規(guī)模為2~4之間所用時間多;種群規(guī)模為2~20時,隨著種群規(guī)模變大,計算時間也明顯增多。這說明種群規(guī)模過大計算用時會增多,種群規(guī)模較小計算用時也會較長,可能是由于種群規(guī)模較小,參數(shù)尋優(yōu)過程不易搜索到種群最優(yōu)解,從而使得計算用時較久。因此采用PSO-SVM模型進行風(fēng)險預(yù)測時,需要進行多次計算,選擇最佳種群規(guī)模,以達預(yù)測模型效果最優(yōu)。
采用粒子群-支持向量機(PSO-SVM)模型進行苯儲罐泄漏事故的風(fēng)險預(yù)測。首先通過建立預(yù)測指標體系、確定指標權(quán)重獲取預(yù)測樣本數(shù)據(jù)。其次通過確定苯儲罐泄漏事故風(fēng)險預(yù)測的輸入、輸出量,建立了基于粒子群-支持向量機(PSO-SVM)的風(fēng)險預(yù)測模型。
為驗證PSO-SVM模型風(fēng)險預(yù)測性能,分別對比了PSO-SVM、GS-SVM、GA-SVM三種預(yù)測模型的風(fēng)險預(yù)測值、相關(guān)系數(shù)及均方誤差,發(fā)現(xiàn)PSO-SVM預(yù)測模型的相關(guān)系數(shù)最高、均方差最小,說明PSO-SVM風(fēng)險預(yù)測模型效果最好,這為苯儲罐泄漏事故的風(fēng)險預(yù)測提供了新的方法。
最后進一步探討了PSO-SVM風(fēng)險預(yù)測模型中權(quán)重調(diào)整方式、種群規(guī)模對模型預(yù)測性能的影響。發(fā)現(xiàn)權(quán)重線性遞減所建PSO-SVM預(yù)測值與測試樣本數(shù)據(jù)最吻合,預(yù)測效果最好;種群規(guī)模不會影響PSO-SVM風(fēng)險預(yù)測模型預(yù)測值,然而會影響預(yù)測過程的計算時間,種群規(guī)模過大或者過小都會影響計算時間,需要經(jīng)過多次計算選擇恰當(dāng)種群規(guī)模數(shù)量。