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