在大数据的时代,我们面临的两个相互关联的挑战是:

  1. 如何不被泛滥的冗余信息淹没;

  2. 如何通过数据提取有意义的知识和洞察。

流行的机器学习,人工智能等等虽然可以帮助我们,但是高深莫测的数学建模已经远离人类大脑的对事物认知。作为人类,当然希望能够通过我们自己的眼睛,看到数据,形成思考,推测原因。 这便是数据可视化能够存在和发展的基础。

今天我们通过各种软件包来实现数据可视化。在一两百年前,数据可视化却起源于天才们手工绘图。 例如:19世纪的法国工程师Charles Jeseph Minard精确地用可视化方法描绘了1812年法俄战争中拿破仑的惨败。

在图中:

  1. 可视化的背景是地图,标出了进军和退兵所经过的战略要地;

  2. 黄色、黑色的线条分别代表拿破仑进军, 撤退的路线;

  3. 线条的宽窄显示了军队在战争中的人数——从进军到撤退,法军在持续减员。 历史上,拿破仑起兵时的40万大军,大约只有1万人最后回到了巴黎;

能征善战的拿破仑为什么遭遇了如此惨烈的失败?

历史学家还在众说纷纭,但是这张图下方的温度曲线给出了关键的提示:从右往左,发现伴随军队的撤退,法军遭遇了可怕的严寒:从1812年10月18日到1812年12月7日,气温从0摄氏度下降到了零下26摄氏度。这让人不难联想到:严寒帮助沙俄打赢了这场大战。 一张简单的图,瞬间概括了这场的大战,完成了历史学家长篇累牍的论述。

细看图形中蕴含的数据:这张图在二维空间呈现了六个不同类型的变量:

  1. 战略要地的位置;

  2. 距离;

  3. 温度;

  4. 拿破仑的部队人数和变化;

  5. 进军的方向;

  6. 日期。

同时,撤退中的日期,温度和地点在地图上用竖线对应。用一张图展示相关的六个变量,并且提示了溃败减员的重要原因是严寒。这体现了数据可视化的要点:将各种类型的数据转换成可视化图形,帮助我们完成数据相关的思考和推理。点、线、面、颜色、深浅、符号、形状等等视觉元素都可以成为我们构建可视化的基础。

基于丰富的数据,简洁的呈现,强烈的因果关系暗示,这张200年前手工绘制的数据可视化被称为历史上最佳的数据可视化之一,在计算机绘图高度发达的今天,依然被奉为圭皋。还有人认为,工程师的图在瞬间秒杀了历史学家的笔。

透过创意而精美的图形背后,可视化的缺陷又在哪里?

图中暗示了严寒的重要作用,而其它决定战争的因素却没有提及。历史上,面对法军咄咄逼人的进攻,沙俄采取了且战且退的拖延策略,进军途中拿破仑赢的并不顺利。更糟糕的是,随着时间的推移和战线的延长,决心速战速决的法军的后勤保障越来越吃紧。法军期待洗劫莫斯科来补充给养,可沙俄在法军到来前已经决绝地将首都彻底。拿破仑在莫斯科等了五周,也没有等到沙皇的请降书,也没有等来给养。面临断粮风险的拿破仑只好撤军。在撤军的路上,沙俄开始反扑。法军输掉了大规模会战,并持续遭遇游击队和哥萨克骑兵的袭扰。此时的法军,军心涣散,伤病饥饿交加,当然,还有那越来越可怕的严寒。。。。。。

这些历史的细节是无法用数据在一张图上讲清楚的。工程师用数据画的图形和历史学家用文字讲述的历史其实完全不同。数据无法刻画战争的全部因果链条,数据更无法呈现每个战争参与者的生离死别和爱恨情仇——托尔斯泰围绕俄法战争,写了四卷五十多万字的鸿篇巨制——《战争与和平》。

因此,可视化能在瞬间影响人们对事物的认知——当人们看到气温和减员两张图的时候,会很自然的将减员归因于,或者部分归因于严寒。或者说,这张图暗示了气温和法军撤退减员之间的显著相关性。相关不等于因果,这是统计老师的叮咛和嘱咐。但是 看着这张图,我们是否会想到其它那些决定战争走向的因素呢?数据本身不会说话,看图说话的是我们自己。在画图或者读图的瞬间,知识、经历、严谨乃至操守底线都在起作用。

普林斯顿大学的统计教授Eward R Tufte提出了可视化的五个关键标准:

  1. 要综合产生数据的背景信息、统计学和设计;

  2. 要清晰、精确、有效的呈现复杂数据;

  3. 要在最短的时间,用最少的笔墨,带给读者最多的思考遐想;

  4. 要同时呈现多元变量;

  5. 要真实!

读完原图,今天的我们还可以在计算机上用原始数据复刻前人的杰作。下图是用R语言代码绘制的原图。

绘图只需要三个小小的数据集:

  1. 城市的名称和经纬度;

  2. 路过每个城市是的方向(进、退)和人数;

  3. 撤退是在每个城市的温度和日期。

Cities
long lat city
24.0 55.0 Kowno
25.3 54.7 Wilna
26.4 54.4 Smorgoni
26.8 54.3 Moiodexno
27.7 55.2 Gloubokoe
27.6 53.9 Minsk
Troops
long lat survivors direction group
24.0 54.9 340000 A 1
24.5 55.0 340000 A 1
25.5 54.5 340000 A 1
26.0 54.7 320000 A 1
27.0 54.8 300000 A 1
28.0 54.9 280000 A 1
Temperature
long temp days date
37.6 0 6 Oct18
36.0 0 6 Oct24
33.2 -9 16 Nov09
32.0 -21 5 Nov14
29.2 -11 10 Nov24
28.5 -20 4 Nov28

离开画笔,我们今天如何理解原始数据和计算机呈现的数据相关元素之间的关联?

视觉可以觉察差异的一切,如点、线、颜色、大小、宽窄、深浅,位置、形状、符号都可以成为可视化的元素,用来可视化。

Reference: https://github.com/schochastics/minard/blob/master/napoleon.R