楊濟東,南新元,查 琴
(新疆大學 電氣工程學院,新疆 烏魯木齊 830017)
生物氧化預處理工藝利用篩選過的浸礦菌群與難處理金礦石發(fā)生氧化反應,將金和雜質分離出來.由于外界環(huán)境的復雜多變和化學反應的不確定性,生物氧化預處理過程所需的進氣量時刻變化且具有一定隨機性,難以準確預測.生產現場一般綜合考慮氧化還原電位(Oxidation-Reduction Potential,ORP)、溫度、黃金提取率和pH等因素,按照“寧多勿少”的原則確定進氣量,導致氧氣利用率較低,因此準確預測進氣量對提金率的提高和生產成本的降低具有重要意義.
由于支持向量回歸(Support Vector Regression,SVR)模型具有學習時間短和避免局部極小點等優(yōu)勢,工業(yè)過程中常采用該模型作為預測控制模型[1-3].但是當數據量較大時,SVR模型在求最優(yōu)解的過程中計算量較大,為解決這一問題,Suykens等提出了最小二乘支持向量回歸機(Least Squares-Support Vector Regression,LS-SVR),LS-SVR模型不僅具有SVR模型的優(yōu)點,而且只需求解一組線性方程,大大減少了算法的復雜度.雖然LS-SVR模型的形式簡單,但該模型對于噪聲和離群點比較敏感[4],因此出現了許多改進LS-SVR模型魯棒性的方法.文獻[5]提出了一種自適應魯棒LS-SVR模型,通過減小誤差較大的數據在模型訓練過程中的權重,提高模型的泛化性;文獻[6]提出了一種迭代加權LS-SVR模型,通過使用Myriad函數對誤差變量進行加權,使得模型對離群數據具有一定的魯棒性;文獻[7]將最大相關熵引入遞歸LS-SVR 模型,減少異常數據對模型的影響;文獻[8]提出了一種基于誤差平方項加權的魯棒LS-SVR模型,在保持LS-SVR模型預測精度的前提下減小了計算量,取得了較為準確的預測結果;文獻[9]為了降低LS-SVR模型對數據噪聲的敏感性,在目標函數中加入LP范數,并且利用啟發(fā)式算法計算數據權重,降低噪聲對模型的影響;文獻[10] 提出了一種基于數據局部異常因子的直接加權LS-SVR模型,根據樣本偏離真實值的程度確定損失函數,避免樣本中的異常值對模型的影響;文獻[11]提出了魯棒固定LS-SVR,通過在固定LS-SVR中加入權重因子提高模型對離群值的魯棒性.上述方法都是通過刪除異常值或者直接減小離群數據權重的方法提高模型的泛化性,但是氧化槽現場數據的波動對于生物氧化預處理的反應進程有重要影響,如果刪除波動數據或者減小波動數據的權重會導致預測結果與實際值偏差較大,因此對氧化槽的數據賦予特定的權重可以有效提高進氣量預測模型的準確性.
針對生物氧化預處理工藝中的進氣量受復雜環(huán)境影響難以準確預測的問題,本文對現場數據進行了相關性分析,其中ORP是影響進氣量變化的主要因素,因此在LS-SVR模型中適當增加ORP波動數據的權重,提出了一種基于魯棒加權最小二乘支持向量回歸(Robust Weighted Least Squares-Support Vector Regression,RWLSSVR)的進氣量預測模型.
SVR將低維的輸入轉換為高維特征空間,以優(yōu)化回歸的廣義邊界.首先,采用對ε不敏感的損失函數,該函數對廣義邊界外的點進行懲罰,使其與邊界的距離成比例;然后,針對凸優(yōu)化問題,通過SVR找到對回歸問題的唯一解;最后,利用結構風險最小化原理,平衡SVR模型復雜性和精度.
雖然SVR可以生成具有較好準確性和魯棒性的模型,但求解凸二次規(guī)劃(QP)問題比較困難.LS-SVR將不等式約束轉換為等式約束,采用平方和誤差函數,從而產生了一個可以迭代求解的KKT(Karush-Kuhn-Tucker)系統(tǒng),在簡化計算復雜性的同時也保證了預測結果的準確性[1].
令訓練數據集D={(xi,yi)|i=1,2,···,n},其中xi∈Rd是輸入信號,yi∈R是輸出信號.根據數據集建立以下回歸模型:
其中:ω=[ω1,ω2,···ωl]T∈Rd是權重的向量,b ∈R是閾值.該回歸模型將輸入向量x映射到高維特征空間φ(x)后,再進行線性變換.在保留所有訓練集的最大偏差ε的同時,結果應盡可能平緩.其數學表達式如下:
為解決上述問題,利用松弛變量ξi來放寬偏差不等式約束,松弛變量的選擇應該采用最小化原則.式(2)加入松弛變量后如下所示:
盡管LS-SVR計算簡單,但是具有稀疏性較差、無法處理離群值以及非高斯分布等弱點[12].為了解決這個問題,Suykens提出了加權最小二乘支持向量回歸(WLS-SVR),通過計算LS-SVR的誤差變量,將基于誤差變量計算的權重應用于優(yōu)化問題[13].在式(4)中引入權重系數vi,得:
WLS-SVR的學習原則和LS-SVR類似,均采用結構風險最小化原則,但是WLS-SVR的經驗風險項并不是一個定值,而是與權重系數有關,確定權重系數的常用方法是根據噪聲偏離Gauss分布的程度計算[14],但是這類根據噪聲分布分配數據權重的方法與實際情況有一定的偏差,采用這類加權方法的WLS-SVR模型無法對氧化槽進氣量進行準確預測.
為提高WLS-SVR進氣量預測模型的精度,本文提出了魯棒加權最小二乘支持向量回歸(RWLS-SVR)算法.該算法使用了兩組特定權重的交集,兩組權重分別由ε不敏感模型和數據比較產生.
第一組權重是由對ε不敏感模型產生的權重,ε不敏感權重放寬了權重的均勻分布[14].第二組權重通過數據比較產生,這組權重反映了在生產過程中各個數據的重要性不同[15].根據文獻[16]對氧化槽數據進行相關性分析得知,ORP和進氣量的相關性系數為0.468,是影響氧化槽進氣量的最主要因素,ORP的變化更容易影響到進氣量的預測.因此ORP波動比較劇烈的數據相比于其它ORP變化比較平緩的數據在模型訓練中更加重要.各變量相關性系數見表1.
表1 氧化槽的檢測數據相關性系數表
本文使用兩組集合的交集作為RWLS-SVR的權重集合.上述兩組權重集合相互補償,從而使模型預測結果更為準確.從計算的角度來看,這兩個權重集都是凸的,并且兩個凸集的交集也是一個由其極值點定義的凸集.下面將詳細介紹這兩組權重及其交集.
對ε不敏感模型產生的是一組關于ε,v的權重集合P(ε,v),v=v1,···,vn.P(ε,v)是數據的概率分布或者期望的真實概率分布,表達式如下:hi任意且h1+···+hn=1,0<ε<1.集合P(ε,p)是單位單形S(1,n)的子集.當p=(n-1,···,n-1)時,P(ε,p)可以表示為P(ε),此時:
考慮以下比較信息:
由此得到權重集合M(v),v=v1,···,vn,其中v1-vi-1≥0,v1≥0,當i=n時,此權重集合為:
在這種極端形式下僅僅使用訓練集中的幾個數據來構建預測模型.在M(v)只有一個非零元素的極端情況下,模型的訓練只由這一個非零元素完成.比較數據產生權重的方法為,根據每組數據中ORP和訓練數據的ORP平均值的差值大小產生相應的權重,即ORP與平均值的差值最大的數據獲得最大的權重,其他數據的權重依次減小.
對于P(ε),在ε比較大的情況下,模型訓練時很可能只考慮測試數據的幾個元素而不是所有測試數據.根據式v1≤v2≤···≤vn,v1+v2+···+vn=1,產生一種類似式(16)的權重集合M(v),只考慮M(v)可能會導致不符合邏輯的訓練結果,因此單獨使用此類加權方法很難構造一個具有一定魯棒性的預測模型.權重集合P(ε)和M(v)的交集避免了這些問題,并且保持了兩個集合的優(yōu)點,對于與進氣量相關性系數最高的ORP因素,在ORP劇烈波動時給予對應數據更高的權重,預測模型在訓練時更注重此類數據的變化,但同時ORP波動比較平緩的數據權重不會過分減小,使其可以對預測模型保持一定的影響.
這里有兩個需要額外考慮的特殊情況,如果ε=0,那么P(ε)∩M(v)=(n-1,···,n-1),這種情況對應于標準的LS-SVR,即不考慮權重的情況;如果ε=1,則P(ε)∩M(v)=M(v),即只反應比較數據產生的權重M(v).
令P表示不等式vi≥(1-ε)·n-1,M表示不等式v1≤v2≤···≤vn,排除P中vi≥0的情況,此情況中至少有一個i使得vi=0的所有點都不屬于P(ε)∩M(v) .由于P和M組成的交集包含2n-1個不等式,已知任一極值點都滿足n-1個等式,針對極值點所滿足的等式研究以下情況.
情況1所有的等式都符合P,此時顯然v1=v2=···=vn=n-1.
情況2n-2個等式符合P,1個約束符合M.這意味著存在一個嚴格不等式vi-1≤vi符合P,同時有一個等式vk=n-1-εn-1符合M,此時需要考慮兩個子情況.第1個子情況是k ≥i,此時:
但是vi=vi+1=···=vn,因此v1+v2+···+vn=1-ε<1,這種情況與P(ε)的約束出現矛盾,所以這種情況不會出現極值點.
第2個子情況是k
當i=1時,情況1得到的極值點可以看做是情況2的特例.
情況3n-3個等式符合P,2個約束符合M,這意味著存在兩個嚴格的不等式vi-1
可以看出,滿足上述條件的a和b是無窮多的,對于從P中取n-r個等式,從M中取r個等式也可以用類似的方法得到相同的結果,因此,情況2完全定義了所有的極值點.所以P(ε)∩M(v)的極值點集合由以下形式的n個元素組成:
將某地生物氧化-氰化提金廠作為研究對象,由于該地區(qū)具有特殊的地理環(huán)境和氣候,現場環(huán)境復雜多變.此外,生物氧化預處理過程中影響進氣量的因素包括溫度、pH、ORP、進氣量、礦漿濃度等,這些因素之間存在非線性耦合.采集氧化槽正常生產時間內的數據樣本300組,選擇前200組數據作為訓練樣本,后100組則作為測試樣本,以計算測試誤差.核函數選擇徑向基函數,懲罰系數γ=71.293 4,徑向基函數參數δ=0.250 6.
為評價RWLS-SVR模型的預測結果和性能,本文給出幾種誤差評價指標.
(1)平均絕對誤差
(2)平均相對誤差
(3)均方根誤差
(4)希爾不等系數
RWLS-SVR和LS-SVR模型的進氣量預測結果和誤差如圖1和圖2所示.
圖1 RWLS-SVR和LS-SVR進氣量預測結果對比
圖2 RWLS-SVR和LS-SVR進氣量預測誤差對比
由圖1和圖2可以看出,RWLS-SVR模型預測精度更高,對于一些進氣量波動比較劇烈的預測點,RWLSSVR模型的預測結果與實際值擬合更好,而且RWLS-SVR模型的誤差情況比較穩(wěn)定,大部分預測值的誤差范圍可以保持在50 m3/h以下,但LS-SVR模型的個別預測值的誤差范圍超過150 m3/h,與實際值相差較大.
由圖3和圖4可知,RWLS-SVR預測模型預測準確度明顯高于SVR預測模型,SVR模型的預測誤差范圍較大,雖然大部分預測誤差保持在100 m3/h以內,但對于1 450 m3/h以下和1 650 m3/h以上的進氣量預測中,SVR模型的預測誤差達到150 m3/h,預測準確度較差.進氣量預測誤差如表2所示.
圖3 RWLS-SVR和SVR進氣量預測結果對比
圖4 RWLS-SVR和SVR進氣量預測誤差對比
表2 進氣量預測誤差
從表2可以看出,本文提出的RWLS-SVR模型的誤差指標最好,MAE為20.133 0,RMSE為29.402 1,誤差分布范圍較小,泛化性能更好;LS-SVR模型和SVR模型的誤差指標比較接近,兩者中SVR模型的MAE和RMSE較小,SVR模型對波動數據的魯棒性略優(yōu)于LS-SVR模型.RWLS-SVR模型的MRE為0.013 4,TIC為0.009 5,RWLSSVR模型的預測值與實際值最為接近,誤差最小,而SVR模型的MRE為0.024 2,TIC為0.014 3,和RWLS-SVR模型相比有較大差距,但略優(yōu)于LS-SVR模型.經過仿真對比實驗,說明了RWLS-SVR進氣量預測模型在預測精度上有顯著的提升,有較好的預測精度和穩(wěn)定性.
(1)復雜環(huán)境下影響氧化槽進氣量的因素眾多,進氣量受現場數據的波動影響呈現出一定的隨機性.通過分析生物氧化提金預處理過程機制中的數據波動對氧化槽進氣量造成的影響,進氣量的變化與ORP的波動存在較大的相關性.
(2)根據數據的相關性分析,在WLS-SVR模型中使用了兩組特定權重的交集,提出了RWLS-SVR進氣量預測模型,在此模型中適當增加ORP波動的數據在模型訓練時的權重,提高模型對數據波動的魯棒性.
(3)仿真實驗表明,與傳統(tǒng)的LS-SVR模型和SVR模型相比,本文所提出的RWLS-SVR模型具有較高的預測準確度和泛化性,能較好地解決生物氧化預處理復雜環(huán)境下的進氣量預測問題.