李存燕
(四川大學(xué)計算機學(xué)院,成都 610065)
分類數(shù)據(jù)是取值不連貫、沒有次序關(guān)系的數(shù)據(jù),屬于統(tǒng)計數(shù)據(jù)的一種,可以反映事物的類別,例如人屬于一種分類數(shù)據(jù),可以按照性別分為男、女兩類。對分類數(shù)據(jù)進行預(yù)處理,例如排序,聚類等可以改善可視化效果,用來確定相同屬性的相似之處和不同屬性之間的關(guān)系。
可視化技術(shù)對大型多維數(shù)據(jù)集的分析和探索變得越來越重要[1-2]。雖然大量的工作已經(jīng)解決了數(shù)字數(shù)據(jù)的可視化問題,但是許多領(lǐng)域都需要對大量的分類數(shù)據(jù)進行可視化。目前,研究者已經(jīng)針對多個領(lǐng)域的數(shù)據(jù)進行了可視化技術(shù)的研究。例如人口普查數(shù)據(jù)中的城市名稱和本文研究對象網(wǎng)絡(luò)管理數(shù)據(jù)中的告警名稱、產(chǎn)生告警設(shè)備編號等,只是與數(shù)值數(shù)據(jù)不同的是,分類值沒有順序。常用的可視化技術(shù)例如散點圖和平行坐標(biāo)圖等,分類值需要映射到坐標(biāo)軸上(例如產(chǎn)生告警設(shè)備編號),處理后按照一定規(guī)則排序的數(shù)據(jù)可以極大地提高可視化的質(zhì)量。
排序分類數(shù)據(jù)的算法分為三個步驟:
第一步,使分類數(shù)據(jù)形成自然聚類,這個階段需要使用領(lǐng)域知識進行分組,例如將接近同樣的時間發(fā)出相似事件的設(shè)備作為一組。這樣構(gòu)造的一個重要含義是使得一個分類值可能屬于多個分組。
第二步,給第一步發(fā)現(xiàn)的聚類排序。這應(yīng)該由最小化沖突,或者最大化的解決潛在沖突來完成。這個優(yōu)化問題能夠更進一步的轉(zhuǎn)化為一個圖形問題。例如聚類 C1 包含 D1,D3,D4,D5,D6 六個主機,C2 包含D1,D2,D3,D7 四個主機,C3 包含 D1,D4,D5,D8 四個主機,則C1和C2沖突的數(shù)量為2(D1,D3),C1和C3沖突的數(shù)量為3(D1,D4,D5),C2和C3沖突的數(shù)量為 1(D1)。如圖1所示,在這張圖中,節(jié)點代表聚類,權(quán)重說明聚類間潛在沖突的數(shù)量。聚類排序為了最大化的解決潛在沖突,找到一個路徑恰好遍歷每個節(jié)點并最大化遍歷弧的總和,是一樣的。這是一個Hamilton[3]路徑問題,一個完全NP問題,有很多啟發(fā)式的算法被用于解決這個問題,我們用一個簡單的貪心算法。
第三步,給每個聚類的主機排序。這是直接希望排序相鄰聚類的分類值來消除所有兩個聚類間的潛在的沖突。
算法的假設(shè)條件為:排序分類數(shù)據(jù)能夠改善可視化的效果,以至于能夠更好的研究分析大型、復(fù)雜的數(shù)據(jù)。
●算法輸入:一個告警數(shù)據(jù)(Excel)
●算法的主要步驟:
圖2 算法流程
●算法輸出:用來構(gòu)造Y軸的設(shè)備號的排序
●平行坐標(biāo)軸排序分類數(shù)據(jù)的算法主要思想
平行坐標(biāo)軸排序分類數(shù)據(jù)的算法的主要思想繼承了散點圖排序分類數(shù)據(jù)算法的主要思想。除了第一步不同外,兩個算法的思想跟步驟都基本相同。平行坐標(biāo)軸排序分類數(shù)據(jù)的第一步是把基于兩個值的關(guān)聯(lián)規(guī)則聚類成一個屬性。例如,A,B主機都發(fā)射了相同的事件類型,則A,B主機被聚為一類。這種方法一個主機也可能同時屬于多個聚類。
數(shù)據(jù)的可視化是展示實驗結(jié)果的最后一步,它負責(zé)呈現(xiàn)工作效果、是與客戶交流的關(guān)鍵[4]。為了銜接項目組成員在前面所做的工作,我們的任務(wù)是尋找合適的可視化工具,借此分別用散點圖和平行坐標(biāo)圖來展示原始數(shù)據(jù)與通過算法分組排序后的數(shù)據(jù)。
通過調(diào)研,發(fā)現(xiàn)大部分工具功能缺乏,例如魔方,無法進行平行坐標(biāo)圖的繪制;一部分工具例如raw只能支持在線進行可視化,無法滿足可視化要求;一部分工具比如iCharts,是需要腳本語言進行調(diào)用,將其嵌入到網(wǎng)站開發(fā)代碼中。通過比較,選擇Tableau和Xdat對實驗數(shù)據(jù)結(jié)果進行可視化。Tableau是用于畫散點圖的工具,十分靈活,可視化圖案美觀清晰,能夠自主調(diào)節(jié)X軸和Y軸順序。Xdat是用于畫平行坐標(biāo)圖的工具,它是個開源工具,使用簡單。缺點是不能自主調(diào)節(jié)X軸和Y軸順序。
散點圖和平行坐標(biāo)圖的可視化流程如圖3所示。
圖3 散點圖和平行坐標(biāo)圖的可視化流程
(1)實驗?zāi)繕?biāo)
驗證排序分類數(shù)據(jù)改善可視化效果。
(2)實驗對象(網(wǎng)絡(luò)和數(shù)據(jù)仿真)
實驗對象為根據(jù)數(shù)據(jù)描述制造的仿真數(shù)據(jù),部分數(shù)據(jù)如表1所示:
表1 部分仿真數(shù)據(jù)
(3)實驗預(yù)期結(jié)果
對仿真數(shù)據(jù)進行排序處理后的可視化效果明顯優(yōu)于未進行排序處理前的可視化效果,①找到某個屬性中相同值的分組;②找到不同屬性值之間的關(guān)系。
(4)實驗步驟設(shè)計
第一步,構(gòu)造分類值的自然聚類,實現(xiàn)步驟如下:
每臺設(shè)備需要配備3人及1臺運輸切縫用水三輪車,每天切縫80m,折合成本5.75元/m。通過對比分析節(jié)省總成本38.88萬元,速度快2.5倍。
①讀取Excel實驗數(shù)據(jù)
②按照時間段給數(shù)據(jù)分組,例如6秒內(nèi)的數(shù)據(jù)分為一個組
>一共有幾個分組(幾個節(jié)點)
>每個分組里面的主機號(重復(fù)的忽略)
>根據(jù)節(jié)點兩兩之間重復(fù)的主機號,確定權(quán)重
關(guān)鍵代碼如下:
//獲取指定的兩個參數(shù)之間的權(quán)重
③列出每個節(jié)點與其他每個節(jié)點的權(quán)重,輸出矩陣
利用Hamilton算法寫出程序,將矩陣輸入后得到聚類的排序
第三步,給每個聚類內(nèi)部的主機排序[5],希望可以消除兩個聚類間的潛在沖突,實現(xiàn)步驟如下:
h1,h2為自然聚類得到的分組 a1,2為h1,h2中相同主機號的集合
a)對h1-a1,2中的值進行排序,使其序列處于h2中這些對應(yīng)值之前
b)對h2-a1,2中的絕對值值進行排序,使其序列處于h2中對應(yīng)值之后
c)在h2-a1,2和h1-a1,2之間選定a1,2的位置
d)用h2-a1,2和h1-a1,2,絕對值循環(huán)排列
關(guān)鍵代碼如下:
(5)實驗中間結(jié)果展示
經(jīng)過編碼測試,排序分類數(shù)據(jù)的結(jié)果如下圖所示:
第一步,分類值自然聚類的實驗結(jié)果如圖4所示:
圖4 分類值得自然聚類結(jié)果
第二步,給第一步得到的自然聚類排序的結(jié)果如圖5所示:
圖5 對自然聚類排序的結(jié)果
第三步:給每個聚類內(nèi)部的主機排序的結(jié)果如圖6所示:
圖6 聚類內(nèi)部的主機排序的結(jié)果
(6)可視化效果
對分類數(shù)據(jù)排好序后,使用畫散點圖的工具Tab?leau,按照分類結(jié)果調(diào)節(jié)Y軸,然后倒入仿真數(shù)據(jù)得到可視化結(jié)果,如下圖所示:
●散點圖繪制實例如圖7和8所示。
圖7 排序前的可視化圖
觀察實驗得到的排序前后的可視化效果圖,發(fā)現(xiàn)經(jīng)過處理后平行坐標(biāo)軸的可視化效果更佳,達到了預(yù)期找到不同屬性值之間的關(guān)系的效果。從圖9處理后的平行坐標(biāo)軸可視化圖可以明顯觀察到大多數(shù)other類的告警都是由設(shè)備D1產(chǎn)生的,error7_alarm3到er?ror7_alarm48的告警基本都是由設(shè)備D9產(chǎn)生的等,該結(jié)果可用于告警預(yù)測,或者當(dāng)網(wǎng)絡(luò)發(fā)生告警時進行根因分析、定位等。
圖8 排序后的可視化圖
●平行坐標(biāo)軸繪制實例如圖9所示:
圖9 處理前的可視化圖
圖10 處理后的可視化圖
散點圖的可視化效果改善不夠明顯,分析有如下原因:①實驗使用的是根據(jù)數(shù)據(jù)描述制造的仿真數(shù)據(jù),數(shù)據(jù)本身相當(dāng)于經(jīng)過了預(yù)處理后的數(shù)據(jù),所示實驗結(jié)果不理想;②實驗數(shù)據(jù)量太少,改善效果不夠明顯。下一步考慮采取增大數(shù)據(jù)量或者采用真實數(shù)據(jù)等方法,以期獲得更優(yōu)的實驗效果。
參考文獻:
[1]Ahlberg C,Wistrand E.IVEE:an Information Visualization and Exploration Environment[M].CiteSeer,1995.
[2]Ankerst M,Berchtold S,Keim D A.Similarity Clustering of Dimensions for an Enhanced Visualization of Multidimensional Data[C].Information Visualization,1998.Proceedings.IEEE Symposium on.IEEE,1998:52-60,153.
[3]蔡延光,張新政,錢積新,孫優(yōu)賢.邊賦權(quán)森林ω-路劃分的 O(n)算法[J].軟件學(xué)報,2003(05):897-903.
[4]沈漢威,張小龍,陳為,袁曉如,王文成.可視化及可視分析專題前言[J].軟件學(xué)報,2016,27(05):1059-1060.
[5]Ma S,Hellerstein J L.Ordering Categorical Data to Improve Visualization[J].Proceedings of the IEEE Information Visualization Symposium Late Breaking Hot Topics,1999.