王雪紅 劉曉青
(河海大學(xué)水利水電工程學(xué)院,南京 210098)
在實際生產(chǎn)、生活以及科學(xué)研究中為了及時、準(zhǔn)確、全面、系統(tǒng)地掌握事物的性態(tài)及發(fā)展趨勢,需要對觀測得到的數(shù)據(jù)按照科學(xué)的理論和方法進(jìn)行分析統(tǒng)計、回歸預(yù)測等.
隨著科技水平的提高,根據(jù)實測數(shù)據(jù)進(jìn)行分析的理論、方法得到了較大的發(fā)展并已應(yīng)用于工程實際中.最小二乘法容易通過計算機(jī)的簡單程序?qū)崿F(xiàn),程序已經(jīng)模塊化,用戶使用起來比較方便,對工程觀測資料的分析多采用最小二乘法.但由于最小二乘法在求解時需要對估計目標(biāo)函數(shù)求導(dǎo),過程比較繁瑣,還要求優(yōu)化模型具有連續(xù)、可導(dǎo)的性能,因而對于非線性問題,可能遇到函數(shù)不可導(dǎo)的情況而難以找到全局最優(yōu)解.近年來,BP人工神經(jīng)網(wǎng)絡(luò)(BP-ANNs)[7]、遺傳算法(GA)[10]、群體智能算法如:蟻群算法(ACO)[8]、粒子群算法(PSO)[9]、人工魚群算法(AFSA)[11]、人工蜂群算法(ABC)[3]等一些新興的智能算法在求解多元回歸問題中得到越來越普遍的應(yīng)用,但是這些智能算法在應(yīng)用中會出現(xiàn)易陷入局部最優(yōu)、早熟、收斂速度慢、穩(wěn)定性差等問題,不少學(xué)者試圖通過算法的混合來提高計算性能并取得了一定的效果.
細(xì)菌群體趨藥性算法是一種考慮單個細(xì)菌活動和細(xì)菌之間關(guān)系的混合算法,其優(yōu)化速度和精度超過了其他一些常見的群體優(yōu)化算法[1].細(xì)菌群體趨藥性算法源于細(xì)菌趨藥性算法,早期細(xì)菌趨藥性算法的研究是基于Berg、Brown和Dahlquist提出的細(xì)菌趨藥性微觀模型,Sibvue D.Muller及其同事們在此基礎(chǔ)上進(jìn)一步綜合,并且結(jié)合最新的生物學(xué)研究成果提出了細(xì)菌趨藥性算法(Bacterial Chemotaxis,BC)[6];國內(nèi)最先研究該算法的浙江大學(xué)李威武等[1]通過研究模擬細(xì)菌個體間的信息傳遞與共享機(jī)制,在基本BC算法的基礎(chǔ)上引入了群體交互概念,從而提出了細(xì)菌群體趨藥性算法,它極大地提高了細(xì)菌趨藥性算法的優(yōu)化能力,且優(yōu)化速度和精度較好.本文利用細(xì)菌趨藥性算法進(jìn)行多元非線性回歸分析并將其應(yīng)用到混凝土重力壩位移的監(jiān)測中,為解決混凝土壩監(jiān)測中的回歸問題提供了一種新方法.
假如變量y與另外p個變量x1,x2,…,xp的內(nèi)在聯(lián)系是線性的,它的第k試驗數(shù)據(jù)是(xk1,xk2,…,xkm,yk),k=1,2,…,N,則數(shù)據(jù)有如下的結(jié)構(gòu)形式:
式中,β0,β1,…,βm是m+1個待估計參數(shù);x1,x2,…,xm是m個觀測或可以確定的一般變量;ε1,ε2,…,εn是n個相對獨立且服從同一正態(tài)分布N(0,σ2)的隨機(jī)變量.
若令
則數(shù)學(xué)模型可以寫成:
其中,ε是n維隨機(jī)變量,它的分量是相互獨立的.
非線性回歸模型的一般形式為
式中,xi為系統(tǒng)輸入量,yi為系統(tǒng)輸出變量,θ=[θ1,θ2,…,θk]T為待定參數(shù)向量,e為服從正態(tài)分布的隨機(jī)變量,(xi,yi)是已知數(shù)據(jù)對,i=1,…,n.該非線性回歸數(shù)學(xué)模型的求解就是根據(jù)已知數(shù)據(jù)對求解向量θ,求解偏差平方和使
最小,非線性回歸模型參數(shù)優(yōu)化問題實質(zhì)就是非線性函數(shù)優(yōu)化問題[2].
BC算法是從生物行為中獲取靈感的方法,很多學(xué)者對生物體對自身環(huán)境的反應(yīng)進(jìn)行了研究[3-4].假定細(xì)菌的軌跡是由一系列直線組成的,細(xì)菌運動速度一樣;細(xì)菌改變運動方向時,向左或向右的概率相同;細(xì)菌在各段軌跡上移動時間和各段軌跡間的夾角都由概率分布決定;夾角和時間的概率分布和先前軌跡的參數(shù)無關(guān).BCC是在BC的基礎(chǔ)上提出來的,假定細(xì)菌在引誘劑環(huán)境中通過一些簡單的假設(shè)方式進(jìn)行通信.細(xì)菌不僅使用自己的運動位置信息也利用其他細(xì)菌的位置信息進(jìn)行函數(shù)優(yōu)化[1].
BCC算法應(yīng)用于多維函數(shù)優(yōu)化的步驟:
T0為最小平均移動時間、tc為相關(guān)時間、b為與維數(shù)無關(guān)的參數(shù)[6].
1)計算細(xì)菌的移動速度v.通常假定其為常數(shù)1;
2)計算細(xì)菌在新方向上的移動時間t.其數(shù)值由概率分布決定:
式中,T0為最小平均移動時間,fpr為當(dāng)前點和上一個點的函數(shù)值的差,1pr為變量空間中連接當(dāng)前點和上一個點的向量的模.
3)計算新的運動方向.新方向通過在平面(xi,xi+1)上的φi使用高斯概率密度分布來計算,其中φi從坐標(biāo)軸xi測量,用來判斷向左或向右轉(zhuǎn),分別為
其中,φi∈[0°,180°]
向左或向右采用同樣的概率密度分布,因而φi的概率密度分布為
細(xì)菌在每次移動到新位置之前,要感知它周圍的環(huán)境,試探旁邊是否有其他位置更好的細(xì)菌.如果有,那么它有可能趨向移動到這些擁有較好位置細(xì)菌的中心點.在移動步數(shù)為k時細(xì)菌i附近有更好位置的同伴的中心點由下式?jīng)Q定:
rand(0,2)指(0,2)之間的隨機(jī)數(shù).
為了驗證細(xì)菌趨藥性算法在回歸分析中應(yīng)用的可行性,以混凝土重力壩位移模型為研究對象,取溢流壩段壩頂某部位測點2010年1月10日~2012年8月5日(每天觀測一次)順河向位移、水位、溫度、時間數(shù)據(jù)各142個.由于篇幅有限各數(shù)據(jù)不一一列出,僅給出某測點順河向位移及上游庫水位隨時間變化過程線,如圖1所示.
圖1 某測點順河向位移及上游庫水位隨時間變化過程線
回歸的實質(zhì)就是使ffitness=∑(δ-^δ)2趨近于0,其中δ為實測值;^δ為預(yù)報值.
做回歸分析之前根據(jù)3σ原則提出數(shù)據(jù)中的奇異點,首先將多項式^δ中的每一項中的已知值計算出來,轉(zhuǎn)化為線性模型的形式,使用matlab中的lsqcurvefit進(jìn)行多元非線性回歸分析;然后,采用BCC算法優(yōu)化該回歸分析問題中的未知參數(shù)及∑(δ-^δ)2,選取最大迭代步數(shù)500、細(xì)菌個數(shù)50,各參數(shù)的初始取值范圍參考利用最小二乘法得到的參數(shù)取值區(qū)間,所得結(jié)果見表1.最小二乘法和BCC算法所得到的復(fù)相關(guān)系數(shù)都比較大,可用于短期內(nèi)位移的預(yù)報分析.
表1 回歸模型參數(shù)及復(fù)相關(guān)系數(shù)表
由表1可以看出,利用BCC算法所得參數(shù)與最小二乘法所得參數(shù)基本一致,說明該算法在優(yōu)化多元函數(shù)回歸參數(shù)問題中是可行的、有效的,參數(shù)值也較穩(wěn)定.另外,最小二乘法和BCC算法得到的∑(δ-^δ)2分別為6.514 1、6.246 7,即BCC算法得到的∑(δ-^δ)2較小.使用Matlab2012a進(jìn)行運算,最小二乘法的系統(tǒng)響應(yīng)時間為6.482 8s,BCC算法的系統(tǒng)響應(yīng)時間為5.064 7s,在相同樣本數(shù)條件下,基于BCC算法回歸分析的系統(tǒng)響應(yīng)時間小于基于最小二乘算法回歸分析系統(tǒng)響應(yīng)時間.
細(xì)菌群體趨藥性算法采用了細(xì)菌群體交互模式,各細(xì)菌的移動步長按照概率分布隨機(jī)取值,具有突破局部最值限制的尋優(yōu)機(jī)制,因而大大提高了細(xì)菌的全局尋優(yōu)性能且具有很好的收斂速度和計算精度,具有極大的研究發(fā)展?jié)摿?
本文利用細(xì)菌群體趨藥性算法進(jìn)行回歸分析,雖然模型采用參數(shù)個數(shù)、數(shù)據(jù)較多,且各組數(shù)據(jù)具有一定的隨機(jī)性,但也取得了相對滿意的結(jié)果且比最小二乘法計算得到的觀測值和預(yù)報值之間的誤差平方和∑(δ-^δ)2小,且基于BCC算法回歸分析的系統(tǒng)響應(yīng)時間小于基于最小二乘算法回歸分析系統(tǒng)響應(yīng)時間.說明了BCC算法應(yīng)用于回歸模型參數(shù)估計是可行的,效果也較傳統(tǒng)的最小二乘法好,從而為回歸分析提供了一種新思路.另外,對細(xì)菌群體趨藥性算法采取一定的改進(jìn)策略來提高尋優(yōu)速率,可使其更好地應(yīng)用于生產(chǎn)生活中.
[1] 李威武,王 慧,鄒志君,等.基于細(xì)菌群體趨藥性的函數(shù)優(yōu)化方法[J].電路與系統(tǒng)學(xué)報,2005,10(1):58-63.
[2] 陸克中,方康年.PSO算法在非線性回歸模型參數(shù)估計中的應(yīng)用[J].計算機(jī)技術(shù)與發(fā)展,2008,18(12):134-136.
[3] 張姣玲.人工蜂群算法在多元線性回歸中的應(yīng)用[J].廣東技術(shù)師范學(xué)院學(xué)報:自然科學(xué),2011(3):31-33.
[4] Dorigo Marco,Maniezzo Vittorio,Colorni Alberto.Ant System:Optimization by a Colony of Cooperating A-gents[J].IEEE Transaction on SMC,Part B,1996,26(1):29-41.
[5] 吳中如.水工建筑物安全監(jiān)控理論及其應(yīng)用[M].北京:高等教育出版社,2003.
[6] Muller S D,J.Airaghi Marchetto S,Koumoutsakos P.Optimization Based on Bacterial Chemotaxis[J].IEEE Transaction of Evolutionary Computation,2002,6(1):16-29.
[7] 辛大欣,王長元,肖 峰.BP神經(jīng)網(wǎng)絡(luò)在回歸分析中的應(yīng)用研究[J].西安工業(yè)學(xué)院學(xué)報,2002,22(2):129-35.
[8] 吳新杰,陶崇娥,李 媛.混沌蟻群算法在回歸分析中的應(yīng)用[J].遼寧大學(xué)學(xué)報:自然科學(xué)版,2007,34(2):101-103.
[9] 劉錦萍,郁金祥.基于改進(jìn)的粒子群算法的多元線性回歸模型參數(shù)估計[J].計算機(jī)工程與科學(xué),2010,32(4):104-105.
[10]郭朝有,賀 國,陳國鈞.遺傳算法在非線性回歸模型辨識中的應(yīng)用[J].海軍工程大學(xué)學(xué)報,2003,15(2):70-73.
[11]李 媛.基于人工魚群算法的多元線性回歸分析問題處理[J].渤海大學(xué)學(xué)報:自然科學(xué)版,2011,32(2):168-171.