邱利軍,張 波,周占學(xué),陳學(xué)良
(1.河北建筑工程學(xué)院 土木工程學(xué)院,河北 張家口 075000; 2.河北省土木工程診斷、改造與抗災(zāi)重點(diǎn)實(shí)驗(yàn)室,河北 張家口 075000; 3.中國(guó)地震局地球物理研究所,北京 100081)
灰色系統(tǒng)理論自鄧聚龍教授于1982 年提出至今,其應(yīng)用已經(jīng)拓展至各行各業(yè)。 基于該理論的深入研究從未中斷[1],而作為該理論核心的GM(1,1)模型是研究最活躍的模型之一[2],并且在理論研究與實(shí)踐應(yīng)用中取得諸多成果。 鑒于傳統(tǒng)建模方法存在缺陷,很多學(xué)者進(jìn)行了模型改進(jìn),以達(dá)到更好的預(yù)測(cè)效果[3-4]。部分學(xué)者采用改進(jìn)原始序列光滑度的方法使預(yù)測(cè)精度提高,其中:陳濤捷[5]對(duì)原始序列進(jìn)行對(duì)數(shù)變換以改變其光滑度,提高了模型預(yù)測(cè)精度;于德江[6]提出開(kāi)方變換的方法來(lái)改進(jìn)序列光滑度,從而提高模型預(yù)測(cè)精度;何斌等[7]進(jìn)行指數(shù)變換以提高序列光滑度,拓寬了模型應(yīng)用范圍,并在理論上證明了其優(yōu)越性;關(guān)葉青等[8]采用三角函數(shù)變換改進(jìn)序列光滑度。 部分學(xué)者采用變換初始值的方法對(duì)模型進(jìn)行改進(jìn),其中:黨耀國(guó)等[9]以x(1)(n)為初始值建立GM(1,1)模型,并證明其較原始模型優(yōu)越;尹方平[10]提出以αx(1)(n)為初始值的GM(1,1)模型,并給出參數(shù)α的計(jì)算公式,以此提高預(yù)測(cè)精度。 部分學(xué)者對(duì)背景值進(jìn)行改進(jìn),其中:譚冠軍[11]認(rèn)為背景值是直接影響GM(1,1)模型精度和適應(yīng)性的關(guān)鍵因素,提出將區(qū)間n等分所得面積近似為區(qū)間面積,以其作為背景值的方法,并給出了求解等分值n的試探法和經(jīng)驗(yàn)公式法;李俊峰等[12]用牛頓-柯特斯公式重構(gòu)模型中的背景值以改進(jìn)算法模型。 而在 實(shí)踐 應(yīng) 用 中,王 艷 艷 等[13]將 傳 統(tǒng) 均 值GM(1,1)模型應(yīng)用于小浪底水利樞紐大壩變形預(yù)測(cè)中;邱利軍等[14]對(duì)光滑度進(jìn)行改進(jìn)并采用實(shí)測(cè)基坑變形數(shù)據(jù)及隧道變形數(shù)據(jù)進(jìn)行了驗(yàn)證;文建華等[15]采用重構(gòu)參數(shù)改進(jìn)GM(1,1)模型并對(duì)隧道收斂變形進(jìn)行預(yù)測(cè);劉光秀等[16]采用GM(1,1)模型與Gompertz 曲線(xiàn)加權(quán)組合以預(yù)測(cè)路基沉降;牛景太[17]在新陳代謝的基礎(chǔ)上改進(jìn)背景值,并應(yīng)用于土石壩變形預(yù)測(cè)。
綜上,在模型改進(jìn)方面,大多數(shù)學(xué)者從提高擬合精度的角度進(jìn)行了研究,而筆者認(rèn)為可以從擬合所得時(shí)間響應(yīng)函數(shù)與實(shí)測(cè)累加曲線(xiàn)存在殘差這一角度對(duì)其進(jìn)行修正,提高除建模序列之外的后期序列的預(yù)測(cè)精度。因此,筆者提出對(duì)一次累加序列擬合所得時(shí)間響應(yīng)函數(shù)進(jìn)行平移旋轉(zhuǎn)變換,得到新的函數(shù),并進(jìn)行預(yù)測(cè)。
設(shè)原始數(shù)據(jù)序列X(0)={x(0)(1),x(0)(2),…,x(0)(n)}(n為數(shù)據(jù)總數(shù))為非負(fù)離散序列,而X(1)={x(1)(1),x(1)(2),…,x(1)(n)}是X(0)的1-AGO 序列,那么X(1)的緊鄰均值生成序列為Z(1)={z(1)(2),z(1)(3),…,z(1)(n)},則GM(1,1)模型為
式中:a、b為待求灰參數(shù);t為時(shí)間。
式(2)稱(chēng)為式(1)的白化方程。
設(shè)
用最小二乘法可求得
式(4)即X(1)序列預(yù)測(cè)公式(時(shí)間響應(yīng)函數(shù)),若k+1≤n則函數(shù)值為擬合值,若k+1>n則函數(shù)值為預(yù)測(cè)值。
時(shí)間響應(yīng)函數(shù)值與實(shí)測(cè)累加曲線(xiàn)并不重合,當(dāng)k+1>n時(shí),為了得到較精確的預(yù)測(cè)值,對(duì)式(4)進(jìn)行變換。 變換的方法:假設(shè)橫軸表示時(shí)間(周期)序列,而縱軸表示一次累加值,在該平面坐標(biāo)系內(nèi)先將式(4)計(jì)算 所 得 的 曲 線(xiàn) 平 移,使 得(n,^x(1)(n)) 與(n,x(1)(n)) 兩個(gè)點(diǎn)重合, 而后將 平移后曲線(xiàn)繞點(diǎn)(n,x(1)(n)) 旋轉(zhuǎn)θ角,得到新的預(yù)測(cè)曲線(xiàn)。
時(shí)間響應(yīng)函數(shù)的平移量Δ計(jì)算公式為
若Δ>0,則式(4)計(jì)算所得曲線(xiàn)下移,反之則上移。 其平移后公式為
進(jìn)而計(jì)算旋轉(zhuǎn)角θ(對(duì)曲線(xiàn)函數(shù)y求在橫坐標(biāo)為n處的導(dǎo)數(shù)得到斜率,n-1期點(diǎn)與n期點(diǎn)構(gòu)成直線(xiàn)斜率近似代替實(shí)測(cè)累加曲線(xiàn)斜率,求其反正切值的差值,即夾角值):
若θ>0,則平移后進(jìn)行順時(shí)針旋轉(zhuǎn);若θ<0,則在平移后進(jìn)行逆時(shí)針旋轉(zhuǎn)。
由于旋轉(zhuǎn)角θ一般較小,因此短期預(yù)測(cè)可采用原模型求得的擬合預(yù)測(cè)曲線(xiàn)上第n期與第n+1 期所連直線(xiàn)斜率計(jì)算反正切值,取代式(8)中等號(hào)右側(cè)第一項(xiàng)并對(duì)曲線(xiàn)函數(shù)求導(dǎo)后計(jì)算反正切的結(jié)果,從而近似得到θ值;或直接采用原模型求得擬合預(yù)測(cè)曲線(xiàn)上第n-1 期與第n期所連直線(xiàn)斜率,計(jì)算反正切值取代式(8)中等號(hào)右側(cè)第一項(xiàng)并對(duì)曲線(xiàn)函數(shù)求導(dǎo)后計(jì)算反正切的結(jié)果,求得近似θ值。
設(shè)坐標(biāo)系中任一點(diǎn)坐標(biāo)為(x,y),其繞點(diǎn)(x0,y0)旋轉(zhuǎn)θ后得到新的點(diǎn)坐標(biāo)(x′,y′),對(duì)應(yīng)轉(zhuǎn)換公式為
由式(9)可知,將(x′,y′)回轉(zhuǎn)θ后可得到(x,y),其公式為
根據(jù)公式(10),若曲線(xiàn)上任一點(diǎn)都旋轉(zhuǎn)θ,則結(jié)合公式(7)可得繞(n,x(1)(n))旋轉(zhuǎn)變換后的曲線(xiàn)公式,即
公式(11)即變換后所得的新的時(shí)間響應(yīng)函數(shù)。對(duì)其進(jìn)行調(diào)整得
則
公式(14)即建立的旋轉(zhuǎn)后y′(即^x(1)(k) )與橫坐標(biāo)(k)對(duì)應(yīng)的方程,代入對(duì)應(yīng)的k值后求解y′的一元非線(xiàn)性方程,可得到對(duì)應(yīng)的累加預(yù)測(cè)序列,即
根據(jù)公式(14)求得一次累加預(yù)測(cè)序列,再進(jìn)行累減還原即可求得預(yù)測(cè)值:
灰色GM(1,1)模型預(yù)測(cè)本質(zhì)為指數(shù)函數(shù)預(yù)測(cè),可知公式(7)為GM(1,1)模型一般形式,該修正方法可推廣至符合指數(shù)函數(shù)形式的所有GM(1,1)模型。 其修正原理如圖1 所示。
圖1 GM(1,1)模型修正原理示意
由圖1 可知,實(shí)測(cè)累加序列與擬合累加序列曲線(xiàn)在后期可能出現(xiàn)相近、相交或相離的情形,旋轉(zhuǎn)角的正負(fù)控制其旋轉(zhuǎn)方向。 由于近似求得的夾角與實(shí)際存在偏差,因此可能出現(xiàn)預(yù)測(cè)校正過(guò)量(如圖1 所示)或校正不足的問(wèn)題,但整體是在預(yù)測(cè)期向?qū)崪y(cè)累加曲線(xiàn)靠近,以減小預(yù)測(cè)誤差。 但可能使得建模已知序列擬合值因旋轉(zhuǎn)而失真,導(dǎo)致與已知值相差較大,因其為已知值,故不作考慮。
選取文獻(xiàn)[13]中小浪底水利樞紐大壩壩頂監(jiān)測(cè)點(diǎn)807 點(diǎn)觀(guān)測(cè)數(shù)據(jù),8 期數(shù)據(jù)中以前5 期數(shù)據(jù)進(jìn)行建模、后3 期數(shù)據(jù)進(jìn)行驗(yàn)證。 觀(guān)測(cè)點(diǎn)實(shí)測(cè)累計(jì)變形建模序列見(jiàn)表1。 分析過(guò)程中采用傳統(tǒng)均值GM(1,1)模型(模型一)、對(duì)數(shù)變換均值GM(1,1)模型(模型三)、以x(1)(n)為初始值的GM(1,1)模型(模型五),對(duì)這3種基本模型分別進(jìn)行時(shí)間響應(yīng)函數(shù)修正(分別對(duì)應(yīng)模型二、四、六),得到修正后的預(yù)測(cè)結(jié)果并進(jìn)行比較。
表1 實(shí)例一實(shí)測(cè)建模數(shù)據(jù)序列值 mm
經(jīng)過(guò)多種模型建模預(yù)測(cè),以預(yù)測(cè)相對(duì)誤差表示模型預(yù)測(cè)精度,結(jié)果見(jiàn)表2。 需要說(shuō)明,所有模型采用C#程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn),中間變量采用雙精度浮點(diǎn)型(double)變量,表中最終結(jié)果采用四舍五入取至小數(shù)點(diǎn)后兩位。
表2 實(shí)例一不同模型預(yù)測(cè)值與實(shí)測(cè)值比較分析
根據(jù)表2 分別比較模型一和模型二、模型三和模型四、模型五和模型六預(yù)測(cè)結(jié)果,發(fā)現(xiàn)對(duì)均值GM(1,1)模型、對(duì)數(shù)變換后均值模型及以x(1)(n)為初始值的均值模型進(jìn)行時(shí)間響應(yīng)函數(shù)修正后的預(yù)測(cè)精度較原模型均有所提高,說(shuō)明對(duì)模型的時(shí)間響應(yīng)函數(shù)值進(jìn)行修正,能使其與實(shí)測(cè)累加曲線(xiàn)更接近,從而提高預(yù)測(cè)精度。 再比較模型二、模型四、模型六可知,模型二與模型六預(yù)測(cè)精度相近,而模型四精度較高。
繪制各模型預(yù)測(cè)曲線(xiàn)與實(shí)測(cè)曲線(xiàn)對(duì)比圖(自第5期開(kāi)始),如圖2 所示。
圖2 實(shí)例一預(yù)測(cè)值與實(shí)測(cè)值比較
由圖2 可知,對(duì)模型進(jìn)行時(shí)間響應(yīng)函數(shù)修正后,其預(yù)測(cè)曲線(xiàn)更趨近于實(shí)測(cè)曲線(xiàn),相對(duì)誤差更小。 累加預(yù)測(cè)曲線(xiàn)的繞點(diǎn)旋轉(zhuǎn)在預(yù)測(cè)值曲線(xiàn)中的表現(xiàn)為預(yù)測(cè)值向?qū)崪y(cè)值靠攏修正。 分析數(shù)據(jù)可知,由于前5 期數(shù)據(jù)增長(zhǎng)速率相對(duì)緩慢,因此建模擬合函數(shù)的預(yù)測(cè)曲線(xiàn)相對(duì)平緩,而以建模序列求解得到的修正角參數(shù)實(shí)際存在差異,導(dǎo)致修正模型雖然預(yù)測(cè)精度提高,但是殘差依然達(dá)到毫米級(jí)。 而且第7 期數(shù)據(jù)出現(xiàn)波動(dòng)現(xiàn)象,導(dǎo)致旋轉(zhuǎn)后預(yù)測(cè)殘差出現(xiàn)波動(dòng),即修正過(guò)量的情況,其原因在于修正模型實(shí)質(zhì)依然是以單調(diào)凹函數(shù)預(yù)測(cè)后期數(shù)據(jù),導(dǎo)致在面對(duì)后期出現(xiàn)波動(dòng)較大的復(fù)雜數(shù)據(jù)時(shí),可能出現(xiàn)修正過(guò)量甚至誤差增大的情況。
選取文獻(xiàn)[17]中某施工土石壩觀(guān)測(cè)點(diǎn)9 期觀(guān)測(cè)數(shù)據(jù),以前7 期累計(jì)沉降作為原始數(shù)據(jù)序列進(jìn)行建模、后2 期累計(jì)沉降進(jìn)行預(yù)測(cè)驗(yàn)證。 分析采用的模型同實(shí)例一。
表3 實(shí)例二實(shí)測(cè)建模數(shù)據(jù)序列值 mm
采用預(yù)測(cè)相對(duì)誤差表示模型預(yù)測(cè)精度,預(yù)測(cè)結(jié)果見(jiàn)表4,模型依然采用C#程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn),如實(shí)例一所述。
表4 實(shí)例二不同模型預(yù)測(cè)值與實(shí)測(cè)值比較分析
根據(jù)表4 分別比較模型一和模型二、模型三和模型四、模型五和模型六預(yù)測(cè)結(jié)果,發(fā)現(xiàn)對(duì)均值GM(1,1)模型、對(duì)數(shù)變換后均值模型及以x(1)(n)為初始值的均值模型進(jìn)行時(shí)間響應(yīng)函數(shù)修正后的預(yù)測(cè)精度較原模型均有所提高,說(shuō)明對(duì)模型的時(shí)間響應(yīng)函數(shù)進(jìn)行修正,能使其與實(shí)測(cè)累加曲線(xiàn)更接近,從而提高預(yù)測(cè)精度。再比較模型二、模型四、模型六可知,模型二與模型四預(yù)測(cè)精度相近,而模型六精度較高。
繪制各模型預(yù)測(cè)曲線(xiàn)與實(shí)測(cè)曲線(xiàn)對(duì)比圖(自第7期開(kāi)始),如圖3 所示。
圖3 實(shí)例二預(yù)測(cè)值與實(shí)測(cè)值比較
由圖3 可知,實(shí)測(cè)曲線(xiàn)無(wú)明顯波動(dòng),對(duì)模型進(jìn)行時(shí)間響應(yīng)函數(shù)修正后,其預(yù)測(cè)曲線(xiàn)更趨近于實(shí)測(cè)曲線(xiàn)。以x(1)(n)為初始值的均值模型預(yù)測(cè)效果更好,說(shuō)明該模型所得數(shù)據(jù)計(jì)算求得的修正角參數(shù)更接近后期實(shí)際。 同時(shí),可以發(fā)現(xiàn)實(shí)例中后期數(shù)據(jù)近似線(xiàn)性,而GM(1,1)模型實(shí)質(zhì)為指數(shù)函數(shù),模型修正后其凹曲線(xiàn)性質(zhì)并未改變,短期內(nèi)預(yù)測(cè)效果較好,但長(zhǎng)期依然會(huì)表現(xiàn)出與實(shí)測(cè)值相離趨勢(shì)。
實(shí)例一與實(shí)例二均為一元序列,采用回歸分析中的曲線(xiàn)擬合進(jìn)行趨勢(shì)外推預(yù)測(cè)較為常見(jiàn)。 因此,采用多項(xiàng)式趨勢(shì)模型分別對(duì)兩個(gè)實(shí)例進(jìn)行擬合預(yù)測(cè),以進(jìn)行比較分析。 針對(duì)實(shí)例一采用前5 期擬合函數(shù),后3期對(duì)比分析,隨著函數(shù)指數(shù)的增加,得到了指數(shù)為1~4的多項(xiàng)式預(yù)測(cè)結(jié)果,其中指數(shù)等于1 時(shí)為線(xiàn)性預(yù)測(cè)結(jié)果;而實(shí)例二采用前7 期擬合函數(shù),后2 期對(duì)比分析,隨著函數(shù)指數(shù)增加,得到指數(shù)為1 ~6 的多項(xiàng)式預(yù)測(cè)結(jié)果,其中指數(shù)等于1 時(shí)為線(xiàn)性預(yù)測(cè)結(jié)果。 每個(gè)實(shí)例各取2 項(xiàng)最好的預(yù)測(cè)結(jié)果與誤差較小的改進(jìn)灰色GM(1,1)模型預(yù)測(cè)結(jié)果進(jìn)行比較,見(jiàn)表5。
表5 與多項(xiàng)式擬合預(yù)測(cè)結(jié)果比較
根據(jù)表5 數(shù)據(jù)可知,實(shí)例一的預(yù)測(cè)結(jié)果中,模型四對(duì)于多項(xiàng)式擬合預(yù)測(cè)具有明顯優(yōu)勢(shì),而在實(shí)例二的預(yù)測(cè)結(jié)果中,模型六的預(yù)測(cè)結(jié)果與多項(xiàng)式擬合達(dá)到的最優(yōu)預(yù)測(cè)結(jié)果精度相近。 因此,認(rèn)為修正GM(1,1)模型針對(duì)適用的數(shù)據(jù)序列能夠達(dá)到較高的預(yù)測(cè)精度,并且具有一定的穩(wěn)定性。
對(duì)實(shí)例一及實(shí)例二進(jìn)行比較分析,發(fā)現(xiàn)傳統(tǒng)GM(1,1)模型、對(duì)數(shù)變換后建立的GM(1,1)模型以及以x(1)(n)為初始值的均值GM(1,1)模型針對(duì)不同數(shù)據(jù)的預(yù)測(cè)精度并不相同。 在實(shí)例一中對(duì)數(shù)變換后建立的GM(1,1)模型較傳統(tǒng)模型預(yù)測(cè)精度高而在實(shí)例二中則相反,而比較其后驗(yàn)差比值(C)及小誤差概率(P),除了小誤差概率(P)均為1 外,后驗(yàn)差比值(C)在兩個(gè)實(shí)例中均表現(xiàn)為對(duì)數(shù)變換后的模型較傳統(tǒng)模型的小,也即對(duì)數(shù)變換后建模方法更具優(yōu)勢(shì)。 分析后驗(yàn)差比值公式可知,其計(jì)算僅涉及建模序列,因此應(yīng)用于預(yù)測(cè)序列存在不足。 實(shí)例一與實(shí)例二選取的最佳模型也不同,究其原因有兩點(diǎn):其一是不同建模方法以及不同序列的一次累加序列后期增長(zhǎng)率具有差異性,若后期增長(zhǎng)率突變則擬合函數(shù)擬合效果較好,其預(yù)測(cè)效果反而可能較差;其二是旋轉(zhuǎn)夾角的取值直接影響后期預(yù)測(cè)精度,因不同建模方法所得夾角值具有差異性,故預(yù)測(cè)效果不同。 但是無(wú)論傳統(tǒng)模型還是改進(jìn)模型,采用時(shí)間響應(yīng)函數(shù)修正的方法進(jìn)行改進(jìn)后預(yù)測(cè)精度均有所提高。
本文針對(duì)GM(1,1)模型時(shí)間響應(yīng)函數(shù)與實(shí)測(cè)一次累加序列不完全重合的情況,從一次累加擬合殘差修正的角度,提出對(duì)單調(diào)曲線(xiàn)進(jìn)行平移旋轉(zhuǎn)以校正一次累加擬合函數(shù),從而使其靠近實(shí)測(cè)累加曲線(xiàn),并采用校正后的函數(shù)作為新的時(shí)間響應(yīng)函數(shù)進(jìn)行預(yù)測(cè),并將此方法推廣至改變序列光滑度和初始值等部分的改進(jìn)GM(1,1)模型。 采用實(shí)例對(duì)模型算法進(jìn)行驗(yàn)證,得到以下結(jié)論:①對(duì)模型進(jìn)行時(shí)間響應(yīng)函數(shù)修正后,其預(yù)測(cè)精度較改進(jìn)前提高;②采用后驗(yàn)差比值(C)以及小誤差概率(P)進(jìn)行預(yù)測(cè)模型選取存在不足;③修正模型依然繼承了GM(1,1)模型指數(shù)函數(shù)的凹曲線(xiàn)特性,因此適用于近似單調(diào)遞增凹序列,而對(duì)于近似線(xiàn)性、凸增長(zhǎng)、非單一趨勢(shì)及預(yù)測(cè)期突變數(shù)據(jù)序列,可能出現(xiàn)修正過(guò)量或修正較小的情況;④針對(duì)預(yù)測(cè)函數(shù)進(jìn)行變換修正的方法可以向其他以單一趨勢(shì)為前提的預(yù)測(cè)方法進(jìn)行推廣。