程雙江 李世平 鄔肖敏
(第二炮兵工程大學(xué),西安 710025)
?
改進GEP在儀器穩(wěn)定度預(yù)測中的應(yīng)用
程雙江 李世平 鄔肖敏
(第二炮兵工程大學(xué),西安 710025)
提出了一種基于基因表達式編程(GEP)的儀器穩(wěn)定度預(yù)測新方法,為了提高預(yù)測精度,將相空間重構(gòu)應(yīng)用到儀器穩(wěn)定度的序列分析中,采用了變種群策略與保留精英個體的輪盤賭選擇策略;同時針對標準GEP在解碼過程中種群、測試數(shù)據(jù)集和進化代數(shù)等參數(shù)較大時適應(yīng)度值計算耗費時間和空間較大的問題,結(jié)合GPED和GRCM算法,對其進行改進。將改進后的GEP用于高穩(wěn)時頻晶振計量標準儀器的穩(wěn)定度預(yù)測中,結(jié)果表明預(yù)測效果較好。
相空間重構(gòu);GEP;變種群策略;穩(wěn)定度預(yù)測
儀器是人類認識世界的重要工具,廣泛應(yīng)用于社會生活的各個領(lǐng)域,然而隨著電子技術(shù)的發(fā)展,尤其是對于目前的智能儀器而言,儀器精度往往能達到很高的要求,因此在測量精度相當?shù)那疤嵯?,穩(wěn)定度指標正在逐步取代精度成為用戶最關(guān)心的問題,尤其對于部分產(chǎn)業(yè)而言,穩(wěn)定度不好造成的影響往往比儀器精度下降產(chǎn)生的影響要大得多,而且對于維修人員來說,穩(wěn)定度不好的儀器,其維護量也比精度差的儀器要大得多,因此對于穩(wěn)定度進行預(yù)測具有現(xiàn)實意義??紤]到我們?nèi)粘K褂玫膬x器設(shè)備不可能在每一次的使用前都對其進行檢測,一般儀器的檢定周期為一年、兩年不等,要想更好地把握其性能指標在未來可能的變化趨勢,預(yù)測就顯得尤為重要??茖W(xué)的預(yù)測是正確決策的依據(jù)和保證[1]。多年以來,國內(nèi)外許多專家和學(xué)者對預(yù)測理論不斷探索,形成了一系列行之有效的預(yù)測方法,常用的方法包括灰色預(yù)測、隨機時間序列預(yù)測、神經(jīng)網(wǎng)絡(luò)預(yù)測和支持向量機預(yù)測[2]等。而基因表達式編程(GEP)作為一種新型的時間序列預(yù)測方法[3],無需人為的選擇數(shù)學(xué)模型,就可以實現(xiàn)復(fù)雜系統(tǒng)的非線性建模,尤其對于小樣本、非線性序列預(yù)測效果較好。
文獻[4]將GEP運用到股票指數(shù)和價格時間序列預(yù)測分析,文獻[5]將GEP用于人口預(yù)測,文獻[6]將GEP應(yīng)用到短期電力系統(tǒng)負荷預(yù)測當中,都取得了很好的效果,并通過實例分析了GEP相比于遺傳算法、神經(jīng)網(wǎng)絡(luò)、灰色系統(tǒng)模型的巨大優(yōu)勢,然而將預(yù)測理論應(yīng)用到儀器穩(wěn)定度預(yù)測方面的研究并不多,尤其是GEP預(yù)測,基本還無人涉及。因此本文將GEP理論引入到儀器穩(wěn)定度預(yù)測當中,為了提高預(yù)測精度與收斂速度,引入相空間重構(gòu)理論,同時對標準GEP的解碼算法及遺傳過程進行改進。將改進后的GEP用于高穩(wěn)時頻晶振計量標準儀器穩(wěn)定度預(yù)測當中,并與簡單移動平均模型、ARMA模型預(yù)測結(jié)果進行比較,驗證該方法的有效性。
基因表達式編程(GEP)是葡萄牙科學(xué)家Candida Ferreira在2001年提出的一種基于基因型和表現(xiàn)型的基因算法,具有更強的解決復(fù)雜問題的能力、極強的函數(shù)發(fā)現(xiàn)能力和很高的編程效率,相比遺傳算法(GA)和遺傳編程(GP)高出2~4個數(shù)量級。GEP同時兼?zhèn)淞薌A和GP的優(yōu)點,與GA和GP相比,GEP最大的優(yōu)勢在于在句法上將個體先編碼為固定長度的線性串,在語義上再表示成大小、形狀都不同的非線性實體[7],這樣就具備了利用簡單編碼解決復(fù)雜問題的能力,克服了GA和GP各自的不足。
每個GEP的染色體可以由多個基因通過一定的連接運算符連接,而每個基因又可分為頭部(h)和尾部(t),頭部包含了終結(jié)符和函數(shù)集中的函數(shù),而尾部只能包含終結(jié)符,頭部的大小根據(jù)具體的問題在初始參數(shù)時自己設(shè)定,而尾部則依據(jù)下面的公式計算給出:
t=h×(n-1)+1
(1)
式中,n為函數(shù)符集中函數(shù)的最大操作數(shù)目。
這樣的編碼方式可以保證基因在進行遺傳操作時始終保持其有效性。一個包含了函數(shù)集F={+,-,*,/,Q}和終結(jié)符T={x,y,z},頭部為h=5基因編碼如下:
+Q/x*yxxzyy
(2)
則其表現(xiàn)型可按照規(guī)則解碼如圖1所示。
圖1 GEP表達式樹
圖2 GEP算法流程
通過對基因進行不斷的迭代,就可以實現(xiàn)沿著預(yù)測值與實際值誤差最小的方向進化,達到建模擬合,實現(xiàn)最終預(yù)測的目的。由于GEP建立的非線性預(yù)測模型是一個具體的表達式,這樣就方便我們進行分析,同時對于小樣本數(shù)據(jù)而言,采用GEP預(yù)測,可以有效回避神經(jīng)網(wǎng)絡(luò)等方法中出現(xiàn)的過擬合問題。
2.1 相空間重構(gòu)技術(shù)
相空間重構(gòu)技術(shù)的基本思想是:系統(tǒng)中任一狀態(tài)分量的演化都是由與之相關(guān)的其它狀態(tài)分量所決定的,因此這些相關(guān)狀態(tài)分量的信息就隱含在任一狀態(tài)分量的發(fā)展過程中[9]。為了重構(gòu)一個等價的狀態(tài)空間,只需考察一個狀態(tài)分量,將它在某些固定時間延遲上的測量值作為新維處理,從而通過這種類似嵌入的方法構(gòu)造出一個等價的相空間。研究已經(jīng)證明,當嵌入維數(shù)M和時間延遲t 選擇適當時,重構(gòu)出來的相空間具有與實際動力系統(tǒng)幾乎相同的幾何性質(zhì)和信息性質(zhì)。因此可以將其應(yīng)用到時間序列分析當中,將一維的時間序列:
x(t)t=1,2,…n
(3)
轉(zhuǎn)換為M維向量:
X(t)={x(t),x(t+t ),…,x[t+(M-1)t ]}
t=1,2,…,n-(M-1)t
(4)
相空間重構(gòu)的關(guān)鍵在于嵌入維數(shù)M和時間延遲t 的確定,兩者的確定方法有很多,一種方式認為兩者不相關(guān),此時嵌入維數(shù)的確定主要方法有虛假最近鄰點法和奇異值分解法等,時間延遲的確定方法有自相關(guān)函數(shù)法、互信息法和平均位移法等;另一種認為兩者是相關(guān)的,主要方法包括時間窗口法、C-C法、嵌入維時間延遲自動算法[10]。本文采用C-C法進行嵌入維數(shù)M和時間延遲t 兩參數(shù)的確定。
2.2 解碼算法的改進
在GEP算法中,為了評估染色體的優(yōu)劣,必須首先進行解碼,然后再進行適應(yīng)度值的計算。標準的解碼過程是先構(gòu)造種群中每個染色體對應(yīng)的表達式樹,然后通過多次中序遍歷每個表達式樹來完成適應(yīng)度計算。然而若種群測試數(shù)據(jù)集和進化代數(shù)等參數(shù)較大,則進行適應(yīng)度計算時構(gòu)建和遍歷表達式樹的操作次數(shù)會很大,導(dǎo)致適應(yīng)度計算的時間和空間耗費較大[11]。因此無需構(gòu)造表達式樹實現(xiàn)直接解碼就成了研究的熱點。本文結(jié)合GPED和GRCM算法,提出了一種新的無需構(gòu)造表達式樹的解碼算法,首先利用GPED算法進行有效基因長度的確定,然后利用GRCM算法進行解碼操作。
GPED算法進行有效基因長度的確定原理可以表述如下:首先設(shè)置一個計數(shù)變量nCount并初始化為1,從左到右逐個讀取基因中的字符;其次觀測基因中的字符,如果為函數(shù)符,則nCount加上n-1,其中n為該函數(shù)的操作數(shù)目;如果為終結(jié)符,則nCount減去1,直至nCount為0為止停止讀取基因;最后記錄所讀取的基因字符個數(shù)即為有效基因長度。然后利用GRCM方法進行解碼,過程如下:
1)尋找最后一位函數(shù)符,如果是單目運算符,則從有效基因的尾部選擇一位進行運算,如果是雙目運算符,則從有效基因的尾部選擇兩位進行運算,以此類推。
2)將運算的結(jié)果作為終結(jié)符保存在該函數(shù)符的基因位,同時基因的有效長度減去相應(yīng)的運算位數(shù),此時基因就進行了適當?shù)母隆?/p>
3)從更新后的新基因中選擇最后一位運算符,進行步驟1)和步驟2)操作,直至基因有效長度個數(shù)為1。
4)記錄此時長度為1的基因終結(jié)符數(shù)值,即為該基因的解碼值。
以基因+Q-/b*aaQbaabaabbaaab為例進行分析,利用GPED算法可以得到該基因的有效長度為11,然后從最后一位運算符(Q)開始運算,其解碼過程如圖3所示。
圖3 解碼過程
2.3 種群個體的選擇與變種群策略
在種群的進化過程當中,初始化基因往往起著至關(guān)重要的作用,因此在種群初始化的過程中,采取基于精英個體的產(chǎn)生策略,即使第一個個體具有較高的適應(yīng)度,其他種群則隨機產(chǎn)生,這樣可以提高進化效率;同時在進化選擇的過程中,采取了保留精英個體的輪盤賭選擇策略,復(fù)制上一代種群中的最優(yōu)個體直接到下一代的第一個種群;最后為了提高種群的多樣性,避免陷入局部最優(yōu)解,采取了變種群策略,即在初期給定一個初始種群數(shù),隨著時間的推移,種群的多樣性會隨之下降,因此達到一定代數(shù)之后,每隔一定代數(shù),適當增加種群的個數(shù),增加的種群個體采用隨機方式產(chǎn)生,這樣可以顯著提高種群多樣性,考慮到種群代數(shù)的增加是以犧牲程序運行時間為前提的,因此種群代數(shù)不能無限制的增加,事先設(shè)定一進化代數(shù),達到該進化代數(shù)后種群個數(shù)不再發(fā)生變化,但是在選擇的過程中附加了少量種群的隨機化,即部分個體不是通過選擇產(chǎn)生而是隨機產(chǎn)生。
計量標準儀器是保障其他儀器測量量值準確、統(tǒng)一的物質(zhì)基礎(chǔ),對其進行預(yù)測是進行計量標準全壽命周期質(zhì)量控制、管理與檢測的主要手段。對于高穩(wěn)時頻晶振計量標準儀器來說,穩(wěn)定度指標尤為重要。本文采用某計量站高穩(wěn)時頻晶振計量標準儀器進行實例分析。
數(shù)據(jù)來源于該儀器每年一次的上級單位檢定數(shù)據(jù)(作為第一季度數(shù)據(jù)),以及兩次檢定期間,該計量站計量員利用更高精度的計量標準每季度進行一次的檢定數(shù)據(jù)(第一季度除外)。從2002年到2012年總共44個數(shù)據(jù)點,如表1所示。
本文以2002—2011年的40個數(shù)據(jù)點進行穩(wěn)定度擬合,預(yù)測2012年4個季度的穩(wěn)定度值。
首先通過C-C法尋找最優(yōu)的嵌入維數(shù)M和時間延遲t 分別為6和1,這樣輸入時間序列就轉(zhuǎn)換為
(5)
i=1,2,…,6
模型就轉(zhuǎn)化成了6輸入單輸出的GEP模型,GEP參數(shù)設(shè)置如表2所示。
表1 高穩(wěn)時頻晶振2002—2012年穩(wěn)定度值(×10-12)
表2 GEP參數(shù)設(shè)置
續(xù)表
在確定相空間重構(gòu)相關(guān)參數(shù)后,對數(shù)據(jù)進行必要調(diào)整,而后就可以利用改進后的GEP模型進行2002-2011年的數(shù)據(jù)擬合以及2012年的穩(wěn)定度預(yù)測,經(jīng)整理后得到的預(yù)測模型公式為
X6+sin{cos[exp(cos(X6-X5))]}+
cos[cos(3.58+X1)-0.099]
(6)
得到的擬合曲線如圖4所示,可以看出,擬合曲線與原始曲線吻合度較高,擬合效果較好,因此可以用此模型進行預(yù)測。
為了檢驗改進后的GEP模型在穩(wěn)定度預(yù)測方面的巨大優(yōu)勢,分別用簡單移動平均預(yù)測模型、ARMA模型以及標準的GEP對其進行預(yù)測,與實際值進行比較。4種模型得到的2012年4個季度的預(yù)測值如圖5所示。
為了更加直觀的檢測預(yù)測效果,以平均相對誤差作為衡量標準,4種模型的預(yù)測值和相對誤差如表3所示。
從表3可以看到簡單移動平均預(yù)測模型,ARMA模型,標準的GEP模型和改進后的GEP模型平均相對誤差分別為26.5%,6.6%,6.1%,2.2%,因此可以認為GEP模型在小樣本儀器穩(wěn)定度預(yù)測方面具備更高的精度,可以作為儀器穩(wěn)定度預(yù)測方面的一種新方法,同時也看到改進后的GEP預(yù)測模型性能得到了進一步的提升。
圖4 改進GEP擬合曲線圖
圖5 2012年不同模型穩(wěn)定度預(yù)測值
表3 4種模型2012年穩(wěn)定度預(yù)測結(jié)果 (×10-12)
采用GEP模型實現(xiàn)了儀器穩(wěn)定度的預(yù)測。首先通過相空間重構(gòu)法將單輸入的時間序列轉(zhuǎn)換成了多輸入的序列;其次針對標準GEP算法在解碼過程中過于復(fù)雜導(dǎo)致計算效率不高的問題,對解碼過程進行了改進;最后對遺傳過程進行了優(yōu)化,采取了變種群策略。通過與簡單移動平均預(yù)測模型、ARMA模型和標準GEP模型之間的比較,可以得出結(jié)論:GEP在儀器穩(wěn)定度預(yù)測方面具有很高的精度與很大的研究價值,改進后的GEP預(yù)測精度與運算效率均得到了進一步的提升。
[1] 康重慶,夏清,劉梅.電力系統(tǒng)負荷預(yù)測[M].北京,中國電力出版社,2008
[2] 吳德會.基于最小二乘支持向量機的傳感器非線性動態(tài)系統(tǒng)辨識[J].計量學(xué)報,2008,29(3)
[3] 彭昱忠,等.基因表達式編程的理論研究綜述[J].計算機應(yīng)用研究,2011,28(2):413-418
[4] 廖勇.基于基因表達式編程的股票指數(shù)和價格時間序列分析[D].成都:四川大學(xué),2005
[5] 劉萌偉,黎夏,劉濤.基于基因表達式編程的人口預(yù)測模型[J].中山大學(xué)學(xué)報,2010,49(6):115-120
[6] 霍利民,等.基于基因表達式程序設(shè)計及誤差循環(huán)補償?shù)碾娏ο到y(tǒng)短期負荷預(yù)測[J].中國電機工程學(xué)報,2008,28(28):103-107
[7] Ferreira C.Gene expression programming: A new adaptive algorithm for solving problems[J].Complex Systems, 2001,12(2):87-129
[8] 彭顯忠.基因表達式編程改進算法及其在函數(shù)優(yōu)化中的應(yīng)用[D].廣西:廣西師范學(xué)院,2009
[9] 張強等.基于相空間重構(gòu)技術(shù)的金融系統(tǒng)混沌識別[J].經(jīng)濟數(shù)學(xué),2011,28(2):40-43
[10] 霍崢嶸.相空間重構(gòu)法在齒輪故障診斷中的應(yīng)用[J].機械與電子,2010(35):126-127
[11] 元昌安,等.基因表達式編程算法原理與應(yīng)用[M].北京:科學(xué)技術(shù)出版社,2010
10.3969/j.issn.1000-0771.2015.09.09