蘇鵬,李晉宏
(北方工業(yè)大學(xué)信息學(xué)院,北京 100144)
灰色關(guān)聯(lián)分析是一種計(jì)算多個(gè)序列對(duì)目標(biāo)序列接近程度或叫關(guān)聯(lián)程度的算法模型,其屬于灰色理論的一個(gè)重要分支。關(guān)聯(lián)分析與分類和回歸分析等都屬于機(jī)器學(xué)習(xí)方法[1-2]?;疑P(guān)聯(lián)分析是鄧聚龍教授[3]所提出,自此提出后灰色關(guān)聯(lián)分析等相關(guān)的灰色理論在社會(huì)生產(chǎn),資源利用,軍事評(píng)估等方面發(fā)揮著越來越重要的作用[4,5]?;疑P(guān)聯(lián)分析是指對(duì)一個(gè)系統(tǒng)發(fā)展變化態(tài)勢(shì)的定量描述和比較的方法,其基本思想是根據(jù)各因素變化曲線幾何形狀的相似程度,來判斷因素之間關(guān)聯(lián)程度的方法。此方法通過對(duì)動(dòng)態(tài)過程發(fā)展態(tài)勢(shì)的量化分析,完成對(duì)系統(tǒng)內(nèi)序列有關(guān)統(tǒng)計(jì)數(shù)據(jù)幾何關(guān)系的比較,求出參考數(shù)列與各比較數(shù)列之間的灰色關(guān)聯(lián)度。與參考數(shù)列關(guān)聯(lián)度越大的比較數(shù)列,其發(fā)展方向和速率與參考數(shù)列越接近,與參考數(shù)列的關(guān)系越緊密[6]。
在灰色關(guān)聯(lián)分析的基本步驟中,計(jì)算關(guān)聯(lián)系數(shù)時(shí),涉及到一個(gè)分辨系數(shù)ρ。這個(gè)分辨系數(shù)在鄧聚龍教授所發(fā)表的論文中描述為:“分辨系數(shù)的取值范圍為(0,1),通常取0.5”[7]。這個(gè)分辨系數(shù),并沒有一個(gè)量化標(biāo)準(zhǔn),無論在怎樣的模型中,無論模型設(shè)計(jì)如何,這個(gè)分辨系數(shù)ρ都是0.5。就其理論而言,這個(gè)分辨系數(shù)是來調(diào)節(jié)兩個(gè)序列在每個(gè)點(diǎn)位的關(guān)聯(lián)系數(shù)大小,從而影響最終兩個(gè)序列間的關(guān)聯(lián)度大小,并可以調(diào)節(jié)各個(gè)參考序列間關(guān)聯(lián)度的區(qū)分度。在近些年,很多人針對(duì)這個(gè)分辨系數(shù)有過研究:呂鋒[8]認(rèn)為觀測(cè)序列平穩(wěn)與否影響ρ值的大??;東亞斌等[9]分析了分辨系數(shù)對(duì)關(guān)聯(lián)度的影響,認(rèn)為當(dāng)序列波動(dòng)大時(shí)ρ應(yīng)該取較小值,當(dāng)序列平穩(wěn)時(shí)ρ應(yīng)該取較大值。這些研究者從算法模型和數(shù)據(jù)序列出發(fā),做出了較好的分析和結(jié)論,并給出了ρ的范圍判斷。錢隼馳和仇蕾[10]提出了數(shù)學(xué)推導(dǎo)的方式對(duì)ρ進(jìn)行定量取值,來增大關(guān)聯(lián)度之間的分辨率,他們給出了ρ值的量化計(jì)算方法,但過程和邏輯復(fù)雜,且主要針對(duì)只有兩個(gè)序列情況排序,對(duì)多序列排序復(fù)雜度高且可能有平衡性問題。同樣對(duì)此問題,本文給出了一個(gè)可量化的基于三角模糊數(shù)的動(dòng)態(tài)分辨系數(shù)算法。
輸入:參考序列Y={Y(k)|k=1,2,...n};比較序列Xi={Xi(k)|k=1,2,...n},i=1,2,...m。
輸出:比較序列對(duì)參考序列的關(guān)聯(lián)度排序。
步驟1:確定參考序列和比較序列。參考序列是目標(biāo)序列,比較序列是可能對(duì)參考序列有影響的參數(shù)組成的序列。
步驟2:變量的無量綱化。由于系統(tǒng)中多個(gè)因素中的數(shù)據(jù)可能量綱不同,放在一起比較會(huì)有較大誤差,因此用以下公式做數(shù)據(jù)無量綱化處理,無量綱化處理同時(shí)也完成了歸一化:
正向歸一化:
負(fù)向歸一化:
還有其他歸一化方式:
步驟3:計(jì)算絕對(duì)差
步驟4:計(jì)算關(guān)聯(lián)系數(shù)
步驟5:計(jì)算關(guān)聯(lián)度。根據(jù)計(jì)算出來的關(guān)聯(lián)系數(shù)計(jì)算每個(gè)比較序列x的關(guān)聯(lián)度
步驟6:關(guān)聯(lián)度排序。將計(jì)算出來的m個(gè)關(guān)聯(lián)度按大小排序,關(guān)聯(lián)度越大代表這個(gè)x序列對(duì)原始目標(biāo)序列y影響越大。
針對(duì)這個(gè)問題,我們依據(jù)灰色關(guān)聯(lián)分析的幾何意義,結(jié)合三角模糊函數(shù),給出了分辨系數(shù)ρ的量化算法。
首先,我們知道灰色關(guān)聯(lián)的基本思想是,微觀上用序列的每個(gè)數(shù)據(jù)點(diǎn)在二維坐標(biāo)縱軸上的接近程度來描繪它們之間的聯(lián)系,進(jìn)而在宏觀上根據(jù)序列幾何形狀的相似度來判斷不同序列之間的關(guān)聯(lián)度,兩條曲線的形狀越相似,它們的關(guān)聯(lián)度就越大。
由理論得到的是計(jì)算灰色關(guān)聯(lián)度的六個(gè)計(jì)算步驟。我們根據(jù)灰色關(guān)聯(lián)的基本思想結(jié)合鄧聚龍教授給出的計(jì)算步驟,可知:此算法的核心點(diǎn)在于:計(jì)算序列數(shù)據(jù)點(diǎn)的絕對(duì)差。絕對(duì)差計(jì)算的是兩條序列上各個(gè)數(shù)據(jù)點(diǎn)的差值。它代表了基本思想中“數(shù)據(jù)在二維坐標(biāo)縱軸上的接近程度”,這也是描繪兩條序列近似與否的關(guān)鍵。
針對(duì)絕對(duì)差,它反應(yīng)兩個(gè)序列的近似程度,即絕對(duì)差越小,此處關(guān)聯(lián)系數(shù)應(yīng)該越大。因此,本文瞄準(zhǔn)序列的絕對(duì)差,根據(jù)絕對(duì)差動(dòng)態(tài)調(diào)整分辨系數(shù)ρ。
則(5)式所計(jì)算的關(guān)聯(lián)系數(shù)為真分?jǐn)?shù),又因?yàn)檎娣謹(jǐn)?shù)分子分母同時(shí)增大一個(gè)相同的值,這個(gè)真分?jǐn)?shù)也會(huì)變大,得關(guān)聯(lián)系數(shù)和分辨系數(shù)正相關(guān)。
綜上,得到兩個(gè)理論:
(1)絕對(duì)差越小,則我們應(yīng)該讓關(guān)聯(lián)系數(shù)越大;
(2)實(shí)際計(jì)算時(shí),分辨系數(shù)可以調(diào)節(jié)關(guān)聯(lián)系數(shù),且分辨系數(shù)越大,關(guān)聯(lián)系數(shù)越大。
所以,本文根據(jù)絕對(duì)差結(jié)合模糊三角函數(shù),設(shè)計(jì)了一套動(dòng)態(tài)計(jì)算分辨系數(shù)的算法。
三角模糊數(shù)源自“模糊數(shù)學(xué)”,模糊數(shù)學(xué)又稱Fuzzy數(shù)學(xué),是研究和處理模糊性現(xiàn)象的一種數(shù)學(xué)理論和方法。模糊數(shù)學(xué)中常用的模型包括三角模糊數(shù)和梯形模糊數(shù)等,本算法所用的是三角模糊數(shù)[13]。
三角模糊數(shù),對(duì)應(yīng)二維坐標(biāo)上的一個(gè)三角形函數(shù),如下圖:
圖1 三角模糊數(shù)圖
其隸屬度被表達(dá)如下:
根據(jù)之前得到的理論,我們需要得到一個(gè)隨著絕對(duì)差變大,分辨系數(shù)變小的函數(shù),在此結(jié)合三角模糊數(shù),對(duì)分辨系數(shù)做改進(jìn)。對(duì)這種方式本文設(shè)計(jì)了如下基于三角模糊數(shù)的分辨系數(shù)計(jì)算方式:首先根據(jù)絕對(duì)差跟分辨系數(shù)的取值范圍和關(guān)系構(gòu)造以下三角模糊數(shù):
圖2 自定義的三角模糊數(shù)圖
表1 原始數(shù)據(jù)序列
計(jì)算步驟及結(jié)果如下:
表2 絕對(duì)差
根據(jù)絕對(duì)差計(jì)算每個(gè)分辨系數(shù)ρ,見表3:
表3 動(dòng)態(tài)計(jì)算的分辨系數(shù)ρ值
關(guān)聯(lián)度計(jì)算,結(jié)果如表4:
表4 關(guān)聯(lián)度結(jié)果表
其中,Ρ=0.5,對(duì)應(yīng)傳統(tǒng)算法得到的關(guān)聯(lián)度;ρ=0.458,是文獻(xiàn)[8]優(yōu)化得到的ρ值,這行數(shù)據(jù)對(duì)應(yīng)文獻(xiàn)[8]優(yōu)化后得到的關(guān)聯(lián)度;動(dòng)態(tài)ρ,對(duì)應(yīng)本文算法得到的關(guān)聯(lián)度;而文獻(xiàn)[10]是計(jì)算兩個(gè)序列的關(guān)聯(lián)度,不容易展示五個(gè)關(guān)聯(lián)度,此處未展示。
與文獻(xiàn)[10]結(jié)果對(duì)比,見下表:
因?yàn)槲墨I(xiàn)[10]主要針對(duì)兩序列計(jì)算關(guān)聯(lián)度,所以在他的論文中主要比較了一些特殊序列的關(guān)聯(lián)度差值,即上表中五個(gè)差值。本文沿用這五處點(diǎn)位以方便對(duì)比結(jié)果,因?yàn)閿?shù)值進(jìn)位不同,計(jì)算時(shí)小數(shù)第三位可能略有差異。此表,第2至第6列,是列舉的五處關(guān)聯(lián)度差值,第2至第5行分別代表傳統(tǒng)灰關(guān)聯(lián),文獻(xiàn)[8]優(yōu)化的灰關(guān)聯(lián),文獻(xiàn)[10]優(yōu)化的灰關(guān)聯(lián)和本文優(yōu)化的灰關(guān)聯(lián)。
另外,根據(jù)表5可以看出,傳統(tǒng)ρ=0.5的灰關(guān)聯(lián)計(jì)算得到的五個(gè)關(guān)聯(lián)度都很大,主次區(qū)分不明確。我們用最大關(guān)聯(lián)度減去最小關(guān)聯(lián)度的值,來衡量區(qū)分度強(qiáng)弱。結(jié)果為:ρ=0.5時(shí),即傳統(tǒng)灰關(guān)聯(lián),差值為0.212;ρ=0.458,即文獻(xiàn)[8]優(yōu)化的灰關(guān)聯(lián),差值為0.216;動(dòng)態(tài)ρ,即本文優(yōu)化的灰關(guān)聯(lián),差值為0.335??梢园l(fā)現(xiàn),本文的算法能更好的提升各個(gè)序列關(guān)聯(lián)度的差異,從而擴(kuò)大區(qū)分度,提高分辨率。
表5 結(jié)果對(duì)比
針對(duì)在實(shí)際使用中發(fā)現(xiàn)灰色關(guān)聯(lián)分析分辨率低的問題,本文從理論出發(fā)結(jié)合計(jì)算公式,設(shè)計(jì)了動(dòng)態(tài)分辨系數(shù)算法。本文探索結(jié)果總結(jié)如下:
(1)計(jì)算關(guān)聯(lián)系數(shù)時(shí),無論在理論上還是計(jì)算公式上,絕對(duì)差都發(fā)揮重要作用。
(2)本文根據(jù)絕對(duì)差和分辨系數(shù)的關(guān)系,設(shè)計(jì)了基于三角模糊數(shù)的動(dòng)態(tài)分辨系數(shù)算法。在實(shí)際數(shù)據(jù)序列中絕對(duì)差越小的地方,則計(jì)算得到的分辨系數(shù)越大,最終得到的關(guān)聯(lián)度也越大;反之則同理越小。
(3)本文設(shè)計(jì)的算法跟以往優(yōu)化分辨系數(shù)的算法相比,用他們的比較方法,算出的分辨率完全勝過之前算法的結(jié)果。