第5章
探索数据
如果你无法为数据科学家提供可靠的数据……那么你注
定会得到一堆糟糕的分析。① 
Ifyoutelladatascientisttogoonafishingexpedition...thenyoudeservewhatyouget,whichisabadanalysis.
———托马斯·C.里德曼(ThomasC.Redman), 
“数据医生”,《哈佛商业评论》撰稿人
① 埃米·加洛主编的《哈佛商业评论管理必读:数据分析》第10章中引用了
这句话。

像数据达人一样思考和沟通


62 

在会议室中汇报和展示的数据项目总是显得非常简单明
了,但实际上却并非如此。股东们看到的往往只是一个精心准
备的幻灯片,按照从问题到数据再到结论的顺序依次呈现。但
在这当中,有些想法被忽略了,包括数据团队在得到结果的过程
中做出的那些重要决策。一个优秀的数据团队从不会只向一个
方向前进,而是会根据从数据中获得的新发现灵活地改变方向。
随着项目的推进,他们也会时不时地回到早期的想法,探索其他
方向的可能性。

这类对数据反复检验探索的过程称为探索性数据分析
(ExploratoryDataAnalysis,EDA )。这个概念在1970 年由约
翰·图基提出,指的是在采用复杂方法之前,先通过简单的汇总
统计和可视化方法获得对数据的初步认知。① 图基认为,EDA 
的过程就像侦探的工作流程一样,通过从数据当中获取更多的
线索,确定下一步的行动。事实上,EDA 是另外一种“质询”数
据的方式,它是任何数据工作当中必不可少的一部分,帮助人们
确立并不断调整项目的方向。

5.探索性数据分析
1 

有些人或许会对探索性数据分析的概念感到抗拒,因为它

① 参见约翰·图基《探索性数据分析》。

第
5 
章63 
探索数据

揭露了数据工作背后的实质(或艺术)。当两个数据团队拿到同
样的数据和问题时,他们或许会沿着完全不同的路径探索,而最
终得出的结论可能相同,也可能不同。这是因为,在探索的过程
当中要做出太多的决策,不可能始终保持一致。每个人都会根
据他们不同的背景、想法和工具,决定怎样才能最好地解决
问题。

因此,本章将探索性数据分析视为一个持续的过程,每位数
据达人都应该参与其中———不论你是第一手的数据工作者,还
是在会议室当中听报告的商业领导。你将学会在探索数据的过
程中该提出哪些问题,以及该注意哪些方面。

...................................................... .. 

..............................................

..............................................

...................................................... .. 

与项目,但这也不意味着这样的情况不会得到丝毫改善。
如果你是管理者,你不必事无巨细地参与,但也不能不闻
不问。① 

你是管理者还是负责人? 

如果你是利益相关者、管理者,或相关领域的专家,那
么请尽可能地与数据团队保持沟通,坦诚地对话,并做好进
行多轮交流的准备。与他们一起设立正确的假设,不要让
数据团队在不清楚商业背景的情况下就开始搜寻数据。否
则,他们将会采取在统计学上,而非实际应用上更有意义的
方式开展工作,而一个错误的假设将会危及后续的全部
结论。

我们完全理解管理者不能像数据工作者那样密切地参

信任
①
。
利益相关者也不应该事无巨细地参与,商业团队和数据团队之间应该保持


像数据达人一样思考和沟通64 

5.培养探索心态
2 

数据团队可以借助各类软件,通过汇总统计或可视化的方
法,快速又廉价地对数据进行初步探索。但探索性数据分析并
不应被视为一个工具清单。它更像是一种心态,应当贯穿数据
工作的每一个阶段,即使你没有相关背景也可以参与其中。

引导性问题

接下来,我们将通过一个简单的情境来帮助你培养探索心
态。例子中使用了一个常用于教学的数据集:埃姆斯住房数据
(AmesHousingData)。① 在这个例子中,我们将会简要展示探
索性数据分析的过程。

尽管正确的数据探索路径并不单一,但你可以通过提出下
面3个问题,引导你的团队得出有意义的结论。

.数据是否能解答问题? 
.你是否能从数据中发现某些相关性? 
.你是否在数据中发现了新的机会? 
让我们进入情境,依次研究这3个问题,讨论它们的价值, 
并分享你可能会遇到的困难。

背景设定

你在一家房地产行业的初创公司工作,需要为公司吸引顾
客,但你发现很难与那些房地产行业的科技巨头竞争。比如说, 

① 该数据集可以在www.kale.com/c/house-rices-advanced-reresiontechniques网站下载。
ggpg

第
5 
章

65 

探索数据

美国的Zilow公司开发了著名的Zestimate软件,用来估算房
屋的价值。这不仅为Zilow公司招揽了大量顾客,也为他们赢
得了丰厚的利润。为了与之竞争,你的公司也要开发自己的预
测软件。所以,你的任务是构建一个模型,以房屋的信息作为输
入,房屋的估价作为输出。领导给了你一个数据集作为起点,这
个数据集共有80多个变量,描述了2006年到2011年间美国艾
奥瓦州埃姆斯市售出的几百座房屋的信息。

一时间接收如此大的信息量或许会使人吃不消,但之前提
到的那些问题可以帮助你缩小范围,找到一个出发点。

接下来,让我们依次讨论这些问题。

5.数据是否能解答问题?
3 

尽管我们可能很想将所有的数据直接扔到某个时下流行的
算法当中去(例如第12章将会涉及的深度学习),但还是必须首
先询问:“这些数据是否能够解答问题?”很多时候,只需要简单
地浏览数据,就可以找到答案。

建立预期,调动常识

假如让你说出估计房屋价格时需要使用哪些信息,相信你
能说个八九不离十:房屋面积、卧室个数、卫生间个数、修建年
代等。房屋买主往往会通过这些信息在你将要搭建的网站或平
台上进行搜索。如果抛开这些信息去预测房价,将是空中楼阁。

当你打开展示数据的文件后,可以看到变量名和变量类型。
那里有我们预期之中的变量,外加一些对预估房价有帮助的定
序变量(房屋整体质量,从1到10,10代表“极佳”)、定类变量
(地段类型),以及一些其他变量。这个数据集看上去比较正常。


像数据达人一样思考和沟通


66 

接下来, 你或许会想到检查变量的取值。它们覆盖了你想
要分析的情境吗? 比如说, 如果你看到一个叫“ 建筑类型” 的变
量, 发现其中只包括独栋住宅, 却没有公寓或联排式住宅, 那么
相较于Zilo w 公司, 你的模型就更加局限。Zesti mate 可以为
公寓估价, 而如果你的数据当中没有公寓, 那么你的公司就无法
在这方面提供可靠的估值。

这里可以得到的教益是: 避免本章开头的引言中提到的问
题, 确认我们得到的数据足够可靠, 能够回答当前的问题。

变量取值是否符合直觉? 

你可以借助软件生成一系列汇总统计, 再结合问题的背景
进一步分析数据, 检查汇总统计的结果是否符合你对当前问题
的直觉理解。可视化是探索性数据分析的重要组成部分, 我们
可以借助它来发觉数据中的异常之处。

...................................................... .. 

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

...................................... ..

.. .... .... .... .... .... .... .... .... .... .... .... .... .... .. 

直方图可以显示连续数值数据是如何分布的。图5.1 
是房屋售价的直方图, 可以看到, 有125 户的售价在200000 
美元范围内,而右侧的长尾显示了那些最贵的房屋。右侧的

数据可视化示例

接下来, 我们会给出一些探索性数据分析的例子, 其中
用到了直方图、箱形图、条形图、折线图和散点图。如果你
熟悉这些图表提供的信息, 可以跳过这部分内容。

长尾使得房屋均价(181000 美元) 高于售价中位数(163000 

美元)。当存在少数非常昂贵的房屋时, 售价平均数就会高
于中位数。


第
5 
章

67 

探索数据

....................................................................................

.. 

...................................................... .. 

图5.房屋售价直方图

1 

直方图能帮助我们发现异常,如果我们看到售价为负
值(买房反而赚钱?) 或在图右侧有大量数据(这种情况往往
发生在变量设置上限的时候,比如说将超过500000 美元
的房屋都计为500000 美元), 就该引起警觉了。

箱形图①可以用来比较多组数据,图5.

2中比较了不同
质量评分的房屋售价数据,其中1代表质量极差,10 代表
质量极佳。

....................................................................................

...................................................... 


图5.2用箱形图比较不同质量房屋的售价
① 箱形图又称盒式图,图中的方形代表了中间的一半数据( 25 分位
也就是0.
数到0.75 分位数之间的数据), 方形中间的横线表示中位数,两侧的线段显示了剩
余数据的范围。线段以外的点用来表示可能的离群值。


像数据达人一样思考和沟通


68 

...................................................... .. 

.. 

.... ........ ...... ........ ........ ...... ........ ...... ........ ........ ...... ........ ...... .... .. 

.. .... .... .... .... .... .... .... .... .... .... .... .... .... 

.............................................................................................. .. 

可以看到有一座整体质量为10 分的房屋卖出了200000 

在图5.2 中, 房屋售价与房屋整体质量之间的关系符

合人们的直觉, 因为高质量房屋往往会以更高的价格卖出。

美元( 见下方线段的终点), 但我们有理由认为, 有其他因素
导致了它比其他10 分房屋的售价更低。这是数据工作者
应该特别注意的信息。

图5.3 中的条形图也可以用来显示分类数据的分布。

图5.3电力设施种类条形图
并非所有的图表都值得一看, 但检查图表仍然有助于
回答前面的问题: 变量取值是否符合直觉? 图5 .3 显示, 绝
大多数的房屋都采用了同一种电力设施, 对于当前的任务, 

这是一项有意义的信息: 由于这个变量的取值几乎完全一
致, 那么它就不会显著影响房屋的售价。

图5.4 则展示了售出房屋数量随月份的变化, 你可以
很明显地从中看到每年夏季是房屋售卖高峰, 而冬季则是
低谷。这种现象称为季节性(seasonality)。折线图可以帮
助你发现这类趋势。


.. 

.... ........ ...... ........ ........ ...... ........ ...... ........ ........ ...... ........ ...... .... .. 


第
5 
章

69 

探索数据

...................................................... .. 

.. .... .... .... .... .... .... .... .... .... .... .... .... .... 

.............................................................................................. .. 

这一部分简要介绍了你能快速从图表当中获取的信息。


图5.售出房屋数量随时间变化的折线图

4 

图5.5 是房屋售价与面积( 如果是多层住宅, 取单层的
面积) 之间的散点图。图5.5 中的趋势也符合我们的直觉, 

一般而言, 更大的房子就会更贵。当然, 也会有例外, 

有的

时候小房子反而比大房子更贵。其他因素会对房屋售价造
成影响, 但整体趋势是符合我们直觉的。而当我们想要预

测房屋售价时, 房屋面积看上去可以提供很有价值的参考。

图5.5房屋售价与面积的散点图
如果你想更深入地了解数据可视化,我们在此推荐两本书: 


像数据达人一样思考和沟通70 

.. .. .. .. .. .. .. .. .. .. ..

.. 

...................................................... .. 

. NowYouSeit: SimpleVisualizationTechniquesfor 
.................... .. 

QuantitativeAnalysis,StephenF ew(Analytics 

Pres,2009 ) 

. TheVisualDisplayofQuantitativeInformation, 
raphicsP res,2011 ) 

.. .... .... .... .... .... .... .... .... .... .... .... .... .... 

Ed wardT ufte(G 

注意: 离群值与缺失数据

每个数据集当中都会有异常值、离群值和缺失数据, 重要的
是如何处理这些状况。

比如说, 在图5.2 中, 有几个数据点被标记为可能的离群
值。但不要仅因为将这些点划为了离群值, 就不假思索地认为
它们毫无用处, 可以直接删掉。如果仅因为可视化结果就删除
有用的数据点, 那么你的预测软件将永远无法超过Zilo w 公
司。相反, 应该考虑问题的背景: 在房地产行业, 常常会出现某
间房屋的售价远高于其他房屋的情况。回想第4 章中的内容, 
在移除离群值之前, 你需要给出充分的商业理由。在这个例子
中, 你能找到合适的理由吗? 

除离群值外, 缺失数据呢? 如果“ 地下室面积” 数据缺失, 是
代表这间房屋有地下室而面积未知, 还是意味着没有地下室, 因
此应该被设为0? 

如果前面的内容看起来过于琐碎, 那其实是笔者有意为之。
数据工作者在从事一个项目时, 需要做出数以百计的小型决策, 
而它们积累起来, 影响将会是巨大的。如果任由数据工作者自
行探索, 而不为他们提供该领域内的专业意见, 那么数据工作者
可能会不断地削减数据, 移除困难的数据点, 直到数据本身无法