序言
我们对统计图形可以有完全的控制,这种自由在某些情况下很重要,但我们的大脑永远比我们的工具重要。
大多数情况下,将连续数据分组是很糟糕的数据处理方式,例如将年龄数据分为0-10 岁、 10-20岁等,这一点在作图的数据预处理中尤其常见,我们应该尽量避免这种损失数据信息的处理方式,不能为了作图而作图:即让图形去配合数据,而不能让数据去配合图形。
设计统计图形需要综合考虑数据处理、统计模型和用户心理等,任何一个环节上的失误或偏颇,都可能使图形带来相反的作用——不仅不能展示数据中的信息,反而带来误导。
数学只是研究统计学的一种角度,它奠定了统计学的理论基础,但这不是统计学的终点或全部。
顾炎武在《日知录》中引用过《易经》中的一句话:“形而上者谓之道,形而下者谓之器。”对本书来讲,统计作图的(计算机)技术本身即为“器”,而数据处理以及统计图形的灵活应用则为“道”。本书的写作目的正是希望能够基于“器”的练习和启发,让读者在统计数据处理和分析中真正得“道”,使统计图形在数据的探索分析中发挥福尔摩斯探案般的功效。
1. 历史
我们的目的并非仅限于如何作出漂亮的统计图形,而是在作图的同时,强调图背后更重要的工作,那就是“数据分析与统计图形的有机结合”。
总的说来,要把图形提到“统计分析”的高度,就一定要搞清楚统计图形的来龙去脉,包括原始数据的来源和类型、统计量的计算、图形的构造与组合机制等,这与统计模型实际上没有本质的区别:若不清楚模型的假设前提、计算原理以及相应的结果解释,同样也不能随便使用模型分析。除了图形本身之外,用好图形分析还需要一定的洞察力,最简单的莫过于观察数据的分布状况、离群点、线性/非线性关系等表面观察,而更重要也是最本质的莫过于洞察到种种规律或异常现象背后的深刻原因,至此,我们才达到了分析的目的。
2. 工具
在人们通常的观念中,图形往往代表着简单,然而直观与简单是两个不同的概念,图形的首要作用的确是直观展示信息,然而这里的信息未必是简单的。一幅优秀的统计图形背后也许隐藏着重要的统计量,而统计量是统计图形的最关键构成因素。
我们通常见到的所谓统计图形也许只是 Microsoft Office Excel 的产物,事实上,Excel 的图形总体看来只有三种,第一种是表现绝对数值大小,如条形图、柱形图、折线图等,第二种是表现比例,如饼图,第三种则是表示二维平面上的变量关系,如 X-Y 散点图;从更广泛的意义上来说,Excel 展示的几乎都是原始数据,基于数据的统计推断的意味比较淡薄。而统计学的核心研究对象是什么?答案应该是分布(Distribution),注意分布不仅包含一元变量的分布,而且更重要的是多元变量的分布,诸如“均值”、“方差”、“相关”和“概率”等概念都可以归为分布的范畴。无论Excel 的图形如何搭配色彩、怎样变得立体化,都跳不出上面三种类型的限制,而且不能全面妥善表达统计学的要义。可能正是因为这样的原因,统计图形界内的一位大家 Leland Wilkinson 才说给统计刊物投稿时永远不要用 Excel 作图。
总体来说,自动化是好事,但如果为了自动化而大幅度牺牲可定制性,则可能得不偿失了。
要想真正精通统计图形,则应首先要练好基本功(例如对图形基础元素或构造作深入的了解),然后在此基础上通过各种抽象、提炼和认识最终上升到理性认识的境界(自如地表达统计量)。
R 的核心是一种解释性计算机语言,大部分用户可见的函数都是用 R 语言编写的,而用户也可以调用 C、C++ 或者 FORTRAN 程序以提高运算效率。
计算机科学家 Nikiklaus Wirth 曾经提出,程序语言的经典构成是“数据结构+算法”:数据结构是程序要处理的对象,算法则是程序的灵魂。
3. 元素
透明度在统计图形中有着重要地位,因为它具有一个非常有用的性质——透明度可以叠加,即:两个或多个带有透明色的图形元素重叠在一起时,重叠部分的透明度会变小。
我们在实际应用中,往往过于依赖和相信计算机程序,认为所有默认设置都是最优或最可靠的,实际并非如此,否则所有的函数都没有必要设置参数了。大多数迭代性质的算法都会涉及到:迭代起点通常需要和真实的解相隔较近,但这个要求不具备可操作性,因为我们并不知道真实解在哪里;步长通常尽量小,保证迭代能稳定收敛,否则迭代过程中跳跃很大不容易找到解,但小步长的缺点也很明显,它使得迭代进行得很慢;迭代次数通常需要尽量大;误差显然应该越小越好,例如在求根的问题中,我们希望目标函数值越接近于 0 越好。
作者对流行的结构方程模型一直持保守态度,原因就是很少有人关心计算层面的东西,把一切都交给计算机去做,殊不知结构方程模型的目标函数是何等的复杂:一个普通的模型可能就包含三十个参数,这些参数是矩阵的构成元素,而目标函数又是由矩阵的逆、行列式等运算构成。也许作者在这个问题上多虑了,但作者所看到的模型应用者几乎无人关心迭代起始点和迭代次数,甚至有人为了防止“坏情况”发生,故意将迭代初始值或者随机数种子固定住,这样的运算毫无疑问是稳定的,但它是否可靠,还值得验证。
从某种程度上来说,在 R 语言中作图缺的不是工具(工具俯拾皆是),而是创意、思考以及对数据的理解。
4. 图库
他解释说:“你要明白,我认为人的大脑原本像一间空空的屋子,必须有选择地用一些家具填满它。只有笨蛋才把他碰到的各种各样的破烂都塞进去。这样的话,那些可能用得上的知识就被挤了出来;或者,充其量也只是把那些破烂同其它东西混杂在一块儿。结果,在需要时却难得找到了。因此,一个善于工作的人,对于将什么东西纳入自己的头脑里是非常仔细的。他只会容纳那些工作时用得着的工具,而且又将这些工具分门别类,安排得井然有序。如果认为这间屋子的墙壁富有弹性,可以随意扩展,那就大错特错了。毫无疑问,总有一天,当你增加点滴知识时,却把从前熟悉的知识给忘记了。因此,不要让无用的信息挤掉那些有用的信息,这一点是至关重要的。” ——柯南·道尔《血字的研究》
直方图的理论并非想象中或看起来的那么简单,窗宽也并非可以任意选择,不同的窗宽或区间划分方法会导致不同的估计误差。关于这一点,Excel 的直方图可以说是非常不可靠的,因为它把区间的划分方法完全交给了用户去选择,这样随意制作出来的直方图很可能会导致大的估计误差、掩盖数据的真实分布情况。另外一点需要提醒的是关于直方图中的密度曲线,SPSS 软件在绘制直方图时会有选项提示是否添加正态分布密度曲线,这也是完全的误导,因为数据不一定来自正态分布,添加正态分布的密度曲线显然是不合理的。
5. 系统
6. 数据
交互作用仅存在于模型中有多个变量时的情形,它的含义是一个自变量对因变量的影响系数受另一个自变量的取值水平影响。
7. 原则
从技术角度来说,作图是一件很容易的事情,但作一幅好的统计图形则并非易事,它需要一些指导原则。那么图形优劣的评判标准是什么?最直接的标准就是,读者能否通过图形清楚地了解数据中的信息。
当图中存在离群点时,解决办法之一就是取对数,这种办法能减轻数量级的影响,数据越大,则被拉向原点的幅度越大。
在图形中,我们提倡尽量表达原始数据,而不要人为处理数据,包括不要省略数据,以及不要离散化数据。
为什么我们不推荐将连续数据离散化?原因非常简单:连续数据包含的信息比离散数据多,离散化处理会损失信息。或者通俗解释:你问一个人的年龄,若得到的回答是“20 岁到 50 岁之间”,你必然觉得不够满意。
提倡用尽量简单的图形元素表达尽量多的数据信息;用更量化的指标来说,就是“数据/墨水比”要尽量高,意思是用少的墨水打印出多的数据。
据作者的观察,这一点在英语文献中似乎做得相对好一些,图形通常有明确的标题,而且标题就像一段完整的话,但大多数中文文献中的图都惜字如金,图的标题只有一句话,关于图的解释通常放在正文中,这种做法可能会让读者无法专注于图形的阅读,因为需要不断回到正文结合相应的解释文字来理解图形。理想情况下,一幅图配上相应的标题文字解释,应该能够形成一个相对独立而完整的故事。但话说回来,如果一幅图需要太多的文字解释,那么这幅图本身的设计质量也值得怀疑,作者可能需要考虑简化图形。
后记
诗云:人事有代谢,往来成古今。江山留胜迹,我辈复登临。