本發(fā)明涉及光纖線路狀態(tài)預測技術領域,具體涉及一種基于改進的螢火蟲算法優(yōu)化Elman神經(jīng)網(wǎng)絡的光纖線路狀態(tài)預測的方法。
背景技術:
為滿足電力系統(tǒng)中信息能夠高效、快速、可靠地傳輸需求,光纖通信網(wǎng)絡作為骨干網(wǎng)絡已得到廣泛地應用。因此,一旦光纖線路發(fā)生故障,造成的通信中斷將會給企業(yè)和用戶帶來巨大的經(jīng)濟損失。由于光纖線路上故障的不可避免,那么如何根據(jù)已有的光纖線路狀態(tài)來預測出可能發(fā)生的光纖故障,提前做好維護和管理工作,進而避免故障的發(fā)生,保障通信正常進行具有重大意義。
光功率數(shù)據(jù)能夠較全面地表征光纖線路的工作狀態(tài),是一種具有非線性、時變性和復雜性特性的時間序列數(shù)據(jù)?,F(xiàn)有的電力光纖線路維護方法通常是通過實時在線監(jiān)測光纖線路的光功率信息,當其變化超過所設的閾值時,則立即啟動OTDR的測試,通過對OTDR測試曲線分析,完成故障診斷及定位,并由現(xiàn)場人員對故障點進行搶修,恢復通信。但該方法僅能對光纖線路中已發(fā)生的故障進行做出處理,并不能對線路狀態(tài)趨勢進行分析與預測,規(guī)避即將發(fā)生的故障。
技術實現(xiàn)要素:
本發(fā)明為解決現(xiàn)有技術無法實現(xiàn)對線路狀態(tài)趨勢進行分析與預測,進而無法規(guī)避即將發(fā)生的故障等問題,提供了一種基于改進的螢火蟲算法優(yōu)化Elman神經(jīng)網(wǎng)絡的光纖線路狀態(tài)預測的方法。
基于改進的螢火蟲算法優(yōu)化Elman神經(jīng)網(wǎng)絡的光纖線路狀態(tài)預測的方法,該方法由以下步驟實現(xiàn):
步驟一、構造樣本數(shù)據(jù):獲取原始光功率樣本數(shù)據(jù),作為Elman神經(jīng)網(wǎng)絡的訓練樣本;
步驟二、確定網(wǎng)絡拓撲結構:確定Elman神經(jīng)網(wǎng)絡的輸入層、輸出層和隱含層的節(jié)點數(shù)以及隱含層數(shù);
步驟三、網(wǎng)絡初始化:采用網(wǎng)絡進行學習訓練之前對所述Elman神經(jīng)網(wǎng)絡各層間的連接權值進行初始化;
步驟四、網(wǎng)絡連接權值優(yōu)化:采用改進的螢火蟲算法優(yōu)化Elman神經(jīng)網(wǎng)絡的各層間的連接權值;獲得連接權值優(yōu)化的Elman神經(jīng)網(wǎng)絡;
步驟四一、動態(tài)搜索因子:
定義自適應距離dz(t),用公式表示為:
式中,f(xz)為第z個粒子的適應度函數(shù)值,為第z個粒子在第t-1次迭代后所得的全局最優(yōu)值,為在第t-1次迭代時最大的適應值。
定義動態(tài)搜索因子η,用公式表示為:
式中;t為迭代次數(shù),Luv為螢火蟲u與螢火蟲v之間的歐氏距離,改進的螢火蟲算法位置更新公式為:
xv(t+1)=xu(t)+βLuv(xv(t)-xu(t))+η(w)dz(t)(rand-1/2);
步驟四二、采用訓練樣本,根據(jù)步驟四一的改進的螢火蟲算法對Elman神經(jīng)網(wǎng)絡連接權值進行優(yōu)化;
具體過程為:
A、初始化種群,獲得隨機生成初始化螢火蟲種群位置;
B、計算相對亮度,計算每個螢火蟲的個體適應度值f(yj);根據(jù)步驟三中獲得的Elman神經(jīng)網(wǎng)絡的初始權值,采用訓練樣本訓練Elman神經(jīng)網(wǎng)絡后輸出,所述個體適應度值f(yj)即為期望輸出與預測輸出之間的誤差絕對值的和,用公式表示為:
式中:N為Elman神經(jīng)網(wǎng)絡的輸出層節(jié)點數(shù);yj為Elman網(wǎng)絡節(jié)點j的期望輸出;為Elman網(wǎng)絡節(jié)點j的預測輸出;
C、計算相對距離與吸引度:采用螢火蟲之間的歐式距離公式計算相對距離,采用螢火蟲間的吸引度公式計算吸引度值;
D、計算種群最優(yōu)值與自適應距離:
將個體適應度值與該種群當前粒子的全局最優(yōu)值Pg的適應度值進行比較,若當前個體適應度值f(yj)大于全局最優(yōu)值Pg的適應度值,則將當前粒子的個體最優(yōu)值PG設置為該種群當前的最好位置,并將當前粒子的個體最優(yōu)值PG更新全局最優(yōu)值Pg;采用步驟四一中的自適應距離公式計算螢火蟲個體的自適應距離;
E、螢火蟲位置更新:
根據(jù)步驟四一中的動態(tài)搜索因子公式選取的動態(tài)搜索因子η,并利用改進的螢火蟲算法公式對螢火蟲進行空間位置更新;
F、根據(jù)步驟E更新后的位置,重新計算相對亮度,判斷更新后螢火蟲的位置精度是否小于0.01或到達最大迭代次數(shù),如果否,返回執(zhí)行步驟C;如果是,輸出優(yōu)化后的Elman神經(jīng)網(wǎng)絡最佳連接權值;
步驟五,網(wǎng)絡學習訓練及測試;
對優(yōu)化后的Elman神經(jīng)網(wǎng)絡進行訓練,采用測試樣本對Elman神經(jīng)網(wǎng)絡的預測性能進行測試;
步驟六、光功率趨勢的預測;將實時采集光功率數(shù)據(jù)輸入步驟五中訓練及測試后的Elman神經(jīng)網(wǎng)絡,實現(xiàn)對下一時刻光功率趨勢變化的預測。
本發(fā)明的有益效果:本發(fā)明通過對電力光纖線路狀態(tài)衡量指標的光功率數(shù)據(jù)進行研究,分析數(shù)據(jù)特征,構建Elman神經(jīng)網(wǎng)絡模型,并提出一種基于改進的螢火蟲算法對預測模型中的參數(shù)進行優(yōu)化,實現(xiàn)一種基于優(yōu)化后的Elman神經(jīng)網(wǎng)絡預測模型的光纖線路狀態(tài)預測方法,準確預測出線路未來狀態(tài)趨勢,分析線路未來可能發(fā)生的故障,提前確立維護方法,避免故障的發(fā)生,滿足光纖通信可靠性的要求。本發(fā)明采用改進的螢火蟲優(yōu)化算法對Elman神經(jīng)網(wǎng)絡模型參數(shù)進行優(yōu)化,克服了傳統(tǒng)Elman神經(jīng)網(wǎng)絡模型權值初始化的盲目性與局限性,避免了算法陷入局部極小的問題,使得模型不僅有較快的運算收斂速度,并具有良好的預測精度和穩(wěn)定性。
附圖說明
圖1為本發(fā)明所述的基于改進的螢火蟲算法優(yōu)化Elman神經(jīng)網(wǎng)絡的光纖線路狀態(tài)預測的方法流程圖;電力光纖通信光功率預測的方法中改進的螢火蟲算法尋優(yōu)流程圖。
圖2為本發(fā)明所述的基于改進的螢火蟲算法優(yōu)化Elman神經(jīng)網(wǎng)絡的光纖線路狀態(tài)預測的方法中采用改進的螢火蟲算法尋優(yōu)流程圖。
圖3為本發(fā)明所述的基于改進的螢火蟲算法優(yōu)化Elman神經(jīng)網(wǎng)絡的光纖線路狀態(tài)預測的方法中Elman神經(jīng)網(wǎng)絡的算法流程圖。
具體實施方式
具體實施方式一、結合圖1至圖3說明本實施方式,基于改進的螢火蟲算法優(yōu)化Elman神經(jīng)網(wǎng)絡的光纖線路狀態(tài)預測的方法,該方法由以下步驟實現(xiàn):
步驟一、構造樣本數(shù)據(jù);
由于光功率數(shù)據(jù)是一種具有非線性、時變性和復雜性的時間序列數(shù)據(jù),為提高預測精度,本實施方式采取Elman神經(jīng)網(wǎng)絡模型進行預測的方法,通過使用監(jiān)測得到的原始光功率數(shù)據(jù)對Elman神經(jīng)網(wǎng)絡進行多次訓練,并將一部分光功率數(shù)據(jù)作為Elman神經(jīng)網(wǎng)絡的測試樣本,使得Elman神經(jīng)網(wǎng)絡預測模型最終可以輸出理想的預測值,
具體為:
設定已知時間序列數(shù)據(jù)為x=(x1,x2,…,xr),把它分為輸入向量和目標向量。記n個輸入向量集合為:
S={(x1,x2,…,xs),(x2,x3,…,xs+1),…,(xn,xn+1,…,xn+s-1)
則對應的n個目標向量集合為:
T={xs+1,xs+2,…,xs+n}
其中,s表示時間序列樣本的周期。
獲得n組樣本數(shù)據(jù)(Si,Ti),i=1,2,…,n。取(Sa,Ta),a=1,2,…,m作為訓練樣本,(Sb,Tb),b=m,m+1,…,n作為測試樣本。
步驟二、確定網(wǎng)絡拓撲結構;
網(wǎng)絡結構的初始化主要包括確定網(wǎng)絡的輸入層、輸出層和隱含層的節(jié)點數(shù)以及隱含層數(shù)。特別地,由于隱含層的節(jié)點數(shù)對Elman網(wǎng)絡的性能影響較大,因此在進行參數(shù)預測前,首先通過對比不同隱含層節(jié)點所對應的Elman網(wǎng)絡的訓練性能,選擇收斂速度快、逼近精度高的網(wǎng)絡所對應的隱含層節(jié)點數(shù)作為預測網(wǎng)絡的隱含層節(jié)點數(shù),具體為:
由于單隱含層Elman網(wǎng)絡能夠以任意精度逼近一個連續(xù)函數(shù),故采用三層網(wǎng)絡結構;其中輸入層節(jié)點數(shù)M=7,輸出層節(jié)點數(shù)N=1,根據(jù)公式
P=2q+1 (1)
則理論上隱含層的節(jié)點數(shù)P=15。由于隱含層節(jié)點數(shù)很大程度上影響著網(wǎng)絡的預測性能,故依次取隱含層的節(jié)點數(shù)P為7、11、15、18,然后根據(jù)網(wǎng)絡性能確定隱含層節(jié)點數(shù)的最優(yōu)值,當P=11時算法收斂速度最快,網(wǎng)絡性能最佳,所以隱含層節(jié)點數(shù)為11。
步驟三、網(wǎng)絡初始化;
在網(wǎng)絡進行學習訓練之前,需要將網(wǎng)絡每層間的連接權值最初化,根據(jù)經(jīng)驗法可知,連接權值ω初始值通常取(-0.3,+0.3)內(nèi)的隨機數(shù)。
步驟四:采用改進的螢火蟲算法對Elman神經(jīng)網(wǎng)絡的初始連接權值進行優(yōu)化,使網(wǎng)絡能夠順利進行學習并處于良好狀態(tài);具體步驟為:
一、動態(tài)搜索因子:
在傳統(tǒng)的螢火蟲算法中,每個螢火蟲看作是搜索空間中的一個有位置沒有體積的微粒,每個位置代表一個解,通過周圍個體同伴所發(fā)熒光亮度和光強吸收系數(shù)決定移動的距離,不斷在搜索空間進行搜索,最終找到最優(yōu)解。其中亮度和吸引度是螢火蟲優(yōu)化算法中的兩個主要因素,定義螢火蟲的亮度I為
式中:I0為最大亮度,即螢火蟲自身的亮度,與目標函數(shù)值相關,γ為光強吸收系數(shù),Luv為螢火蟲u與螢火蟲v之間的歐氏距離如式(3)。
其中:D為空間維數(shù);xv,k為螢火蟲v位置xv在空間中第k個分量,xu,k為螢火蟲v位置xu在空間中第k個分量定義螢火蟲間的吸引度為
式中:β0是初始位置吸引度,γ為光強吸收系數(shù)。
螢火蟲u被螢火蟲v吸引的位置更新公式為
xv(t+1)=xu(t)+β(xv(t)-xu(t))+α(rand-1/2) (5)
式中:α為步長因子,一般取[0,1]上的常數(shù),rand為[0,1]上服從均勻分布的隨機數(shù)。
螢火蟲算法尋優(yōu)是通過螢火蟲之間的相互吸引來實現(xiàn)的,隨著迭代次數(shù)的增加,螢火蟲群會在最優(yōu)值附近聚集。此時螢火蟲個體與最優(yōu)值之間的距離已經(jīng)非常小,在個體向最優(yōu)值趨近的過程中,很可能會出現(xiàn)螢火蟲移動的距離大于個體與最優(yōu)值間距的情況,而導致個體在按照公式(5)更新自己的位置時跳過了最優(yōu)值,移動到最優(yōu)值的另一側,若這種情況連續(xù)出現(xiàn)多次,即在最優(yōu)值附近出現(xiàn)震蕩,將會導致最優(yōu)值發(fā)現(xiàn)率降低,影響算法的收斂精度和速度,因此我們提出一種引入動態(tài)搜索因子的方法,對標準螢火蟲算法加以改進。首先需要定義自適應距離dz(t):
式中,f(xz)為第z個粒子的適應度函數(shù)值,為第z個粒子在第t-1次迭代后所得的全局最優(yōu)值,為在第t-1次迭代時最大的適應值。
然后,定義動態(tài)搜索因子η:
式中;t為迭代次數(shù),dz(t)為自適應距離。
因此,改進的螢火蟲算法位置更新公式為:
xv(t+1)=xu(t)+βLuv(xv(t)-xu(t))+η(t)dz(t)(rand-1/2) (8)
即用動態(tài)搜索因子與自適應距離的乘積代替固定步長α,使得螢火蟲的隨機步長能夠根據(jù)某個螢火蟲個體與當前最優(yōu)值之間的距離動態(tài)變化。在尋優(yōu)過程初期,螢火蟲間距離Luv較大,適當擴大動態(tài)搜索因子可以加快在迭代前期算法的收斂速度,從而使螢火蟲能夠自主探索一個較大的范圍;當螢火蟲個體聚集在最優(yōu)值附近時,則動態(tài)搜索因子的值將減小,防止螢火蟲的自主探索能力過強,讓吸引力成為影響螢火蟲位置更新的主要因素。
二、改進的螢火蟲算法優(yōu)化過程:利用訓練樣本,采用改進的螢火蟲優(yōu)化算法,對Elman神經(jīng)網(wǎng)絡預測模型權值進行優(yōu)化,結合圖2,具體步驟如下:
(1)初始化種群:
具體過程為:個體編碼方法為實數(shù)編碼,每個個體由一個實數(shù)串表示,該實數(shù)串由以下四部分組成:Elman神經(jīng)網(wǎng)絡的輸入層與隱層之間的連接權值ω1,隱層與輸出層之間的連接權值ω2,承接層與隱層之間的連接權值ω3,承接層與輸出層之間的連接權值ω4。
設置螢火蟲種群數(shù)目M=30,最大吸引度β=1,光強吸收系數(shù)γ=1,最大迭代次數(shù)為100,隨機生成初始化螢火蟲種群位置。
(2)計算相對亮度:計算每個螢火蟲的個體適應度值f(yj)作為自身亮度。根據(jù)最優(yōu)個體編碼得到的Elman網(wǎng)絡的初始權值,用訓練集訓練Elman神經(jīng)網(wǎng)絡后系統(tǒng)預測輸出,個體適應度f(yj)即為期望輸出與預測輸出之間的誤差絕對值的和,如下式所示:
式中:N為Elman神經(jīng)網(wǎng)絡的輸出層節(jié)點數(shù);yj為Elman網(wǎng)絡節(jié)點j的期望輸出;為節(jié)點j的預測輸出。
(3)計算相對距離與吸引度:根據(jù)相應實測數(shù)據(jù)利用公式(3)、(4)計算吸引度值。
(4)計算種群最優(yōu)值與自適應距離:對優(yōu)化中的每個螢火蟲個體,將其適應度值與該種群當前的全局最優(yōu)解Pg的適應度值進行比較,當前螢火蟲個體PG若優(yōu)于Pg,則將PG設置為該種群當前的最好位置,并更新全局最優(yōu)解Pg,并根據(jù)公式(6)計算自適應距離。
(5)螢火蟲位置更新:根據(jù)公式(7)判定條件選取合適的動態(tài)搜索因子η,并利用公式(8)對螢火蟲進行空間位置更新,對處在最佳位置的螢火蟲進行隨機擾動。
(6)終止條件的滿足:根據(jù)更新后的位置,重新計算相對亮度,判斷更新后螢火蟲的位置精度是否小于0.01或到達最大迭代次數(shù),如果是,停止迭代,輸出優(yōu)化后的Elman神經(jīng)網(wǎng)絡最佳權值;如果否,則返回步驟(3),繼續(xù)尋優(yōu)。
步驟五:網(wǎng)絡學習訓練及測試;
(1)數(shù)據(jù)的預處理:
由于激活函數(shù)的飽和特性,需要對樣本數(shù)據(jù)進行歸一化處理。利用公式(10)將輸入樣本轉(zhuǎn)化為[0,1]區(qū)間的值。
式中,xmax,xmin分別代表樣本的最大值和最小值,工程應用中一般取1.1xmax和0.9xmin。
(2)網(wǎng)絡的訓練:
根據(jù)圖3,將樣本數(shù)據(jù)對作為Elman網(wǎng)絡訓練樣本,采用改進的螢火蟲算法獲取優(yōu)化后的連接權值,運用連接權值優(yōu)化后的Elman神經(jīng)網(wǎng)絡,計算各網(wǎng)絡層輸出及訓練誤差,直到網(wǎng)絡達到預期輸出目標;如未達到訓練目標,則根據(jù)訓練誤差,根據(jù)步驟三中的權值學習方法重新調(diào)整連接權值。
(3)預測性能分析:選取樣本數(shù)據(jù)中的測試樣本作為Elman神經(jīng)網(wǎng)絡的測試樣本,測試Elman神經(jīng)網(wǎng)絡的預測性能。為了更好地度量神經(jīng)網(wǎng)絡的預測效果,需要從不同的角度度量網(wǎng)絡的預測性能。經(jīng)綜合考慮,采用相對誤差(RE)和收斂到訓練目標時的迭代次數(shù)(NIT)作為評判算法優(yōu)劣的標準,其中RE的計算如公式(11)所示
式中,Yq為期望值,yq為預測值。
步驟六:光功率趨勢的預測;將采集到的新的實時光功率數(shù)據(jù)輸入到步驟五訓練好的Elman神經(jīng)網(wǎng)絡,從而實現(xiàn)了對下一時刻光功率趨勢變化的預測。
步驟七,光纖線路狀態(tài)的分析:根據(jù)所得到的光功率趨勢曲線,分析光纖線路可能出現(xiàn)的問題。