我剛接觸資料視覺化是在 4 年前,那時候一位大學老師 S ,叫我們使用 R 對資料進行統計分析(對,哥也學過一陣統計呢),其中有部分知識點是用 R 繪製箱線圖、散點圖之類的視覺化結果。
從此對資料視覺化產生了濃厚的興趣,現在系統地來學習一下資料視覺化。今天分享一些關於資料視覺化的基本流程。
做任何事情都有章可循,資料視覺化也是一樣,而且視覺化的基本步驟、流程和體系都是通用的, 不同的資料都可以按照下面的模型將資料視覺化。
這裡給出的步驟不是教大家怎麼畫出一幅「信、達、雅」的視覺化結果圖,而是傳遞一種思想,也就是視覺化方法論。
視覺化基本流程
視覺化不是一個演算法,而是一個流程,有點像流水線,但這些流水線之間是可以相互作用的、雙向的。
我們可以簡單地將視覺化流程分成三個部分:前端、處理、後端,這和軟體的開發流程不是一個概念。
文字看起來不太直觀,直接上圖:
圖中涉及到幾個主要的部分:
- 資料採集。資料的採集直接決定了資料的格式、維度、尺寸、解析度、精確度等重要性質,在很大程度上決定了視覺化結果的質量。
- 資料變換。這個過程包括去除資料噪聲、資料清洗、提取特徵。
- 視覺化對映。視覺化對映是整個視覺化流程的核心,它將資料的數值、空間位置、不同位置資料間的聯絡等,對映到不同的視覺通道,關於視覺通道部分可以看這篇文章——資料視覺化的基本原理——視覺通道。
- 使用者感知。資料視覺化和其他資料分析處理辦法的最大不同是使用者。使用者藉助資料視覺化結果感受資料的不同,從中提取資訊、知識和靈感。
上面的視覺化流程雖然簡單,但也要注意兩點:
- 上述過程都是基於資料背後的自然現象或者社會現象,而不是資料本身。
- 各個模組的聯絡並不是按照我畫的順序來聯絡的,他們之間的聯絡更多是非線性的,任意兩個模組之間都可能存在聯絡。
其他視覺化流程
科學視覺化流程
這個模型跟上面的簡化流程類似,按照資料收集、處理、對映等步驟來組織視覺化,步驟更明確一些。
資訊視覺化流程
這個模型由 Card 等人提出,把流水線式的視覺化流程升級為迴路,使用者可以操作任何一個階段。現在大多數視覺化流程都是仿照這個來的,大多數系統在實現上可能會有些差異。
人機互動視覺化模型
可視分析通過人機互動自動處理和視覺化分析方法緊密結合在一起。下面這個圖表示最新的視覺化分析模型:
從資料到知識有兩個途徑:
- 對資料進行互動視覺化,以幫助使用者感知資料中蘊含的規律
- 按照給定的先驗,進行資料探勘,從資料中直接提煉出資料模型。
在這兩個途經,使用者可以對模型視覺化,也可以從視覺化結果中構建模型。
在許多應用的場合,視覺化分析操作的物件是多源異構資料。這些資料中,很多噪聲、非結構化資料、異常資料,視覺化介面幫助分析人員在自動分析時,直觀地看到引數的修改或者演算法的選擇,增強了模型評估的效率。
此外,允許使用者自主組合自動分析和互動可視分析的方法是可視分析學流程的基本特徵。在這個過程中,我們可以通過視覺化及時發現中間步驟的錯誤,或者自相矛盾的錯誤,提高了可信度。
綜上,資料視覺化發展到現在,人機結合是多個時代的疊加產物。一方面,機器智慧在某些方面可以做到人類數億年都完不成的工作;另一方面,人類的經過幾億年的進化,有些“只可意會,不可言傳”的技能,即推理分析能力。
參考文獻:
[1] 陳為 沈則潛 陶煜波. 資料視覺化[M]. 電子工業出版社, 2013.
浙江大學-陳為、巫英才資料視覺化課程
[2] Haber, R. B. and McNabb, D. A. Visualization idioms: A conceptual model for scientific visualization systems, 1990.
[3] Card S K, Mackinlay J D, Shneiderman B. Readings in information visualization: using vision to think[M]// Readings in information visualization. Morgan Kaufmann Publishers, 1999:647-650.
歡迎大家關注微信公眾號:視覺化技術( visteacher )
不僅有前端和視覺化,還有演算法、原始碼分析、書籍相送
個人網站:blog.kurryluo.com
各個分享平臺的 KurryLuo 都是在下。
用心學習,認真生活,努力工作!