朱登遠(yuǎn),常曉鳳
(1.長(zhǎng)安大學(xué)公路學(xué)院,陜西西安 710064;2.長(zhǎng)安大學(xué)信息工程學(xué)院,陜西 西安 710064)
灰色系統(tǒng)理論是20世紀(jì)80年代由我國(guó)鄧聚龍教授提出的一種數(shù)學(xué)方法,可用來(lái)解決小樣本的信息不完備系統(tǒng)的復(fù)雜問(wèn)題,在巖土工程中得到了廣泛關(guān)注[1-2]。如果有一個(gè)程序能夠使工程人員只需輸入數(shù)據(jù),而不需編寫計(jì)算公式,就可以得到分析預(yù)測(cè)結(jié)果,將會(huì)使灰色系統(tǒng)理論更好地應(yīng)用在巖土工程中,因此有必要對(duì)其進(jìn)行編程和算法實(shí)現(xiàn),使其程序化、智能化。
在Matlab語(yǔ)言系統(tǒng)中,幾乎所有的操作都是以矩陣操作為基礎(chǔ),而在灰色模型預(yù)測(cè)過(guò)程中,需要進(jìn)行大量的矩陣運(yùn)算,Matlab在這方面顯示了獨(dú)到之處。將Matlab和灰色模型結(jié)合,可以實(shí)現(xiàn)系統(tǒng)預(yù)測(cè),提高計(jì)算的效率[2]。國(guó)內(nèi)外學(xué)者結(jié)合相關(guān)領(lǐng)域做了一些研究并取得了很大進(jìn)展。張艷萍[3]研究了基于Matlab的灰色系統(tǒng)預(yù)測(cè),并結(jié)合廣東省批發(fā)零售業(yè)預(yù)測(cè)進(jìn)行了GM(1,1)模型的Matlab實(shí)現(xiàn);曹玉珍[4]進(jìn)行了基于Matlab的GM(1,1)模型在廣州市降塵預(yù)測(cè)中的應(yīng)用研究;彭利平[5]進(jìn)行了基于Matlab的GM(1,1)模型在機(jī)械工業(yè)中的應(yīng)用研究;李朝陽(yáng)[6]進(jìn)行了基于Matlab的GM(1,1)模型的大氣污染物濃度預(yù)測(cè);梁智勇[7]用Matlab實(shí)現(xiàn)了GM(1,1)模型的供電量預(yù)測(cè);陳剛[2]研究了GM(1,1)模型在建筑物沉降預(yù)測(cè)中的應(yīng)用及Matlab實(shí)現(xiàn);唐麗芳[8]和周亞非[9]分別結(jié)合某高校教師人數(shù)預(yù)測(cè)和住宿餐飲業(yè)收入增加值預(yù)測(cè)研究了GM(1,1)模型的Matlab實(shí)現(xiàn)及其應(yīng)用。雖然這些學(xué)者都對(duì)GM(1,1)模型進(jìn)行了研究,并在此基礎(chǔ)上給出了對(duì)應(yīng)的Matlab算法,但由于各種原因,算法表達(dá)各不相同、不夠全面且不規(guī)范,其正確性沒(méi)有得到很好驗(yàn)證,有的算法用Matlab運(yùn)行出現(xiàn)錯(cuò)誤,無(wú)法使用。筆者在此基礎(chǔ)上研究分析,綜合其優(yōu)點(diǎn)、改正不必要的細(xì)節(jié)和錯(cuò)誤,重新整理編寫GM(1,1)模型Matlab算法,以增強(qiáng)Matlab在GM(1,1)模型灰色預(yù)測(cè)中的實(shí)用性和通用性,方便工程人員使用。
灰色預(yù)測(cè)GM(l,l)模型是一個(gè)擬微分方程的動(dòng)態(tài)系統(tǒng)[10],其建模的實(shí)質(zhì)是對(duì)原始數(shù)據(jù)先進(jìn)行一次累加生成,使生成的數(shù)據(jù)序列呈現(xiàn)一定規(guī)律,而后通過(guò)建立一階微分方程模型,求得擬合曲線,用以對(duì)系統(tǒng)進(jìn)行預(yù)測(cè)。具體過(guò)程如下:
(1)給定原始序列
(2)1-AGO生成序列
(3)緊鄰均值生成序列
(4)建立灰色微分方程
(5)對(duì)應(yīng)的白化方程為
(6)解的離散化形式為
(7)I-AGO還原序列
(1)殘差檢驗(yàn)。
絕對(duì)殘差序列
相對(duì)殘差序列
平均誤差
(2)后驗(yàn)差檢驗(yàn)。
原始數(shù)據(jù)的平均值、均方差計(jì)算
絕對(duì)殘差的平均值、均方差計(jì)算
后驗(yàn)差比值計(jì)算
小誤差概率計(jì)算
(3)關(guān)聯(lián)度檢驗(yàn)。
表1 模型精度檢驗(yàn)標(biāo)準(zhǔn)[11]
為了檢驗(yàn)GM(1,1)模型的Matlab算法正確性與通用性,選用以下兩個(gè)實(shí)例進(jìn)行驗(yàn)證。
實(shí)例1:已知有11個(gè)月的某建筑物沉降觀測(cè)數(shù)據(jù),現(xiàn)建立GM(1,1)模型,進(jìn)行模型精度檢驗(yàn),并對(duì)12 月份的沉降量進(jìn)行預(yù)測(cè),實(shí)際觀測(cè)數(shù)據(jù)如表 2 所示。顯然,x0=[4.8,5.2,5.4,5.1,5.9,7.6,7.9,8.0,8.6,8.5,9.1],x=[1,2,3,4,5,6,7,8,9,10,11,12]。
表2 某建筑物沉降量觀測(cè)數(shù)據(jù)
Matlab 運(yùn)行結(jié)果:xx0=[4.800 0,5.176 7,5.536 8,5.921 9,6.333 9,6.774 5,7.245 7,7.749 8,8.288 9,8.865 5,9.482 2,10.141 8],e0=[0.000 0,0.023 3,- 0.136 8,- 0.821 9,- 0.433 9,0.825 5,0.654 3,0.250 2,0.311 1,- 0.365 5,- 0.382 2],averq=0.055 3,C=0.391 2,p=1,r=0.639 2,相對(duì)誤差檢驗(yàn)為三級(jí),后驗(yàn)差檢驗(yàn)為二級(jí),關(guān)聯(lián)度檢驗(yàn)為四級(jí)。沉降量真實(shí)值與預(yù)測(cè)值的比較及預(yù)測(cè)效果如圖1所示。
實(shí)例2:已知有8個(gè)月的某礦瓦斯涌出量記錄數(shù)據(jù),現(xiàn)建立GM(1,1)模型,進(jìn)行模型精度檢驗(yàn),并對(duì)9、10和11月份的瓦斯涌出量進(jìn)行預(yù)測(cè),相關(guān)記錄數(shù)據(jù)如表 3所示。顯然,x0=[65.08,77.97,81.89,93.16,92.31,116.16,147.25,143.26],x=[1,2,3,4,5,6,7,8,9,10,11]。
Matlab 運(yùn)行結(jié)果:xx0=[65.080 0,72.875 4,82.085 3,92.459 2,104.144 1,117.305 6,132.130 6,148.829 1,167.637 9,188.823 8,212.687 1],q= [0,0.065 3,- 0.002 4,0.007 5, - 0.128 2,-0.009 9,0.102 7,-0.038 9],averq=0.044 4,C=0.305 2,p=1,r=0.885 0,相對(duì)誤差檢驗(yàn)為二級(jí),后驗(yàn)差檢驗(yàn)為一級(jí),關(guān)聯(lián)度檢驗(yàn)為二級(jí)。瓦斯涌出量記錄值與預(yù)測(cè)值的比較及預(yù)測(cè)效果如圖2所示。
表3 某礦瓦斯涌出量記錄數(shù)據(jù)
上面2個(gè)實(shí)例分別與文獻(xiàn)[2]和[12]中的計(jì)算結(jié)果相同,充分證明了Matlab算法的正確性與通用性,減少了工程人員的編程和計(jì)算繁瑣,能夠較為快速、精確地進(jìn)行計(jì)算,以及對(duì)所得數(shù)據(jù)的準(zhǔn)確性分析和預(yù)測(cè)。
灰色模型的公式化特點(diǎn)和Matlab獨(dú)特的計(jì)算優(yōu)點(diǎn),使灰色預(yù)測(cè)建模和Matlab算法得到了很好結(jié)合。本文基于灰色系統(tǒng)理論基本原理,用Matlab建立了GM(1,1)模型算法,實(shí)現(xiàn)了Matlab在灰色預(yù)測(cè)中的應(yīng)用。GM(1,1)模型的Matlab算法為建立其他相應(yīng)的灰色模型提供了參考和依據(jù),若將所有灰色模型編制成一個(gè)通用Matlab軟件包,則可實(shí)現(xiàn)灰色理論的程序化、智能化。工程人員只需輸入數(shù)據(jù),而不需編寫計(jì)算公式,就可以得到分析預(yù)測(cè)結(jié)果,減少了工程人員的工作量,在工程上具有一定的實(shí)用價(jià)值。GM(1,1)模型的Matlab算法具有一定的通用性,但精密性和細(xì)微之處有待進(jìn)一步的完善和驗(yàn)證。
[1]李恒凱,劉傳立.基于灰色理論的變形智能預(yù)測(cè)模型庫(kù)研究[J].巖土力學(xué),2011,32(10):3119-3124.
[2]陳剛,王波,鄧哲.GM(1,1)模型在建筑物沉降預(yù)測(cè)中的應(yīng)用及Matlab的實(shí)現(xiàn)[J].城市勘測(cè),2011(1):107-109.
[3]Zhang Yanping,Li Mingsheng.Grey System Forecasting Based on MATLAB and Its Example Application[J].2011(1):107-109.
[4]曹玉珍,莫翠云,蔡明.基于MATLAB的灰色模型在廣州市降塵預(yù)測(cè)中的應(yīng)用[J].中國(guó)環(huán)境監(jiān)測(cè),2006,22(5):54-56.
[5]彭利平,顏於滕,黃劍,等.基于Matlab的灰色GM(1,1)模型在機(jī)械工業(yè)中的應(yīng)用探究[J].煤礦機(jī)械,2009,30(12):63-65.
[6]李朝陽(yáng),魏毅.基于MATLAB灰色 GM(1,1)模型的大氣污染物濃度預(yù)測(cè)[J].環(huán)境科學(xué)與管理,2012,37(1):48-53.
[7]梁智勇.用Matlab實(shí)現(xiàn)GM(1,1)灰色模型的供電量預(yù)測(cè)[J].電腦編程與維護(hù),2009(24):93-102.
[8]唐麗芳,賈冬青,孟慶鵬.用MATLAB實(shí)現(xiàn)灰色預(yù)測(cè)GM(1,1)模型[J].滄州師范??茖W(xué)校學(xué)報(bào),2008,24(2):35-37.
[9]周亞非.GM(1,1)的MATLAB實(shí)現(xiàn)及其應(yīng)用[J].長(zhǎng)春師范學(xué)院學(xué)報(bào):自然科學(xué)版,2010,29(1):32-35.
[10]于國(guó)芳.地基變形的灰色預(yù)測(cè)模型[J].西部探礦工程,2009(2):11-13.
[11]仇環(huán),曲國(guó)慶,蘇曉慶.GM(1,1)模型的改進(jìn)[J].山東理工大學(xué)學(xué)報(bào):自然科學(xué)版,2008,22(2):32-35.
[12]胡永梅.灰色系統(tǒng)GM(1,1)模型在煤礦瓦斯涌出量預(yù)側(cè)中的應(yīng)用[J].能源與環(huán)境,2008(4):45-46.