張 迪,楊 沛,鄧鑫波,趙千川
1.蘭州理工大學 計算機與通信學院,蘭州730050
2.北京數(shù)字觀星科技有限公司 流影團隊,北京100080
3.清華大學 自動化系,北京100084
面向高維多元數(shù)據(jù)集的維度相關性探索,可以很好地幫助用戶發(fā)現(xiàn)隱藏的模式和規(guī)律,長期以來備受重視[1-2]。高維數(shù)據(jù)維度相關性探索,其流程通常是先進行數(shù)據(jù)預處理,然后根據(jù)預處理結果挑選一些數(shù)據(jù)維度作為分析路徑,接著使用統(tǒng)計學方法沿路徑探索數(shù)據(jù)維度之間的關聯(lián)關系[3]。可視化技術作為人與數(shù)據(jù)之間的橋梁,在整個流程中均可作為強有力的分析工具。例如通過繪制二維數(shù)據(jù)的散點圖,可直觀地判斷這兩個數(shù)據(jù)維度之間存在何種相關關系,但是高維多元數(shù)據(jù)會產(chǎn)生維數(shù)災難問題[4]。如何處理有限的顯示空間和計算力與大量數(shù)據(jù)維度之間的矛盾,是高維數(shù)據(jù)可視化的核心問題。
在最近的研究中,加強高維數(shù)據(jù)可視化的策略主要分為三大類:(1)使用數(shù)據(jù)精簡技術[5],包括模型擬合、降維、過濾/采樣以及分組聚合方法,將高維數(shù)據(jù)精簡為更易處理的衍生數(shù)據(jù);(2)針對高維特性設計的可視化呈現(xiàn)方法[6],如平行坐標系、像素圖、臉譜圖等;(3)協(xié)調關聯(lián)多視圖方法[7],將不同種類的視圖結合起來,其中每個視圖顯示有限的數(shù)據(jù),并輔助以各類交互方法幫助用戶分析。在實際應用中,經(jīng)常依據(jù)此三類策略組成復合方案,幫助用戶探索高維數(shù)據(jù)集。
基于以上要點,本文提出了用于探索高維數(shù)據(jù)集維度相關性的可視分析原型系統(tǒng)ASExplorer。該系統(tǒng)針對高維數(shù)據(jù)維度相關性的探索流程中的一些重要挑戰(zhàn)進行了改進。首先,ASExplorer系統(tǒng)采用了基于聯(lián)合熵的算法評價數(shù)據(jù)維度的重要性,以便在用戶缺乏先驗知識的情況下,輔助用戶精簡數(shù)據(jù)集和挑選分析路徑。其次,設計了以采樣尺度為中心的交互探索方法,該方法基于協(xié)調關聯(lián)多視圖策略,以分析路徑上的采樣尺度為自變量,計算每個數(shù)據(jù)維度的變化情況,并將這種變化繪制成迷你圖。每個數(shù)據(jù)維度對應的迷你圖(Sparkline)以郵貼圖(Small Multiple)的方式擺放為矩陣的形態(tài),并且可以通過曲線相似度進行排序。用戶通過該方法可以同時探索分析路徑與幾十上百個相關數(shù)據(jù)維度之間的關系。本文的貢獻主要有:
(1)提出了一種基于聯(lián)合熵的維度重要性評價算法。該算法可以在缺少先驗知識的情況下幫助用戶精簡數(shù)據(jù)和挑選作為分析路徑的數(shù)據(jù)維度。
(2)提出了以采樣尺度為中心的交互探索方法,該方法基于協(xié)調關聯(lián)多視圖策略,可以同時探索多個數(shù)據(jù)維度在分析路徑的采樣尺度變化時的關聯(lián)關系,并在探索過程中保持數(shù)據(jù)的原始特征。
(3)基于以上兩點開發(fā)了名為ASExplorer的可視分析原型系統(tǒng),優(yōu)化了系統(tǒng)易用性,用戶可以通過刷選和排序等簡單直觀的交互操作,實現(xiàn)多維對比分析和假設驗證。
(4)通過實例分析和用戶研究證實了系統(tǒng)的有效性。
為了緩解高維數(shù)據(jù)可視化面臨的維數(shù)災難問題,研究人員主要遵循三類方法:其一是在數(shù)據(jù)層面上進行數(shù)據(jù)縮減;其二是在顯示層面的視覺優(yōu)化;其三是使用交互技術進行擴展。
數(shù)據(jù)精簡技術是將大規(guī)模數(shù)據(jù)精簡為更小、更容易處理的衍生數(shù)據(jù)。可視化領域中常用的數(shù)據(jù)精簡技術包括模型擬合、降維、過濾/采樣以及分組聚合。
模型擬合是統(tǒng)計學的基本方法,即使用數(shù)學模型或統(tǒng)計摘要來描述數(shù)據(jù)。例如,學生成績可以使用正態(tài)分布擬合,時序數(shù)據(jù)可以使用自回歸模型擬合。模型擬合作為一種基本方法,它更多的會與過濾/采樣、降維、分組聚合等其他方法結合使用。例如,Kairam等人[8]結合模型擬合與分組聚合技術,以便用直方圖可視化網(wǎng)絡統(tǒng)計數(shù)據(jù)。
通過線性或非線性變換將多維數(shù)據(jù)投影或嵌入到低維空間(通常為二維或三維),并盡可能保持數(shù)據(jù)的原始特征,這種策略稱為降維。代表性方法包括PCA、LLE、MDS、T-SNE、LargeVis 等[9]。降維有兩個特點:首先,根據(jù)投影/嵌入方法的不同,最后得到的降維結果可能大相徑庭;其次,降維過程會導致數(shù)據(jù)特征發(fā)生根本性的變化,即使新的子空間特征會反映出數(shù)據(jù)集的一些原始特征。與之相反,過濾/采樣不會更改數(shù)據(jù)集的原始特征,而只會查找子集。
過濾/采樣,是按照某種規(guī)則,在原始數(shù)據(jù)集中選擇子集,以滿足進一步處理的要求。這種方法在保留數(shù)據(jù)的原始特征方面更為有效。常用的采樣方法包括簡單隨機采樣、系統(tǒng)采樣(等距采樣)和分層采樣[10]。本文所重點討論的分析方法:選擇一些數(shù)據(jù)維度作為分析路徑來探索維度間的關聯(lián)關系,也是一種過濾策略。但是過濾/采樣也有風險:選擇的子集可能不具有代表性或者遺漏重要的特征或異常值。因此,采用過濾/采樣策略精簡數(shù)據(jù)時往往需要先驗知識進行判斷。在缺乏先驗知識的情況下,過濾數(shù)據(jù)維度的方法較為缺乏[11]。ASExplorer 采用了基于聯(lián)合熵的維度重要性評價算法來解決這一問題,在本文第3章中將具體講述。
分組聚合是對數(shù)據(jù)集進行分組的技術,通過計算落在每個預定義分組內樣本的數(shù)量,從而將針對每個數(shù)據(jù)樣本的考察,簡化為對分組的考察。在分組聚合過程中,可以定義嵌套的、不均勻的分組規(guī)則,從而依據(jù)多種采樣粒度構建層次結構的分組聚合結果。例如,時序數(shù)據(jù)就常以小時、日、月、年等嵌套的、不均勻的時間粒度構建分層模型[12]。分組聚合的優(yōu)點在于它同時保留了全局模式(例如密度)和局部特征(例如異常值),并且允許選擇不同的分組大小建立多個分組粒度等級[13]。在ASExplorer系統(tǒng)中,為了計算聯(lián)合熵以及探索在不同采樣尺度下各個數(shù)據(jù)維度的相關性,使用分組聚合方法預處理數(shù)據(jù)。
高維數(shù)據(jù)可視化最具挑戰(zhàn)性的部分是如何在有限的顯示面積內盡可能多的顯示數(shù)據(jù)維度,同時避免混淆。為此,研究人員開發(fā)了針對高維數(shù)據(jù)設計的多維映射方案,Keim 和Krigel[14]將其分為如下類別:幾何投影方案、基于圖標的方案、面向像素的方案和混合方案。其中一些方案已經(jīng)被廣泛使用,如散點圖矩陣[15]、平行坐標[16]、顏色圖標[17]、Chernoff 臉譜圖[18]和像素條形圖[19]等。雖然相對于傳統(tǒng)設計,這些方案對高維數(shù)據(jù)的表現(xiàn)力已有大幅提升,但可以有效識別的數(shù)據(jù)依然是有限的。因此,在實際應用場景中高維映射多與交互式方法和數(shù)據(jù)精簡技術結合使用[14]。在ASExplorer系統(tǒng)中,使用了平行坐標[17]和郵貼圖[20]顯示高維多元數(shù)據(jù)。
分而治之是計算機圖形學和可視化領域的標準方法。從視覺呈現(xiàn)角度進行維度切割,是多維高元數(shù)據(jù)可視化的一種直觀有效的策略。協(xié)調關聯(lián)多視圖是這一策略的典型應用,它將多個視圖/窗口結合起來,其中每個視圖顯示有限維的數(shù)據(jù)以降低復雜性。該技術廣泛應用于商業(yè)智能、地理信息系統(tǒng)、科學計算可視化等領域。協(xié)調關聯(lián)多視圖技術中交互是重要的組成部分,可以保持多視圖之間的數(shù)據(jù)聯(lián)動,幫助用戶簡化和過濾原始數(shù)據(jù)和避免數(shù)據(jù)過載。同時,交互過程本身亦可幫助參與者建立心智模型[21]。
使用基于協(xié)調關聯(lián)多視圖的交互方法,從采樣尺度變化的角度探索維度相關性已有先例。如Butkiewicz[22]在可變的地理范圍上進行選擇,然后通過動畫比較多個數(shù)據(jù)維度的變化趨勢。Ferreira 等人[23]利用地理交互查詢方法對時空數(shù)據(jù)進行關聯(lián)和對比。Turkey 等人[24]定義了一種名為屬性簽名的方法,引入了三種地理采樣尺度的連續(xù)變化規(guī)則,實現(xiàn)地理上的連續(xù)過濾,然后進行多維數(shù)據(jù)的比較分析。ASExplorer 系統(tǒng)將這種策略擴展到時間和普通數(shù)據(jù)維度上,然后采用協(xié)調關聯(lián)多視圖的方法進行過濾和比較,從而在更廣闊的維度空間進行相關性探索。
在缺乏先驗知識的條件下,篩選出最具有代表性的數(shù)據(jù)維度作為“分析路徑”,關鍵在于數(shù)據(jù)維度的挑選標準。一個可行方案是采用信息論作為指導。在近期研究中,有利用多變量的互信息作為減少冗余和最大化相關性的評判標準[25]。Potter等人[26]進一步對數(shù)據(jù)不確定性的來源進行了廣泛調查,并提供可視化結果以便在不同維度上進行分析。Hazarika等人[27]在近期研究中提出了一種基于條件熵的算法,以量化所選擇維度對整個數(shù)據(jù)集不確定性的貢獻[28]。在ASExplorer系統(tǒng)中,應用了一種基于聯(lián)合熵的數(shù)據(jù)維度重要性評價算法,可以為單個維度對于整體不確定性的貢獻進行定量計算,從而幫助用戶從大規(guī)模數(shù)據(jù)集中選擇子集。
設一個具有N個維度和K個樣本構成的數(shù)據(jù)集,其結構即N×K階矩陣。信息論測度應用于N×K階矩陣,將之視為N個隨機變量。然而,僅僅計算每個隨機變量的不確定性即信息熵,并不能確定該隨機變量對整個數(shù)據(jù)集不確定性的貢獻。因為隨機變量之間可能存在較大的信息重疊,這意味著并不是每個數(shù)據(jù)維度都對整個數(shù)據(jù)集的不確定性有同等的貢獻。所以評價數(shù)據(jù)維度的代表性不能簡單地使用信息熵。
在信息論中,聯(lián)合熵H(X1,X2,…,Xn)量化了由一組隨機變量X1,X2,…,Xn組成的系統(tǒng)的不確定性總量。為了計算其中單一變量Xn對于系統(tǒng)不確定性作出的貢獻,可以計算所有變量的聯(lián)合熵與去掉Xn后剩余變量的聯(lián)合熵之差D(Xn)得到:
其中,D(Xn)量化了變量Xn對變量系統(tǒng)整體不確定性的貢獻。在公式(1)中出現(xiàn)的H(X1,X2,…,Xn)即變量X1,X2,…,Xn的聯(lián)合熵,可使用如下公式進行計算:
其中p(x1,x2,…,xn)是變量X1,X2,…,Xn的聯(lián)合概率密度,可以通過構建聯(lián)合直方圖來計算。然而當變量數(shù)量很多時,構建聯(lián)合直方圖所消耗的存儲空間和計算量會呈指數(shù)上升。Lu等人[29]利用聯(lián)合直方圖的稀疏性,提出了一種聯(lián)合直方圖的緊湊存儲方法,同時能大大提升計算效率。在ASExplorer系統(tǒng)中,使用了此方法來創(chuàng)建聯(lián)合直方圖并計算聯(lián)合熵差值D(Xn),作為衡量維度Xn代表性的一個評價標準,以便在缺乏先驗知識時幫助用戶過濾數(shù)據(jù)維度。
圖1 數(shù)據(jù)維度過濾界面
在使用基于聯(lián)合熵的維度重要性評價算法預處理數(shù)據(jù)后,為了便于用戶過濾數(shù)據(jù)維度和挑選分析路徑,ASExplorer系統(tǒng)基于協(xié)調關聯(lián)多視圖的策略,設計了如圖1所示的數(shù)據(jù)維度過濾界面。該界面包括四個部分:數(shù)據(jù)維度不確定性貢獻曲線,如圖1 中的A 所示;數(shù)據(jù)集概覽平行坐標系,如圖1 中的B 所示;顯示當前所選數(shù)據(jù)維度的不確定性占整個數(shù)據(jù)集不確定性總量的環(huán)形圖,如圖1中的C所示;顯示當前所選數(shù)據(jù)維度列表,如圖1中的D所示。其中核心是圖1中的A所示數(shù)據(jù)維度不確定性貢獻曲線,該設計參考了文獻[30]的案例,其橫軸表示數(shù)據(jù)維度Xi,其縱軸表示對應的聯(lián)合熵差值D(Xi)的累加值。需要說明的是,各個數(shù)據(jù)維度按照其聯(lián)合熵差值的大小在橫軸上從左到右進行排列,故而繪制出的聯(lián)合熵差值的累加曲線呈逐漸收斂模式。這樣做是為了便于用戶通過選擇框選中聯(lián)合熵差值最大的數(shù)據(jù)維度。當用戶在圖1的A中框選數(shù)據(jù)維度后,其他3 個視圖將顯示對應的信息。在圖1 所示案例中,用戶已選中了聯(lián)合熵差值最大的前20個數(shù)據(jù)維度(如圖1中的D 所示),占全部35 個數(shù)據(jù)維度的57%,但是這20個數(shù)據(jù)維度所代表的信息量已相當于整個數(shù)據(jù)集信息量的96.6%(如圖1 中的C 所示),幾乎與整個數(shù)據(jù)集的信息總量相同。在此種情況下,系統(tǒng)將建議用戶以當前選中的20 個數(shù)據(jù)維度作為過濾結果,在其中挑選分析路徑,以進一步分析。
在數(shù)據(jù)精簡和確定分析路徑之后,設計可視分析機制以同時探索多個數(shù)據(jù)維度的相關性,依然是具有挑戰(zhàn)性的工作。受到數(shù)據(jù)局部性特征[31]和Turkey 等人[24]屬性簽名工作的啟發(fā),ASExplorer系統(tǒng)設計了一種以采樣尺度為中心的交互探索方法,用戶可以在地理維度上指定采樣尺度的連續(xù)變化,實現(xiàn)對整個數(shù)據(jù)集過濾。ASExplorer系統(tǒng)擴展了屬性簽名方案,使之不僅可以用于地理空間的上多維分析,也可以用于時間維度、普通數(shù)據(jù)維度的多維分析。
正如地理學第一法則[32]所描述的那樣,“所有事物都與其他事物相關,相鄰的事物尤其如此”。在考察遵循重力模型的數(shù)據(jù)集合中蘊含的關聯(lián)關系時,數(shù)據(jù)采樣時尺度起到了關鍵作用。例如房價水平高度依賴于數(shù)據(jù)采樣時的時間和空間尺度[33]。通過可視化及交互技術,理解數(shù)據(jù)維度在采樣尺度變化時的變化規(guī)律和相關性,是ASExplorer系統(tǒng)設計時的主要目標。
采樣尺度包含三要素:采樣位置、采樣范圍和采樣粒度。此三要素的具體定義,與作為采樣分析路徑的數(shù)據(jù)維度有關。若分析路徑為單一時間軸,則采樣位置對應瞬時點(Time Instant),即時間軸上單一錨點,其單位可以是任意指定的時間粒度;采樣范圍對應時間間隔(Time Interval),即由開始和終結兩個瞬時點標識的一段連續(xù)時間;采樣粒度對應時間粒度(Time Granularities),如秒、分鐘、小時、日、周、月、年等,這些時間粒度最初來自于歷法系統(tǒng),Bettin 等人[34]給出了形式化的定義。若分析路徑為地理空間維度,則通常由經(jīng)度緯度兩個子維度來定義。此時,采樣位置對應空間位置(Spatial Location),即二維地理平面上的一個測量點;采樣范圍對應空間范圍(Spatial Span),即圍繞觀察位置的一片地理區(qū)域[35];采樣粒度對應空間精度(Spatial Resolution),指正在觀察的地理位置所包含的細節(jié)數(shù)量,在社會生活中常用行政區(qū)域的級別(如省、市、縣)或地圖分辨率來劃分地理相關數(shù)據(jù)的采樣精度等級。
但是對于普通數(shù)據(jù)維度,缺乏像時間或空間維度那樣約定俗成的采樣粒度。對此,ASExplorer系統(tǒng)采用數(shù)據(jù)分組聚合的方式,在普通數(shù)據(jù)維度建立多層級的采樣粒度。例如,對于年齡這一數(shù)值型維度,可以劃分為三級采樣粒度:在第一級采樣粒度下不分組;在第二級采樣粒度下劃分為兒童(0~12 歲)、少年(12~18 歲)、青年(18~35歲)、中年(35~65歲)、老年(65歲+)共5個分組;在第三級采樣粒度下劃分為未成年人(0~18 歲)、成年人(18 歲+)共2 個分組。經(jīng)此處理后,采樣位置對應著分組位置,參考單位為當前分組粒度;采樣范圍對應著分組范圍,由開始分組和結束分組唯一確定;采樣粒度即當前分組粒度??紤]到在數(shù)據(jù)預處理時對每個普通數(shù)據(jù)維度都人為指定采樣粒度工作量過大,ASExplorer系統(tǒng)在默認情況下遵照直方圖的方式平均劃分分組和三級粒度層級。由于在基于聯(lián)合熵的維度重要性評價算法中,已經(jīng)為了計算聯(lián)合熵而在數(shù)據(jù)預處理階段構建了緊湊存儲的聯(lián)合直方圖,所以采用默認的平均分組策略時并不需要進行額外的計算,直接使用緊湊存儲的聯(lián)合直方圖即可計算分組位置、分組范圍和分組粒度。最終,在任意數(shù)據(jù)維度上采樣尺度的計算得到了統(tǒng)一描述,如表1所示。
表1 采樣尺度在時間、空間、普通數(shù)據(jù)維度上的概念描述
在ASExplorer系統(tǒng)中,以此采樣尺度的統(tǒng)一表述為基礎,即可選取任意數(shù)據(jù)維度為分析路徑,探索采樣尺度變化下各數(shù)據(jù)維度相關性。為具體探索過程設計了數(shù)據(jù)維度相關性分析界面,如圖2所示。該界面從左到右分為3個子區(qū)域:數(shù)據(jù)維度列表(圖2中的A所示)、數(shù)據(jù)分布界面(圖2 中的B 所示)和屬性簽名郵貼圖(圖2中的C所示)。
首先用戶從數(shù)據(jù)維度列表中選取作為分析路徑的數(shù)據(jù)維度。在數(shù)據(jù)維度列表中,顯示了每個數(shù)據(jù)維度名稱、類型和聯(lián)合熵差值D(Xi)。其中數(shù)據(jù)維度的類型由每行的背景色做映射,綠色代表普通數(shù)據(jù)維度,黃色代表地理維度,紅色代表時間維度。聯(lián)合熵差值以迷你柱形圖的方式顯示,并且列表可以按照聯(lián)合熵差值進行排序,圖2中的A所示即為排序后的結果。用戶可以在數(shù)據(jù)維度列表中選取至多兩個感興趣的數(shù)據(jù)維度作為分析路徑。當分析路徑是經(jīng)緯度,數(shù)據(jù)分布界面顯示地圖;分析路徑是時間維度或普通數(shù)據(jù)維度,顯示一維直方圖或二維散點圖,如圖3所示。
接著用戶要在數(shù)據(jù)分布界面上,追蹤各個數(shù)據(jù)維度隨采樣尺度變化的情況。為了生成易于處理的對應關系,ASexplorer系統(tǒng)要求用戶只能在采樣尺度三要素即采樣位置、采樣范圍和采樣粒度中,選擇一個要素作為自變量,同時保持另外兩要素不變,然后使用刷選(brush)[36]追蹤自變量并過濾數(shù)據(jù)。選擇刷的位置、大小和視圖中數(shù)據(jù)的粒度級別,可以與采樣位置、采樣范圍和采樣粒度一一對應。
具體操作方式如下:
(1)當以采樣位置為自變量時,選擇刷的大小和數(shù)據(jù)分布圖的粒度級別固定,用戶通過移動選擇刷的位置獲取一系列離散的數(shù)據(jù)點選擇集,進而計算出各維度隨采樣位置變化的統(tǒng)計值,這種交互允許我們沿著軌跡探索屬性變化的模式或發(fā)現(xiàn)異常。
(2)當以采樣范圍為自變量時,選擇刷位置和數(shù)據(jù)分布圖的粒度級別固定,用戶通過更改選擇刷的大小以獲取一系列離散的數(shù)據(jù)點選擇集,進而計算出各維度隨采樣范圍變化的統(tǒng)計值。這種交互反映了在任意采樣位置上各數(shù)據(jù)維度根據(jù)采樣范圍的變化而呈現(xiàn)的內在結構。
(3)當以采樣粒度為自變量時,選擇刷位置和大小固定,用戶通過更改視圖的數(shù)據(jù)粒度等級以獲取一系列離散的數(shù)據(jù)點選擇集,進而計算出各數(shù)據(jù)維度隨著采樣粒度變化的統(tǒng)計值。這種觀察模式,對于非均勻分組的粒度等級,例如按地理行政區(qū)域劃分的分組,可以觀察到特別的數(shù)據(jù)屬性模式[37]。
通過用戶的刷選操作,追蹤到的采樣尺度及各維度對應的統(tǒng)計值,將以屬性簽名郵貼圖的方式展示。所謂屬性簽名(Attribute Signatures),本質是一個迷你圖(Sparkline),最早由Turkay等人[24]用于分析地理空間維度的相關性。當采樣次數(shù)較多時此迷你圖顯示為小折線圖,當采樣次數(shù)較少時則顯示為小柱形圖。無論何種模式,其X軸都是自變量軸,代表當前追蹤的采樣尺度Si,Y軸為因變量軸,其對應刻度代表在采樣尺度Si下數(shù)據(jù)維度的局部均值λi。換言之,Si是某次采樣時選擇刷所覆蓋的數(shù)據(jù)樣本集合,而λi就是根據(jù)此數(shù)據(jù)樣本集合計算的屬性均值。為了便于之后的排序操作,λi會處理成歸一化結果。ASExplorer 系統(tǒng)可以根據(jù)用戶刷選操作計算得到每個數(shù)據(jù)維度對應的屬性簽名,然后以郵貼圖(Small Multiple)的方式擺放為矩陣的形態(tài)。
圖2 維度相關性分析界面
圖3 數(shù)據(jù)分布圖的3種顯示類型及其刷選效果
最后,為了突出可能存在的關聯(lián)模式,這個屬性簽名矩陣是可過濾和可排序的,如圖4所示。即用戶可以從矩陣中刪除不感興趣的迷你圖,然后剩余的迷你圖可以根據(jù)曲線相似度進行排序。對于排序操作,用戶首先需要點擊其中一個迷你圖來選定一個感興趣的數(shù)據(jù)維度。然后系統(tǒng)將視每個迷你圖為二維空間中定義的曲線,通過計算其他維度與選定維度的曲線歐式距離來衡量其相似性。最終的排序結果,選中維度的迷你圖放在矩陣的左上角,其他迷你圖按照與選中迷你圖的相似度降序排列,如圖4(b)所示。這個機制有助于分析師快速地發(fā)現(xiàn)具有相似特征的維度。
圖4 屬性簽名郵貼圖及其排序效果
測試所用的數(shù)據(jù)集記錄了2015—2019 年,北京市區(qū)6 332臺自動取款機(ATM)的故障警報設備的各項記錄,每條記錄包括時間戳、警報類型、緊急程度、設備報警類型和地理位置等36個維度,共約200萬條記錄。
將原始數(shù)據(jù)導入ASExplorer系統(tǒng)后,經(jīng)過簡單的數(shù)據(jù)清理和計算聯(lián)合直方圖等步驟,即可以基于聯(lián)合熵的維度重要性評價算法來選擇數(shù)據(jù)維度。除去必須的時間戳外,其余35個維度在數(shù)據(jù)維度過濾界面生成了數(shù)據(jù)維度不確定性貢獻曲線,如圖1中的A所示。用戶可以在此界面上通過選擇框過濾出聯(lián)合熵差值最大的數(shù)據(jù)維度。
為了便于觀察過濾操作對有效信息完整性的影響,繪制了數(shù)據(jù)分布圖。該圖橫軸是樣本域,縱軸是值域,其中每條曲線代表一個數(shù)據(jù)維度。該圖的繪制方法是將全部是數(shù)據(jù)維度歸一化到[0,1]區(qū)間,然后每200個樣本求一次均值,從而在有限的空間中呈現(xiàn)數(shù)據(jù)維度在整個樣本集中大致的分布規(guī)律。
如圖5 所示是全部35 個維度的數(shù)據(jù)分布圖??梢钥吹匠松蟼鹊?條曲線外,其余曲線都集中在下側區(qū)域,說明數(shù)據(jù)維度分布具有集中性。與之對應的數(shù)據(jù)維度不確定性貢獻曲線(如圖1 中的A 所示)也呈現(xiàn)為指數(shù)曲線特征,即少數(shù)維度對整個系統(tǒng)不確定性的貢獻比例很大。過濾出對系統(tǒng)不確定性貢獻最大的前20個維度,這20 個維度貢獻的不確定性占整個系統(tǒng)不確定性的96.6.%,其數(shù)據(jù)分布圖如圖6所示??梢钥吹皆谏蟼惹€低密度區(qū)域的3條曲線依然得以保留,下側曲線高密度區(qū)域的輪廓仍在,說明這20 個維度傳達的不確定性與全部35個維度基本相同。進一步過濾出不確定貢獻最大的前10 個維度,這10 個維度貢獻的不確定性占整個系統(tǒng)不確定性的77.01%,其數(shù)據(jù)分布圖如圖7 所示。可以看到離群值依然得以保留,但下側曲線高密度區(qū)域更為稀疏了。由圖6 和圖7 說明,使用基于聯(lián)合熵的維度重要性評價算法,可以以較少的維度代表整個數(shù)據(jù)的空間分布。
圖5 全部35個維度的數(shù)據(jù)分布圖
圖6 貢獻最大的前20個維度數(shù)據(jù)分布圖
圖7 貢獻最大的前10個維度數(shù)據(jù)分布圖
簡單考察了造成這種結果的原因,發(fā)現(xiàn)對整個數(shù)據(jù)集不確定性貢獻較低的數(shù)據(jù)維度普遍具有數(shù)據(jù)值變化較少、與其他數(shù)據(jù)維度關聯(lián)較強的特點。例如設備的品牌名稱種類很少,且該維度與品牌編碼、客戶名稱等維度存在明顯的線性相關關系。這種特性在數(shù)據(jù)分布圖中,體現(xiàn)為不確定性貢獻較低的數(shù)據(jù)維度的曲線集中于高密度區(qū)域,并且被過濾后不會明顯影響數(shù)據(jù)分布圖的密度特征。
在本例中,由于系統(tǒng)不確定性高度集中在部分維度,因此采用本文所提出的維度過濾方法處理后仍能保有數(shù)據(jù)分布的密度特征,對有效信息完整性的保持較為有效。但如果每個維度對系統(tǒng)的不確定性貢獻較為平均(例如均勻噪聲),或者只有非常少量的維度,那么使用此方法篩選出的數(shù)據(jù)維度子集將無法反映整個數(shù)據(jù)分布的密度結構,在此類情形下應考慮所有數(shù)據(jù)維度進行而分析,或使用其他標準進行處理。
對于一個缺乏先驗知識的數(shù)據(jù)集初始分析,先過濾掉對整個數(shù)據(jù)集不確定性貢獻較低的數(shù)據(jù)維度,可以幫助數(shù)據(jù)分析師了解數(shù)據(jù)集的骨干維度,并且可以加快數(shù)據(jù)處理的速度。在此例中分析師的注意力將先集中到故障相關的數(shù)據(jù)維度上。在初始分析結束后,分析師可以再進一步地了解其他數(shù)據(jù)維度的特征。關于不同數(shù)據(jù)維度數(shù)量下系統(tǒng)性能的評測,將在5.2節(jié)中描述。
接下來,將在維度相關性分析界面,分別選取空間、時間、普通類型的維度為分析路徑,做數(shù)據(jù)維度相關性探索的案例分析。
以經(jīng)緯度為分析路徑,對應生成的數(shù)據(jù)分布圖為地圖,地圖上每一個綠點代表一個ATM機設備。受Duany的“城市橫切面”(urban transect)[38]的啟發(fā),選擇地理維度上的采樣位置為采樣尺度,保持選擇刷大?。床蓸臃秶┖偷貓D分辨率(即采樣粒度)不變,讓選擇刷從五棵松地鐵站出發(fā),沿著北京長安街從西到東勻速移動,從而進行空間維度的過濾,移動軌跡及對應生成的郵貼圖如圖8所示。郵貼圖中每個小圖例的黃色豎線,表明了當前該屬性數(shù)值與選擇刷位置的關聯(lián)。對郵貼圖做簡單的分析,可以發(fā)現(xiàn)許多數(shù)值型數(shù)據(jù)屬性都呈現(xiàn)多個明顯的波峰波谷,以“ATM 警報設備運行數(shù)”(如圖8 的①所示)為例,折線圖波峰對應的采樣位置為北京國貿附近,這里確實是北京較為繁忙的CBD 區(qū)域。另一個波峰對應于西單附近,夾在這兩個波峰中的波谷對應的采樣位置是天安門附近。以上結果反映了城市不同區(qū)域的功能。
圖8 空間維度上以采樣位置為變量的分析案例
為了進一步探索各維度之間的相關關系,可以對郵貼圖進行排序。以“運行數(shù)”(如圖8 的①所示)為基準,最終排序結果如圖8右側所示??梢钥吹脚c運行數(shù)最相似的屬性是“恢復”(如圖8的②所示)。與基準軌跡相似度最低的是“感應器故障”(如圖8的⑤所示)和“停機故障”(如圖8 的⑥所示)。根據(jù)排序結果,ATM警報設備“運行數(shù)量”與“恢復運行數(shù)量”具有高度相關性,而與“停機數(shù)”相關性最低。同時,可以看到,“停機數(shù)”曲線的波峰與“設備恢復運行數(shù)”相合,此兩個維度可能也存在某種相關性。
接著在空間維度上以測量范圍為變量進行分析。將選擇刷的位置固定在紫禁城,然后保持選擇刷的位置(即測量位置)和測量粒度不變,逐步放大選擇刷的大小,如圖9 所示。隨之生成的郵貼圖,反映了選擇刷大小離散變化時,ATM 報警設備的各項數(shù)據(jù)屬性的變化。例如“停機”維度,其迷你圖隨著采樣范圍的擴大,其柱形并沒有明顯的增長。只有最后一個柱形突然增長,說明在第六次采樣范圍(如圖9 的⑥)相對第五次采樣范圍(如圖9 的⑤),包含了一處具有大量停機設備的區(qū)域。結合城市橫切面的采樣結果,可知這個區(qū)域在紫禁城西側北京西站附近。
圖9 空間維度上以采樣范圍為變量的分析案例
同樣的,也可以對以上柱形圖進行相似度排序。這里依然選擇ATM報警設備的“運行數(shù)”作為基準進行排序。與之前的城市橫切面的排序結果相比,最相似數(shù)據(jù)屬性同樣是“恢復”和“新建”,最不相似的屬性同樣是“停機”,但中間的屬性則各有不同,反映了某些數(shù)據(jù)維度根據(jù)采樣范圍的不同結果的差異。
時間維度是考察設備故障發(fā)生情況的重要維度。選定時間維度作為分析路徑,對應生成一維直方圖。首先在時間維度上以采樣位置為變量進行分析。選定時間粒度(即采樣粒度)為天,選擇刷的大?。床蓸臃秶┮补潭?天,然后將選擇刷從2015年7月31日拖拽到2015年10月15日,將生成的郵貼圖以“主機編程被改動故障”屬性為標準排序,生成的結果圖如圖10(a)所示。與“主機編程被改動故障”屬性最為相似的是“通訊失敗故障”,與之最不相似的屬性是“主機停機故障”。這一結果與之前的地理維度上以測量點為變量的案例結果大相徑庭。這說明,各類故障發(fā)生的時間分布與地理分布差距較大,不具有正相關性。
圖10 時間維度上的分析案例
接著在時間維度上以采樣粒度為變量進行分析。固定選擇刷大小(即采樣范圍)為1天,固定選擇刷位置(即采樣位置)于2015 年8 月1 日,然后逐步按“天,周,月,季度,年”的順序更改數(shù)據(jù)粒度,隨之生成的郵貼圖以“主機編程被改動故障”屬性為標準排序,結果如圖10(b)所示。郵貼圖中的每個迷你圖都以柱狀圖的形式表現(xiàn)。從圖10(b)中可以發(fā)現(xiàn)與“主機編程被改動故障”最為類似的屬性為“視頻丟失故障”“系統(tǒng)電池電壓過低”“通訊失敗故障”,與之最不相似的屬性為“緊急按鈕故障”。這一排序結果與圖10(a)所示的采樣位置為變量的分析結果區(qū)別較大,這反映了時間維度的特點:從更大時間范圍內觀察同一組數(shù)據(jù),結論往往大相徑庭。
在以上兩個時間維度的分析案例中,“主機編程被改動故障”“通訊失敗故障”“視頻丟失故障”相似度總是較高。這說明無論時間范圍長期還是短期,這3個維度之間都有著相似的發(fā)生規(guī)律,可以推測這3個屬性在時間維度上有某種相關性。而隨后與ATM警報數(shù)據(jù)中心的工作人員交流證實了此判斷,主機編程被改動正是造成通訊失敗和視頻丟失的主要原因之一。
選定“ATM網(wǎng)點名稱”這一普通數(shù)據(jù)維度作為分析路徑,對應生成一維直方圖。該維度的分組聚合不是平均分配的,而是人工指定的3 個粒度等級:獨立網(wǎng)點名稱(1 262 個分組)、按行政區(qū)劃分的分組(7 個分組)、按行政市劃分的分組(1個分組)。在普通數(shù)據(jù)維度上以采樣位置為變量進行分析。設置當前分組粒度(即采樣粒度)為行政區(qū)域,選擇刷大?。床蓸臃秶?個分組,在數(shù)軸上將選擇刷從第一個分組拖動到最后一個分組,這一交互對7個分組進行了連續(xù)采樣,對應生成的郵貼圖如圖11(a)所示。每個迷你圖中的柱形,從左到右依次代表昌平區(qū)、崇文區(qū)、東城區(qū)、豐臺區(qū)、海淀區(qū)、玄武區(qū)、延慶縣7個城區(qū)對應的維度局部均值。在大多數(shù)迷你圖中,代表豐臺區(qū)數(shù)值的柱形都是最短的,而代表海淀區(qū)的柱形大多是最高的,這從一個側面反映例了行政區(qū)的網(wǎng)點數(shù)量與繁榮程度。但是,這里代表延慶縣的柱形在大多數(shù)圖例中僅次于海淀區(qū),這與假設不符。在與ATM 警報處理中心工作人員的交流中,了解到ATM 警報設備最早是從延慶縣開始安裝的,所以積累的數(shù)據(jù)量較高,導致了這樣的可視化結果。
為了進一步探索具體網(wǎng)點的警報數(shù)與其他屬性之間的關系,在普通數(shù)據(jù)維度上以采樣粒度為變量進行分析。用選擇刷選中警報數(shù)量最多的ATM獨立網(wǎng)點名稱“中信城”,保持選擇刷位置與大小不變,調節(jié)采樣粒度,從“ATM 獨立網(wǎng)點”到“行政區(qū)”再到“行政市”,生成的郵貼圖如圖11(b)所示。每個迷你圖中的柱形從左到右依次代表“中信城”“海淀區(qū)”“北京市”的數(shù)據(jù)值。
接著以“警報數(shù)目”為基準對郵貼圖進行排序。比較排序結果發(fā)現(xiàn),對于“中信城”這一網(wǎng)點,其“警報數(shù)目”與“派單數(shù)目”“接警處置數(shù)目”等數(shù)據(jù)沒有明顯的關系。雖然此網(wǎng)點警報數(shù)量很多,但是警報極少被處理。對這一反常現(xiàn)象,與ATM 警報處理中心工作人員的交流中了解到ATM警報設備曾在海淀區(qū)進行了大規(guī)模的測試,因此產(chǎn)生了大量未被處理的警報,而數(shù)據(jù)集中并沒有對測試數(shù)據(jù)進行區(qū)別,故而有此結果。以上分析過程說明,這一簡單靈活的可視分析機制具有發(fā)現(xiàn)異常模式的能力。
圖11 普通數(shù)據(jù)維度上的分析案例
ASExplorer系統(tǒng)采用B/S架構。其服務器端分為數(shù)據(jù)服務器和前端服務器兩部分,數(shù)據(jù)服務器使用Python語言開發(fā),專職數(shù)據(jù)處理功能,將原始數(shù)據(jù)經(jīng)過數(shù)據(jù)清洗、構建緊湊存儲的聯(lián)合直方圖、計算聯(lián)合熵等統(tǒng)計值3個步驟,將結果以JSON 格式存儲進MongoDB 數(shù)據(jù)庫中。前端服務器提供可視分析應用服務,使用Node.js開發(fā),Vue作為前端框架,echarts實現(xiàn)圖表,構建以采樣尺度為中心的協(xié)同可視分析界面。
ASExplorer系統(tǒng)部署在Window10平臺,運行在CPU為i5-9300H,4 核2.40 GHz,8 GB 內存的便攜式PC 上。使用前文所述的ATM報警數(shù)據(jù)集,進行系統(tǒng)性能測試。
(1)維度重要性評價算法的計算效能
數(shù)據(jù)集共36維200萬行記錄,所占存儲空間534 MB。通過壓縮直方圖算法計算每個維度對整個數(shù)據(jù)集不確定性的貢獻D(Xi),耗時約28 min,生成的壓縮直方圖所占存儲空間為16.6 MB。
(2)數(shù)據(jù)維度數(shù)量對刷選性能的影響
在數(shù)據(jù)維度過濾界面,分別選擇10、20、35 個數(shù)據(jù)維度,然后在維度相關性分析界面,以地理維度為分析路徑,使用同一采樣粒度和采樣范圍,從五棵松到四惠橋沿長安街方向進行按位置采樣。3次實驗的結果如表2所示??梢姅?shù)據(jù)維度數(shù)量對生成屬性簽名的時間消耗基本成線性關系,如能過濾部分數(shù)據(jù)維度將有效減少生成屬性簽名所需時間。
表2 維度數(shù)量對刷選性能的影響
(3)采樣尺度對系統(tǒng)性能的影響
選定不確定性貢獻最大的前10 個數(shù)據(jù)維度,以4.2節(jié)城市橫截面的案例為基礎,分別以采樣位置、采樣范圍和采樣粒度為變量,計算生成屬性簽名郵貼圖所需的時間。
當以采樣位置為變量時,選擇刷為邊長為1 km 的方框,從五棵松位置開始,從西向東直線移動。每次采樣距離按4 km、8 km、12 km、16 km、20 km 變化,對應的生成屬性簽名郵貼圖所需時間如表3第2列所示。當以采樣范圍為變量時,固定選擇刷中心位置為紫禁城,選擇刷邊長按2 km、4 km、6 km、8 km、10 km變化,對應的生成屬性簽名郵貼圖所需時間如表3第3列所示。當以采樣粒度為變量時,固定選擇刷中心位置為紫禁城,調節(jié)采樣粒度,從“ATM獨立網(wǎng)點”到“行政區(qū)”再到“行政市”,對應的生成屬性簽名郵貼圖所需時間如表3列4所示。
表3 3種采樣尺度的時間統(tǒng)計s
從測試結果分析可知,生成屬性簽名郵貼圖耗時與采樣時包含的數(shù)據(jù)樣本個數(shù)直接相關。由于數(shù)據(jù)樣本在地理維度上分布并不均勻,例如在紫禁城內部ATM較少,而商業(yè)中心ATM較多,所以生成屬性簽名郵貼圖消耗時間并不與采樣尺度的變化等比例。此外在本數(shù)據(jù)集案例中,生成屬性簽名郵貼圖平均耗時為7.76 s,大于實時交互應用的極限等待時間。這是因為ASExplorer系統(tǒng)刷選對應的采樣統(tǒng)計是在Web前端完成的,未來系統(tǒng)在計算效率方面仍有改進空間。
邀請了ATM 報警處理中心的5 位員工對本章所述的可視分析機制進行了評估。這5位測試參與者2位年齡在25~30 歲之間,3 位在30~40 歲之間,學歷均為本科。簡短地介紹了ASExplorer 的可視分析機制并演示了分析案例。5位員工均在10 min內掌握了本章所述的分析機制,可以獨立進行探索。
經(jīng)過獨立探索之后,參與者們對ASExplorer系統(tǒng)正面評價集中在:能以簡單直觀的交互手段,對數(shù)據(jù)集進行過濾并發(fā)現(xiàn)可能存在的異常和關聯(lián)。大部分參與者認為對于缺少先驗知識、信息量分布不均勻的數(shù)據(jù)集而言,基于聯(lián)合熵的維度過濾算法可以幫助他們快速開展分析。對于以采樣尺度為中心的交互探索方法,所有參與者都能很快使用,并對其中的選擇刷過濾和通過排序發(fā)現(xiàn)模式的流程感到有效且直觀。
參與者們也反映了ASExplorer系統(tǒng)存在的不足,主要包含以下方面:(1)刷選生成屬性簽名郵貼圖等待時間較長,不能滿足實時交互需要;(2)基于聯(lián)合熵的維度過濾算法僅在數(shù)據(jù)分析的初始階段階段有效,在進入詳細分析時依然要具體情況具體考慮,不能忽略一些整體不確定性貢獻小但有重要意義的維度;(3)以采樣范圍為變量,與采樣粒度為變量的分析具有一定同質性。除此以外,其他改進意見還包括從工程應用角度增加循環(huán)規(guī)律分析、增加更多的數(shù)據(jù)過濾手段等。
本文從高維多元數(shù)據(jù)分析的需求出發(fā),提出了一個探索分析高維多元數(shù)據(jù)維度相關性的可視化分析系統(tǒng)ASExplorer。其中所使用的實現(xiàn)框架、計算方法適用于高維多元數(shù)據(jù)的早期數(shù)據(jù)分析過程。
為了緩解高維數(shù)據(jù)可視化面臨的維數(shù)災難問題,在數(shù)據(jù)層面,ASExplorer 主要采用數(shù)據(jù)過濾/采樣技術進行數(shù)據(jù)精簡,并以分組聚合技術輔助計算。ASExplorer系統(tǒng)的兩個主要貢獻,基于聯(lián)合熵的維度過濾算法是從數(shù)據(jù)維度角度進行數(shù)據(jù)過濾,以采樣尺度為中心的交互探索方法是從數(shù)據(jù)樣本數(shù)量角度進行過濾。過濾/采樣方法為一種篩選出滿足一定條件的數(shù)據(jù)操作,其特點在于不會像降維技術那樣導致數(shù)據(jù)特征發(fā)生根本性的變化,可以最大限度保留數(shù)據(jù)的原始樣本、全局模式(如密度)、局部特征(如異常值)。此外,ASExplorer系統(tǒng)在視覺顯示層面,使用了郵貼圖、平行坐標等高維數(shù)據(jù)可視化技術;在交互層面,使用了協(xié)調關聯(lián)多視圖、刷選與排序等技術,多管齊下解決高維數(shù)據(jù)可視化難題。
ASExplorer基于聯(lián)合熵的維度過濾算法,以維度對整個數(shù)據(jù)集不確定性的貢獻,從信息論角度為維度過濾提供了一個可行參考標準,因而在缺乏先驗知識的情況下(即缺少其他過濾標準時)具有應用價值。但是此方法如其他許多維度過濾標準一樣,對不同特性數(shù)據(jù)集的參考價值不同?;诼?lián)合熵的維度過濾算法適用于系統(tǒng)不確定性高度集中在部分維度的數(shù)據(jù)集,在此種情形下挑選出的維度子集最具代表性。但對于數(shù)據(jù)維度較少或者各個維度的聯(lián)合熵差值相差不大的數(shù)據(jù)集,將難以通過構建維度子集去代表全體數(shù)據(jù)維度。在這種情形下應考慮所有數(shù)據(jù)維度進行而分析,或使用其他標準進行處理。例如,基于頻度的維度約簡算法、基于屬性重要度的完備性分析等方法等[39]。未來應在維度過濾標準方面,根據(jù)數(shù)據(jù)預處理結果,給用戶提供更多的過濾標準以供選擇。
ASExplorer 系統(tǒng)提供的以采樣尺度為中心的交互探索方法,通過引入采樣位置、采樣范圍、采樣粒度的連續(xù)變化,實現(xiàn)了對編碼到一維或二維空間上的數(shù)據(jù)樣本的過濾,并通過屬性簽名方法發(fā)現(xiàn)維度間的相關關系。此方法簡單直觀,在案例分析和用戶研究中得到了證明。今后可改進的方向有三方面:(1)是將數(shù)據(jù)樣本編碼到三維及三維以上空間時,對數(shù)據(jù)進行刷選和過濾。這需要將高維空間投影到低維空間中再進行可視化和交互,如何解釋過濾的有效性是其中的主要挑戰(zhàn)。(2)過濾標準出采樣尺度外,還可進行擴展。例如,基于顏色映射表、特定數(shù)據(jù)分布形態(tài)的過濾模式。(3)改進計算效率以滿足實時交互需要,未來可以考慮在算法和硬件上(如使用webGL技術以及GPU進行數(shù)值計算)提高計算效率。