圖靈獎(jiǎng)獲得者JimGray曾說,數(shù)據(jù)密集型科學(xué)發(fā)現(xiàn)是繼實(shí)驗(yàn)歸納、邏輯推演、仿真模擬之后的第4類科學(xué)方法,作為前3種科學(xué)范式的補(bǔ)充,這種方法進(jìn)一步促進(jìn)人類科技的進(jìn)步。
數(shù)據(jù)推動著諸多科學(xué)領(lǐng)域與各行各業(yè)發(fā)展的同時(shí),也帶來了前所未有的挑戰(zhàn)。有效地理解數(shù)據(jù),避免“big data”成為“big rubbish”,需要開發(fā)更好的工具以支持整個(gè)研究過程,包括數(shù)據(jù)捕捉、數(shù)據(jù)治理、數(shù)據(jù)分析以及數(shù)據(jù)可視化。
在大數(shù)據(jù)時(shí)代,數(shù)據(jù)可視化技術(shù)在廣泛應(yīng)用的同時(shí),也面臨諸多新的挑戰(zhàn)。大數(shù)據(jù)可視化是一個(gè)面向應(yīng)用的研究領(lǐng)域,本文重點(diǎn)從應(yīng)用實(shí)踐的角度,討論在大數(shù)據(jù)背景下大數(shù)據(jù)可視化內(nèi)涵、研究進(jìn)展、相關(guān)技術(shù)與產(chǎn)品以及所面臨的一系列挑戰(zhàn)。
大數(shù)據(jù)可視化內(nèi)涵
數(shù)據(jù)可視化就是將抽象的“數(shù)據(jù)”以可見的形式表現(xiàn)出來,幫助人理解數(shù)據(jù)。大數(shù)據(jù)可視化相對傳統(tǒng)的數(shù)據(jù)可視化,處理的數(shù)據(jù)對象有了本質(zhì)不同,在已有的小規(guī)?;蜻m度規(guī)模的結(jié)構(gòu)化數(shù)據(jù)基礎(chǔ)上,大數(shù)據(jù)可視化需要有效處理大規(guī)模、多類型、快速更新類型的數(shù)據(jù)。這給數(shù)據(jù)可視化研究與應(yīng)用帶來一系列新的挑戰(zhàn)。
數(shù)據(jù)可視化這一概念自1987年正式提出,經(jīng)過30余年的發(fā)展,逐漸形成3個(gè)分支:科學(xué)計(jì)算可視化(scientific visualization)、信息可視化(information visualization)和可視分析(visual analytics)。近些年來,這3 個(gè)子領(lǐng)域出現(xiàn)了逐漸融合的趨勢。本文統(tǒng)稱為“數(shù)據(jù)可視化”。
在傳統(tǒng)數(shù)據(jù)可視化基礎(chǔ)上,論文嘗試給出大數(shù)據(jù)可視化的內(nèi)涵:大數(shù)據(jù)可視化是指有效處理大規(guī)模、多類型和快速變化數(shù)據(jù)的圖形化交互式探索與顯示技術(shù)。
其中,有效是指在合理時(shí)間和空間開銷范圍內(nèi);大規(guī)模、多類型和快速變化是所處理數(shù)據(jù)的主要特點(diǎn);圖形化交互式探索是指支持通過圖形化的手段交互式分析數(shù)據(jù);顯示技術(shù)是指對數(shù)據(jù)的直觀展示。
大數(shù)據(jù)可視化技術(shù)
首先從方法層面介紹基本滿足常用數(shù)據(jù)可視化需求的通用技術(shù),根據(jù)可視化目標(biāo)分類介紹,然后根據(jù)大數(shù)據(jù)的特點(diǎn),重點(diǎn)介紹相關(guān)的大規(guī)模數(shù)據(jù)可視化、時(shí)序數(shù)據(jù)可視化、面向可視化的數(shù)據(jù)采樣方法和數(shù)據(jù)可視化生成技術(shù)。
常用的數(shù)據(jù)可視化技術(shù)
數(shù)據(jù)可視化技術(shù)在應(yīng)用過程中,多數(shù)非技術(shù)驅(qū)動,而是目標(biāo)驅(qū)動。如圖顯示了目前業(yè)界廣泛使用的根據(jù)目標(biāo)分類的數(shù)據(jù)可視化方法,數(shù)據(jù)可視化目標(biāo)抽象為對比、分布、組成以及關(guān)系。
按目標(biāo)分類的常用數(shù)據(jù)可視化方法
1)對比。比較不同元素之間或不同時(shí)刻之間的值。
2)分布。查看數(shù)據(jù)分布特征,是數(shù)據(jù)可視化最為常用的場景之一。
3)組成。查看數(shù)據(jù)靜態(tài)或動態(tài)組成。
4)關(guān)系。查看變量之間的相關(guān)性,這常常用于結(jié)合統(tǒng)計(jì)學(xué)相關(guān)性分析方法,通過視覺結(jié)合使用者專業(yè)知識與場景需求判斷多個(gè)因素之間的影響關(guān)系。
大規(guī)模數(shù)據(jù)可視化
大規(guī)模數(shù)據(jù)可視化一般認(rèn)為是處理數(shù)據(jù)規(guī)模達(dá)到TB或PB級別的數(shù)據(jù)。經(jīng)過數(shù)十年的發(fā)展,大規(guī)模數(shù)據(jù)可視化經(jīng)過了大量研究,重點(diǎn)介紹其中的并行可視化和原位(in situ)可視化。
(1)并行可視化
并行可視化通常包括3種并行處理模式,分別是任務(wù)并行、流水線并行、數(shù)據(jù)并行。
- 任務(wù)并行將可視化過程分為獨(dú)立的子任務(wù),同時(shí)運(yùn)行的子任務(wù)之間不存在數(shù)據(jù)依賴。
- 流水線并行采用流式讀取數(shù)據(jù)片段,將可視化過程分為多個(gè)階段,計(jì)算機(jī)并行執(zhí)行各個(gè)階段加速處理過程。
- 數(shù)據(jù)并行是一種“單程序多數(shù)據(jù)”方式,將數(shù)據(jù)劃分為多個(gè)子集,然后以子集為粒度并行執(zhí)行程序處理不同的數(shù)據(jù)子集。
(2)原位可視化
數(shù)值模擬過程中生成可視化,用于緩解大規(guī)模數(shù)值模擬輸出瓶頸。根據(jù)輸出不同,原位可視化分為圖像、分布、壓縮與特征。
- 輸出為圖像的原位可視化,在數(shù)值模擬過程中,將數(shù)據(jù)映射為可視化,并保存為圖像。
- 輸出為分布數(shù)據(jù)的原位可視化,根據(jù)使用者定義的統(tǒng)計(jì)指標(biāo),在數(shù)值模擬過程中計(jì)算統(tǒng)計(jì)指標(biāo)并保存,后續(xù)進(jìn)行統(tǒng)計(jì)數(shù)據(jù)可視化;
- 輸出為壓縮數(shù)據(jù)的原位可視化采用壓縮算法降低數(shù)值模擬數(shù)據(jù)輸出規(guī)模,將壓縮數(shù)據(jù)作為后續(xù)可視化處理的輸入;
- 輸出為特征的原位可視化采用特征提取方法,在數(shù)值模擬過程中提取特征并保存,將特征數(shù)據(jù)作為后續(xù)可視化處理的輸入。
時(shí)序數(shù)據(jù)可視化
時(shí)序數(shù)據(jù)可視化是幫助人類通過數(shù)據(jù)的視角觀察過去,預(yù)測未來,例如建立預(yù)測模型,進(jìn)行預(yù)測性分析和用戶行為分析。
面積圖可顯示某時(shí)間段內(nèi)量化數(shù)值的變化和發(fā)展,最常用來顯示趨勢。氣泡圖可以將其中一條軸的變量設(shè)置為時(shí)間,或者把數(shù)據(jù)變量隨時(shí)間的變化制成動畫來顯示。蠟燭圖通常用作交易工具。
甘特圖通常用作項(xiàng)目管理的組織工具,熱圖通過色彩變化來顯示數(shù)據(jù),直方圖適合用來顯示在連續(xù)間隔或特定時(shí)間段內(nèi)的數(shù)據(jù)分布。
折線圖用于在連續(xù)間隔或時(shí)間跨度上顯示定量數(shù)值,最常用來顯示趨勢和關(guān)系。南丁格爾玫瑰圖繪制于極坐標(biāo)系之上,適用于周期性時(shí)序數(shù)據(jù)。OHLC圖通常用作交易工具。
螺旋圖沿阿基米德螺旋線繪制基于時(shí)間的數(shù)據(jù)。堆疊式面積圖的原理與簡單面積圖相同,但它能同時(shí)顯示多個(gè)數(shù)據(jù)系列。量化波形圖可顯示不同類別的數(shù)據(jù)隨著時(shí)間的變化。
另外,具有空間位置信息的時(shí)序數(shù)據(jù),常常將上述可視化方法地圖結(jié)合,例如軌跡圖。
面向可視化的數(shù)據(jù)采樣方法
面向可視化的時(shí)序數(shù)據(jù)采樣,主要針對時(shí)序數(shù)據(jù)的折線圖視覺效果進(jìn)行優(yōu)化。此類研究的主要目標(biāo)為,從時(shí)序數(shù)據(jù)中選擇小部分時(shí)序數(shù)據(jù),利用折線圖上的點(diǎn)與連線的視覺效果,使得選取數(shù)據(jù)的折線圖視覺效果與原始數(shù)據(jù)的可視化結(jié)果盡可能接近。
Steinarsson總結(jié)了一些基于折線圖的時(shí)序數(shù)據(jù)采樣算法,認(rèn)為折線圖中的每個(gè)數(shù)據(jù)點(diǎn)都存在各自的視覺權(quán)重。Kehagias提出了M4aggregation時(shí)序數(shù)據(jù)采樣算法。Guo等總結(jié)了4種針對空間數(shù)據(jù)的可視化約束:代表性約束、可視性約束、平移一致性與縮放一致性,并基于可視化約束提出了貪心策略采樣算法。
數(shù)據(jù)可視化生成方式
經(jīng)過數(shù)十年的發(fā)展,數(shù)據(jù)可視化形成了從底層編程到上層交互式定制的多層次生成方式。
數(shù)據(jù)可視化生產(chǎn)方式
編程方式根據(jù)語言類型可以分為函數(shù)式編程與聲明式編程。函數(shù)式編程可以根據(jù)圖表元素封裝層級分為更基礎(chǔ)的圖形編程接口,聲明式編程出現(xiàn)時(shí)間相對較晚,其中采用圖形語法思想的可視化語法。
交互式數(shù)據(jù)可視化生成方式通過交互接口,使得用戶不用編程即可定制可視化圖表。其中,Polaris與Tableau采用數(shù)據(jù)列拖選方式交互生成可視化圖表;Voyager和Data2Vis則提供了根據(jù)數(shù)據(jù)自動生成可視化圖表的能力;Lyra和Data Illustrator則提供了一種類似于Visio的交互方式,從圖表元素拼裝圖表的能力。VisFlow在提供多個(gè)可視化模板的基礎(chǔ)上采用數(shù)據(jù)流的思想,將可視化圖表作為數(shù)據(jù)處理流的中間步驟,通過可視化的方式進(jìn)行數(shù)據(jù)處理。
整體而言,編程方式的優(yōu)點(diǎn)在于豐富的表現(xiàn)能力與個(gè)性化定制能力,缺點(diǎn)是缺乏直觀性,要求使用者具有編程能力,且相對需要更多的人力與時(shí)間成本;相對而言,交互方式的優(yōu)點(diǎn)在于直觀,用戶無需編程即可定制圖表,使用更為廣泛,缺點(diǎn)是表達(dá)能力有限,系統(tǒng)功能和性能常常無法滿足使用者個(gè)性化需求。
大數(shù)據(jù)可視化產(chǎn)品
本節(jié)重點(diǎn)介紹介紹相關(guān)的大數(shù)據(jù)可視化產(chǎn)品,包括適用于一定大數(shù)據(jù)場景的傳統(tǒng)數(shù)據(jù)可視化產(chǎn)品及面向大數(shù)據(jù)的數(shù)據(jù)可視化產(chǎn)品。
傳統(tǒng)數(shù)據(jù)可視化產(chǎn)品
PowerBI作為微軟推出的數(shù)據(jù)可視化產(chǎn)品,在2019年的GartnerBI象限中排名首位。優(yōu)點(diǎn)在于易用性,交互方式類似于Excel;缺點(diǎn)在于性能相對較弱,缺少數(shù)據(jù)準(zhǔn)備于清洗工具。
Tableau基于關(guān)系型代數(shù)理論研發(fā),是目前使用最為廣泛的數(shù)據(jù)可視化產(chǎn)品之一。優(yōu)點(diǎn)在于基于拖放的交互方式,豐富的功能以及支持Hadoop和Google BigQuery等大數(shù)據(jù)平臺;缺點(diǎn)是僅支持結(jié)構(gòu)化數(shù)據(jù),大數(shù)據(jù)實(shí)時(shí)響應(yīng)較慢,權(quán)限約束有限。
QlikView為新興的數(shù)據(jù)可視化產(chǎn)品,使用越來越廣泛。優(yōu)點(diǎn)在于數(shù)據(jù)關(guān)聯(lián)查詢與鉆取能力,圖表繪制快速;缺點(diǎn)在于易用性不足,作為內(nèi)存型的數(shù)據(jù)可視化產(chǎn)品,數(shù)據(jù)處理速度依賴于內(nèi)存大小,對硬件要求較高。
面向大數(shù)據(jù)的可視化產(chǎn)品
大數(shù)據(jù)背景下產(chǎn)生的數(shù)據(jù)可視化產(chǎn)品如下。
Apache Superset是基于Flask-Appbuilder構(gòu)建的開源數(shù)據(jù)可視化系統(tǒng),B/S架構(gòu),集成了地圖、折線圖、餅圖等可視化方法,提供了一種方便的看板定制方法。優(yōu)點(diǎn)是系統(tǒng)可擴(kuò)展性與權(quán)限控制機(jī)制;缺點(diǎn)是系統(tǒng)穩(wěn)定性和大數(shù)據(jù)處理能力不足。
Apache Zeppelin是面向大數(shù)據(jù)的交互式數(shù)據(jù)分析與協(xié)作記事本工具,開源項(xiàng)目,B/S架構(gòu)。優(yōu)點(diǎn)是與不同大數(shù)據(jù)框架的集成能力與系統(tǒng)可擴(kuò)展性;缺點(diǎn)是需要編程,不支持異步,對于大規(guī)模數(shù)據(jù),客戶端可能需要等待較長時(shí)間。
大數(shù)據(jù)可視化挑戰(zhàn)
數(shù)據(jù)可視化在大數(shù)據(jù)場景下面臨諸多新的挑戰(zhàn),包括數(shù)據(jù)規(guī)模、數(shù)據(jù)融合、圖表繪制效率、圖表表達(dá)能力、系統(tǒng)可擴(kuò)展性、快速構(gòu)建能力、數(shù)據(jù)分析與數(shù)據(jù)交互等。
數(shù)據(jù)規(guī)模
大數(shù)據(jù)規(guī)模大、價(jià)值密度降低,受限于屏幕空間,所能顯示的數(shù)據(jù)量有限。因此為了有效顯示使用者所關(guān)注的數(shù)據(jù)和特征,需要采用有效的數(shù)據(jù)壓縮方法。目前已有的方法針對數(shù)據(jù)本身進(jìn)行采樣或聚合,未考慮數(shù)據(jù)可視化的顯示特性。近期一些學(xué)者提出了針對特定可視化場景的數(shù)據(jù)壓縮方法。但是目前依然缺少通用的面向可視化的數(shù)據(jù)壓縮方法,也缺少實(shí)際應(yīng)用的產(chǎn)品。
數(shù)據(jù)融合
大數(shù)據(jù)的另一個(gè)表現(xiàn)是數(shù)據(jù)類型多樣,常常分布于不同的數(shù)據(jù)庫。如何融合不同來源、不同類型的數(shù)據(jù),為使用者提供統(tǒng)一的可視化視角,支持可視化的關(guān)聯(lián)探索與關(guān)系挖掘,是一個(gè)重要的問題。其中涉及數(shù)據(jù)關(guān)聯(lián)的自動發(fā)現(xiàn)、多類型數(shù)據(jù)可視化、知識圖譜構(gòu)建等多個(gè)技術(shù)問題。
圖表繪制效率
隨著數(shù)據(jù)規(guī)模的增加,圖表可視化的效率問題越來越凸顯。目前,有些可視化產(chǎn)品開始采用WebGL借助GPU實(shí)現(xiàn)平行繪制。越來越多的數(shù)據(jù)可視化產(chǎn)品采用B/S架構(gòu),其性能一定程度上優(yōu)先于瀏覽器;另外,由于跨終端需求越來越普遍,也對圖表繪制提出了更多挑戰(zhàn)。
圖表表達(dá)能力
隨著產(chǎn)生數(shù)據(jù)的來源增加,數(shù)據(jù)類型不斷增加,數(shù)據(jù)使用者對于數(shù)據(jù)的交互需求越來越多,已有的數(shù)據(jù)可視化產(chǎn)品完全無法滿足使用者的可視化需求,時(shí)常出現(xiàn)需要的可視化形式產(chǎn)品不支持或支持不夠等問題。這就對于系統(tǒng)的圖表表達(dá)能力提出了更高的要求,同時(shí)對于系統(tǒng)支持使用者的個(gè)性化定制提出了新的要求。
系統(tǒng)可擴(kuò)展性
大數(shù)據(jù)對于數(shù)據(jù)可視化系統(tǒng)的擴(kuò)展能力提出了新的挑戰(zhàn),系統(tǒng)的可擴(kuò)展性將成為衡量一個(gè)大數(shù)據(jù)可視化系統(tǒng)的重要指標(biāo)。
快速構(gòu)建能力
大數(shù)據(jù)伴隨著快速變化與增加的數(shù)據(jù),如何幫助用戶及時(shí)理解數(shù)據(jù),發(fā)現(xiàn)問題,離不開數(shù)據(jù)可視化的快速構(gòu)建能力,即根據(jù)使用者數(shù)據(jù)驅(qū)動的圖表快速定制能力。數(shù)據(jù)在s級甚至ms級更新的情況下,有沒有可能實(shí)現(xiàn)圖表的秒級更新與快速定制。另外,圖表定制后的快速共享與響應(yīng)功能也將成為必要的系統(tǒng)功能。
數(shù)據(jù)分析
傳統(tǒng)的BI工具主要集中在數(shù)據(jù)篩選、聚合及可視化功能,已經(jīng)不能滿足大數(shù)據(jù)分析的需求,Gartner提出了“增強(qiáng)分析”,數(shù)據(jù)可視化只有結(jié)合豐富的大數(shù)據(jù)分析方法,將數(shù)據(jù)的探索式分析形成一個(gè)閉環(huán),才能實(shí)現(xiàn)完整的大數(shù)據(jù)可視化產(chǎn)品,有效幫助使用者理解數(shù)據(jù)。預(yù)測性分析是大數(shù)據(jù)的趨勢,數(shù)據(jù)可視化有效結(jié)合預(yù)測方法,將有助于使用者的決策。
數(shù)據(jù)交互
大數(shù)據(jù)可視化使用者需要通過可視化與圖表背后的數(shù)據(jù)和處理邏輯進(jìn)行交互,由此反應(yīng)使用者的個(gè)性化需求,幫助用戶用一種交互迭代的方式理解數(shù)據(jù)。在傳統(tǒng)的交互手段基礎(chǔ)上,更加自然的交互方式,將有助于使用者與數(shù)據(jù)更好的交互,也有助于拓展大數(shù)據(jù)可視化產(chǎn)品的使用范圍與應(yīng)用場景。
大數(shù)據(jù)可視化技術(shù)與產(chǎn)品所面臨主要挑戰(zhàn)的同時(shí)也對其發(fā)展帶來了新機(jī)遇,例如Yu等提出的面向數(shù)據(jù)流式可視化的自然語言交互接口,通過自然語言與可視化常見操作的映射實(shí)現(xiàn)。微軟Excel軟件集成自然語言交互,其中的AnnaParser算法將數(shù)據(jù)表進(jìn)行抽象并結(jié)合表格知識理解實(shí)現(xiàn)語義理解。
AutoVis
如前所述,大數(shù)據(jù)可視化面臨一系列挑戰(zhàn)。為此,課題組自主研發(fā)了數(shù)據(jù)感知的交互式可視化設(shè)計(jì)平臺AutoVis,目標(biāo)是讓大數(shù)據(jù)的可視化過程更加簡單,核心是輔助使用者快速完成從數(shù)據(jù)到圖表的設(shè)計(jì)過程,包括數(shù)據(jù)定義、圖表設(shè)計(jì)、映射過程、圖表交互與看板服務(wù)。
數(shù)據(jù)定義
AutoVis支持IoTDB、PostgreSQL、MySQL、SQLServer、SQLLite等常用數(shù)據(jù)庫類型,以及提供RESTfulAPI接口的數(shù)據(jù)服務(wù)。設(shè)計(jì)實(shí)現(xiàn)了抽象數(shù)據(jù)集構(gòu)建與計(jì)算技術(shù),支持不同數(shù)據(jù)的自由組合,通過抽象數(shù)據(jù)集歸一化,實(shí)現(xiàn)數(shù)據(jù)集的快速生成。
圖表設(shè)計(jì)
AutoVis采用模板化思想,提供了百余個(gè)覆蓋常用可視化技術(shù)的圖表模板,支持即時(shí)模板擴(kuò)展及拖拽即用,達(dá)到秒級圖表定義。另外,AutoVis提供了所見即所得的圖表組合定制看板能力,實(shí)現(xiàn)了分鐘級看板定義。
映射過程
為了達(dá)到圖表定制易用性的同時(shí)實(shí)現(xiàn)實(shí)時(shí)可擴(kuò)展性,即融合編程方式的表達(dá)能力和交互方式的易用性,AutoVis設(shè)計(jì)實(shí)現(xiàn)了3種互補(bǔ)的數(shù)據(jù)至圖表的映射方式:交互選項(xiàng)、擴(kuò)展選項(xiàng)、手工編碼。
圖表交互
圖表交互能力在大數(shù)據(jù)場景下愈發(fā)重要。AutoVis的圖表模板提供了常用的交互功能,包括點(diǎn)選、懸浮、刷選等。另外,AutoVis還實(shí)現(xiàn)了看板圖表的自動關(guān)聯(lián),支持跨圖表跨數(shù)據(jù)的鉆取能力。
看板服務(wù)
AutoVis在支持常用的看板鏈接共享基礎(chǔ)上,提供了看板服務(wù)能力,即使用者不僅可以將看板共享,或集成到其他系統(tǒng),還可以動態(tài)向看板傳遞參數(shù),動態(tài)調(diào)整看板可視化內(nèi)容。另外,AutoVis圍繞看板提供了“數(shù)字會商室”功能,使用者可以圍繞數(shù)字看板進(jìn)行數(shù)據(jù)驅(qū)動的討論與決策。
數(shù)據(jù)可視化已成為人理解數(shù)據(jù)的重要途徑,在大數(shù)據(jù)時(shí)代,人們更加需要有效的數(shù)據(jù)可視化工具直觀分析大規(guī)模數(shù)據(jù),快速捕捉數(shù)據(jù)變化。
相對傳統(tǒng)的數(shù)據(jù)可視化,大數(shù)據(jù)也帶來了數(shù)據(jù)規(guī)模、數(shù)據(jù)融合、圖表繪制效率、圖表表達(dá)能力、系統(tǒng)可擴(kuò)展性、快速構(gòu)建能力、數(shù)據(jù)分析與數(shù)據(jù)交互等多個(gè)方面的挑戰(zhàn)。有效應(yīng)對這些挑戰(zhàn)將有助于大數(shù)據(jù)可視化隨著大數(shù)據(jù)和數(shù)據(jù)科學(xué)的普及,推動其應(yīng)用到更多領(lǐng)域。