摘要:在簡化數據量和降低大數據應用的復雜性中,大數據分析發揮著關鍵的作用??梢暬瞧渲幸粋€重要的途徑,它能夠幫助大數據獲得完整的數據視圖并挖掘數據的價值。大數據分析和可視化應該無縫連接,這樣才能在大數據應用中發揮最大的功效。這篇文章將介紹一些常規的數據可視化方法以及在大數據應用領域突破常規的可視化手段,也會討論大數據可視化帶來的挑戰,同時介紹大數據可視化領域新的方法、應用程序以及其技術的進步。
一、引言數據可視化是將數據以不同形式展現在不同系統中,其中包括屬性和變量的單位信息[1]
?;诳梢暬l現數據的方法允許用戶使用不同的數據源,來創建自定義分析。先進的分析集成了許多方法,為了支持交互式動畫在臺式電腦、筆記本電腦或平板電腦、智能手機等移動設備上創建圖形桌面[2]。根據調查,表1[3]
顯示了數據可視化的好處。
表1.數據可視化工具的好處
對于可視化有以下幾點建議[4]
大數據是大容量、高速度并且數據之間差異很大的數據集,因此需要新的處理方法來優化決策的流程。大數據的挑戰在于數據采集、存儲、分析、共享、搜索和可視化[5]
1、“所有數據都必須可視化”:不要過分依賴可視化,一些數據不需要可視化方法來表達它的消息。
2、“只有好的數據才應該做可視化”:簡便的可視化可以便于找到錯誤就像數據有助于發現有趣的趨勢一樣。
3、“可視化總是能做出正確的決定”:可視化并不能代替批判性思維。
4、“可視化將意味著準確性”:數據可視化并不著重于顯示一個準確的圖像,而是它可以表達出不同的效果。
可視化方法可通過創建表格、圖標、圖像等直觀地表示數據。大數據可視化并不是傳統的小數據集。一些傳統的大數據可視化工具的延伸雖然已經被開發出來,但這些遠遠不夠。在大規模數據可視化中, 許多研究人員用特征提取和幾何建模在實際數據呈現之前大大減少數據大小。當我們在進行可視化大數據時,選擇合適的數據也是非常重要的[5]。
本文的目的是通過介紹傳統可視化方法及其在處理大數據時的擴展方法,來展現大數據可視化的前沿技術。同時討論大數據可視化的挑戰,并其取得的進步。
在研究過程中,筆者首先尋找了近幾年通過大學圖書館系統發表的數據可視化相關論文。此階段筆者主要總結了傳統的數據可視化方法和該領域的新進展。隨后筆者搜索了相關大數據可視化的論文,因為大數據是一個較新的領域,所以大多數的論文是在過去三年里發表的。同時筆者發現大多數傳統的數據可視化方法并不適用于大數據,用一些從傳統的可視化中發展而來的方法來處理大數據也是遠遠不夠的。筆者著重關注大數據可視化的新方法、技術的進步和大數據可視化的工具開發以及隨之而來的挑戰。
二、常規數據可視化方法許多傳統的數據可視化方法經常被使用,比如表格、直方圖、散點圖、折線圖、柱狀圖、餅圖、面積圖、流程圖、泡沫圖表等以及圖表的多個數據系列或組合像時間線、維恩圖、數據流圖、實體關系圖等。此外,一些數據可視化方法經常被使用,卻不像前面那些使用的廣泛,它們是平行坐標式、樹狀圖、錐形樹圖和語義網絡等
平行坐標被用于繪制多維度個體數據。平行坐標在顯示多維數據時是非常有用的。圖1就是平行坐標;樹狀圖則是一種有效的可視化層次結構方法。每個子矩形的面積代表一個測量,而它的顏色常被用來代表另一個測量的數據。圖2顯示了一個選擇流媒體音樂和視頻的樹狀圖,是在一個社交網絡社區獲得的數據;錐形樹圖是另一種顯示分層數據的方法,如三維空間中的組織體,它的樹枝是錐生長的形式;語義網絡是一個表示不同概念之間的邏輯關系的圖形。它生成有向圖,組合節點或頂點,邊或弧,并在每個邊上做標記[1]。
圖1:平行坐標
圖2:用樹圖跟蹤查看社交網絡流媒體服務的選擇
可視化并非僅僅是靜態形式,而應當是互動的。交互式可視化可以通過縮放等方法進行細節概述。它有如下的步驟[1]:
1、選擇:交互式根據用戶的興趣選擇數據實體或完整的數據集,以及它的子集。
2、鏈接:在多個視圖找到有用的信息,如圖3所示。
3、過濾:幫助用戶調節顯示的信息量,減少信息數量并且專注于用戶感興趣的信息。
重排或再映射:空間布局是最重要的視覺映射,重排信息的空間布局對產生不同的見解非常有效。
圖3:直方圖(上)和地理圖(底部)的數據集之間的互動和連接
新的數據庫技術和前沿的網絡可視化方法可能是減少成本的重要因素,也有助于完善科研的進程。隨著網絡時代的到來,數據時時都在更新,大大減小了可視化的時效性。這些“低端”可視化通常用于商業分析和政府數據的開放,但它們對科研沒有太大的幫助。許多科學家使用的可視化工具都不允許連接這些網絡工具[8]。
三、大數據可視化面臨的挑戰拓展性和動態分析是可視化的兩個最主要的挑戰。根據數據量的大小,表2顯示了靜態數據和動態數據的研究現狀。對大型動態數據,原本A問題的答案和B問題的答案也許在同時應對AB兩個問題時就不適用了。
表2:可視化分析的研究現狀和挑戰
基于可視化的方法迎接了四個“V”的挑戰,并將它們轉化成以下的機遇[2]。
體量(Volume):使用數據量很大的數據集開發,并從大數據中獲得意義。
多源(Variety):開發過程中需要盡可能多的數據源。
高速(Velocity):企業不用再分批處理數據,而是可以實時處理全部數據。
質量(Value):不僅為用戶創建有吸引力的信息圖和熱點圖,還能通過大數據獲取意見,創造商業價值。
大數據可視化的多樣性和異構性(結構化、半結構化和非結構化)是一個大問題。高速是大數據分析的要素。在大數據中,設計一個新的可視化工具并具有高效的索引并非易事。云計算和先進的圖形用戶界面更有助于發展大數據的擴展性[3]。
可視化系統必須與非結構化的數據形式(如圖表、表格、文本、樹狀圖還有其他的元數據等)相抗衡,而大數據通常是以非結構化形式出現的。由于寬帶限制和能源需求,可視化應該更貼近數據,并有效地提取有意義的信息。可視化軟件應以原位的方式運行。由于大數據的容量問題,大規模并行化成為可視化過程的一個挑戰。而并行可視化算法的難點則是如何將一個問題分解為多個可同時運行的獨立的任務[10]。
高效的數據可視化是大數據時代發展進程中關鍵的一部分。大數據的復雜性和高維度催生了幾種不同的降維方法。然而,他們可能并不總是那么適用。高維可視化越有效,識別出潛在的模式、相關性或離群值的概率越高[11]。
大數據可視化還有以下幾點問題[12]:
視覺噪聲:在數據集中,大多數對象之間具有很強的相關性。用戶無法把他們分離作為獨立的對象來顯示。
信息丟失:減少可視數據集的方法是可行的,但是這會導致信息的丟失。
大型圖像感知:數據可視化不僅受限于設備的長寬比和分辨率,也受限于現實世界的感受。
高速圖像變換:用戶雖然能觀察數據,卻不能對數據強度變化做出反應。
高性能要求:在靜態可視化幾乎沒有這個要求,因為可視化速度較低,性能的要求也不高。
可感知的交互的擴展性也是大數據可視化面臨的挑戰??梢暬總€數據點都可能導致過度繪制而降低用戶的辨識能力,通過抽樣或過濾數據可以刪去離群值。查詢大規模數據庫的數據可能導致高延遲,降低交互速率[13]。
在大數據的應用程序中,大規模數據和高維度數據會使進行數據可視化變得困難。當前大多數大數據可視化工具在擴展性、功能和響應時間上表現非常糟糕??梢暬治鲞^程中,不確定性是有效的考慮不確定性的可視化過程巨大挑戰[5]。
可視化和大數據面臨許多的挑戰,下面是一些可能的解決方法[14]:
1. 滿足高速需要:一是改善硬件,可以嘗試增加內存和提高并行處理的能力。二是許多機器會用到的,將數據存儲好并使用網格計算方法。
2. 了解數據:請合適的專業領域人士解讀數據。
3. 訪問數據質量:通過數據治理或信息管理確保干凈的數據十分必要。
4. 顯示有意義的結果:將數據聚集起來到一個更高層的視圖,在這里小型數據組和數據可以被有效地可視化。
5. 處理離群值:將數據中的離群值剔除或為離群值創建一個單獨的圖表。
四、大數據可視化的一些進展在大數據時代,可視化操作究竟是如何進行的呢?首先可視化會為用戶提供一個總的概覽,再通過縮放和篩選,為人們提供其所需的更深入的細節信息[15]??梢暬倪^程在幫助人們利用大數據獲取較為完整的客戶信息時起到了關鍵性作用。而錯綜的關系是眾多大數據場景中的重要一環,社交網絡或許就是最顯著的例子,想要通過文本或表格的形式理解其中的大數據信息是非常困難的;相反,可視化卻能夠將這些網絡的趨勢和固有模式展現地更為清晰[7]。在形象體現社交網絡用戶之間的關系時,通常使用的是基于云計算的可視化方法。通過相關性模型來描繪社交網絡中用戶節點的層次關系,這種方法能夠直觀地展示用戶的社會關系。此外,它還能借助利用云技術的海杜普軟件平臺(Hadoop)將可視化過程并行化,從而加快社交網絡的大數據收集[16]。
大數據可視化可以通過多種方法來實現,比如多角度展示數據、聚焦大量數據中的動態變化,以及篩選信息(包括動態問詢篩選,星圖展示,和緊密耦合)等等[12]。以下一些可視化方法是按照不同的數據類型(大規模體數據、變化數據和動態數據)來進行分析和分類的[12]:
樹狀圖式:基于分層數據的空間填充可視化方法。
圓形填充式:樹狀圖式的直接替代。它使用圓形作為原始形狀,并能從更高級的分層結構中引入更多的圓形。
旭日型:在樹狀圖可視化基礎上轉換到極坐標系統。其中的可變參量由寬和高變成半徑和弧長。
平行坐標式:通過可視化分析,將不同帝鄉的多重數據因素拓展開來。
蒸汽圖式:堆疊區域圖的一種,數據圍繞一條中軸線展開,并伴隨流動及有機形態。
循環網絡圖式:數據圍繞一個圓形排列,并按照它們自身的相關性比率由曲線相互連接。通常用不同的線寬或色彩飽和度測量數據對象的相關性。
表格3和表格4 [12]
表格3:可視化工具概覽
表格4:可視化工具的區分
傳統的數據可視化工具不足以被用來處理大數據。以下列舉了幾種將交互式大數據可視化的方法。首先,利用一個由可擴展的直觀數據摘要群組成的設計空間可以將多種類型的變化數據可視化,這些直觀的數據摘要通過數據簡化(如聚合或抽樣)的方法得出。被應用于特定區間的交互查詢方法(比如關聯和更新技術)因此通過結合多元數據塊和并行查詢而被開發出來。而更先進的方法被運用在一個基于瀏覽器的視覺分析系統——imMens上,來處理數據以及對GPU(圖像處理器)進行渲染[13]。
很多大數據可視化工具都是在Hadoop的平臺上運行的。該平臺里的常用模塊有:Hadoop Common, HDFS(Hadoop Distributed File System),Hadoop YARN和Hadoop MapReduce。這些模塊能夠高效地分析大數據信息,但是卻缺乏足夠的可視化過程。下面將介紹一些具備可視化功能并實現交互式數據可視化的軟件[3]:
Pentaho:一款支持商業智能(BI)功能的軟件,如分析、控制面板、企業級報表以及數據挖掘;
Flare:實現在Adobe視頻播放器中運行的數據可視化;
JasperReports:擁有能夠從大數據庫中生成報告的全新軟件層;
Dygraphs:快速彈性的開放源Java描述語言圖表集合,能發現并處理不透明數據。
Datameer Analytics Solution and Cloudera:同時使用Datameer和Cloudera兩個軟件能使我們在Hadoop平臺時更快捷、更容易。
Platfora:將Hadoop中的原始大數據轉換成交互式數據處理引擎。Platfora還有把內存數據引擎模塊化的功能。
ManyEyes:IBM公司開發的可視化工具。它可供用戶上傳數據并實現交互式可視化的公共網站。
Tableau:一款商業智能(BI)軟件,支持交互式和直觀數據分析,內置內存數據引擎來加速可視化處理。
Tableau系列軟件在處理大規模數據集時主要是依靠以下三種產品:Tableau Desktop,Tableau Sever和Tableau Pubilc。此外,Tableau還能內嵌入Hadoop的基礎設備之中,利用Hive(基于Hadoop的一個數據倉庫工具)將查詢結構化并為內存分析緩存信息。通過緩存信息,Hadoop集群延遲的可能性會大大減小。因此,Tableau軟件為用戶與大數據應用提供了一個交互互動機制[5]。
大數據分析工具可以輕而易舉地處理ZB(十萬億億字節)和PB(千萬億字節)數據,但它們往往不能將這些數據可視化。如今,主要大數據處理工具有Hadoop,High Performance Computing and Communications,Storm,Apache Drill,RapidMiner和 Pentaho BI。數據可視化工具有NodeBox,R,Weka,Gephi,Google Chart API,Flot,D3,and http://Visual.ly等等。一種在RHadoop基礎上形成的大數據可視化算法分析整合模型已經被提出,用來處理ZB和PB數據并以可視化的方式為我們提供較高價值的分析結果。它還與ZB和PB數據并行算法的設計相切合[17]。
交互式可視化集群分析是我們用來探尋集群模式最直接的方法。其中最具有挑戰性的一點是可視化多維數據,以便用戶交互式分析數據和認識集群結構。如今我們已經開發出優化的星型坐標可視化模型,來有效分析大數據交互集群,它與其他多維可視化方法(如平行坐標和散點圖矩陣)相比,極可能是最具備擴展性的大數據可視化技術[18]:
l 平行坐標和散點圖矩陣通常被用來分析十個維度以內的數據,而星型坐標則可以處理數十個維度。
l 在基于密度代表的幫助下,星型坐標式可視化自身得以擴展。
l 基于星型坐標的集群可視化并非是用于計算數據記錄中的兩兩距離;而是利用潛在映射模型的性能部分地保持這個位置關系。這一點在處理大數據上十分有用。
將大數據源直接可視化既不可能也不有效,因此通過分析數據減少大數據的量和降低其復雜程度就顯得十分重要。所以將可視化和分析相互整合才能使效能最大化。IBM公司開發的RAVE軟件已經能夠將可視化運用到商業分析領域去分析并解決問題。RAVE和可拓展的可視化性能讓我們能夠利用有效的可視化更好地理解大數據[7]。同時,其他的一些IBM產品,例如IBM InfoSphere BigInsights 和IBM SPSS Analytic Catalyst,也同RAVE一起,利用交互可視化豐富用戶對大數據的洞察。例如InfoSphere BigInsights能夠幫助分析并發現隱藏在大數據中的商業信息,SPSS Analytic Catalyst使得大數據的準備工作自動化,加之選取合適的分析過程,最后通過交互式可視化呈現最終結果[7]。
在沉浸式VR(虛擬現實)平臺上進行科學數據可視化當下還在研究階段,其中包括軟件和便宜的商品硬件也在研究階段。這些具備潛在價值和創新力的多維數據可視化工具無疑為合作式數據可視化提供了便利。沉浸式可視化與傳統的“桌面式”可視化相比具備明顯的優勢,因為它可以更好地展現數據景觀結構并進行更直觀的數據分析。它還應是我們探索更高維度、更抽象大數據的基點之一。人類固有的認知模式(或者說是視覺認知)技能能夠通過使用與沉浸式VR相關的新型數據實現最大化[11]。
表格5是對以上大數據可視化軟件的SWOT分析總結,其中的競爭優勢(Strengths)和機遇(Opportunities)是積極因素;競爭劣勢(Weaknesses)和威脅(Threats)是消極因素。
表格5:對現今大數據可視化軟件的SWOT分析
五、結論
可視化既可以是靜態的,也可以是動態的。交互式可視化通常引領著新的發現,并且比靜態數據工具能夠更好的進行工作。所以交互式可視化為大數據帶來了無限前景。在可視化工具和網絡(或者說是Web瀏覽器工具)之間互動的關聯和更新技術助推了整個科學進程。基于Web的可視化使我們可以及時獲取動態數據并實現實時可視化。
一些傳統的大數據可視化工具的延伸并不具備實際應用性。針對不同的大數據應用,我們應該開發出更多新的方法。本文介紹了一些最新的大數據可視化方法并對這些軟件進行了SWOT分析,以幫助我們能夠再此基礎上創新。大數據分析和可視化,二者的整合也讓大數據應用更好地為人們所用。此外能夠有效幫助大數據可視化過程的沉浸式VR,也是我們處理高維度和抽象信息時強有力的新方法。