第二章 识别数据问题

数据科学与其他领域诸如数学或统计学完全不同。数据科学是一种实用的活动,数据科学家提供需求,并且帮助数据使用者解决问题。在解决一个问题之前,首先需要明确该问题,而这个过程却并不总是看起来那么明显。在这一章中,我们将要讨论如何识别数据问题。

种植苹果的农民经常生活在担忧中:春天花开的时候,一场霜冻足以冻死这些美丽的花朵;夏天结果的时候,一场冰雹或是飓风则会让所有的果实覆灭。一般而言,农业耕种是物理世界中最重要的活动,受到诸如天气等极其复杂的、远远超出了人类控制范围的自然因素的影响。

在这物理世界中高度不可预测的自然力量面前,数据科学是否占有的一席之地呢?表面上看似乎没有,但能否就此盖棺定论?要做到非常敏锐地识别数据问题,你需要有开阔的思维,强烈的好奇心和蓬勃的创造力,并且总是乐意不断的提出问题。事实上,正如你在第一章中得到的印象那样,数据科学家们往往整天坐在电脑面前,处理一段让人抓狂的R编写的程序。每天,数据科学家们必须专注于他们要处理问题的领域。显然,你可不能让一个数据科学家去做农活,但是如果你想要认识到农民才会遇到的数据问题,那么你必须学会像农民一样去思考问题,至少在一定程度上如此。

你可以通过阅读和观看视频来获取一个领域的专业知识,但是最好的办法是询问“相关的专家”(比如上面例子中的农民)来了解他们都干什么。询问问题的流程应当因问题而异,但是通常都可以从以下三个方面考虑。首先,你可以让这些“相关的专家”把他们所做的事像故事一样告诉你;然后你可以询问他们一些反常现象:哪些异常的发生导致最终结果变得更好或是更差;最后,你可以询问风险和不确定因素:哪些情况是难以确定是否会发生的,哪些情况将会对结果产生极大的影响,无论是好的影响还是坏的影响。这三个方面的每一部分都体现了识别数据问题的方法,通过数据,信息以及在正确时间做出的正确决策,可以让事情变得更好。

为什么要像听故事一样来提问呢?这是因为人们往往习惯于讲故事的思维,无论是农民、教师还是经理人或是CEO,人们总是讲述或倾听他们领域中那些成功或失败的例子。故事是一种非常强力的交流智慧,无论是在同一专业领域的不同人之间交流的时候,或是不同领域的人要获得对别的领域的初步认识的时候。当然,唯一存在的问题就是故事有可能是错的。

如果你可以让一个专业人员像说故事一样讲述她如何管理她的工作,接下来你就应该考虑如何来核实这些故事。即使不直接向故事叙述者询问故事的真实性,你也可以想到很多方法并从不同方面来验证故事中发生的事情。最终证实(也可能是揭穿)这些故事。

举例说明,一个农民可能会告诉你,在5年前发生的那场非常严重的春季霜冻中,在山谷中的树木都幸免于难,而山脊上的树木则受到严重的毁坏。由于这个原因,在一个寒冷的夜晚,这个农民在山脊上布满了烟熏罐(一种存放燃料用以产生烟火的容器),他坚信这个策略能起到作用。但事实是否如此呢?我们可以从不同地理位置收集一系列温度数据,包括果园里寒冷夜晚和暖和夜晚的温度,放置烟熏罐和不放置烟熏罐的夜晚的温度等,这些都是可行的。有了这些数据,我们就可以建立一个果园里不同位置的温度变化模型,这个模型就可以支持、改善或揭穿这个故事。

另外一种识别问题的策略就是寻找异常的例子,不管是好的还是坏的。稍后我们将在这本书中了解到经典的统计推断方法的核心是如何来描述“中心”的。“中心”是指出现的大部分的典型情况,通过检查那些远离中心的例子,就可以获取到能帮助我们理解环境干预或异常结合等信息。识别异常例子对理解事情工作原理非常有用,但前提是要定义大部分典型情况发生的中心,这样才能对何为异常情况有个清楚的认识。

让我们再回到农民朋友的这个例子上来,在去年夏末的一场大雷雨来之前,果园中吹过了一阵强风,将一些水果从树上打落下来。大部分的树都只掉落了少量的水果,并且这些水果都掉落在树根附近。而有少部分的树掉落的水果数量却明显多很多,而且掉落的位置也离树较远。这是因为这风非常奇怪,故意在这个位置上造成这个结果的吗?或者这只是一个巧合而已?

如果按照树的随机样本来对掉落的水果进行系统的统计,也许可以回答这个问题。从这个统计结果中应该能看到,大部分的树掉落的水果数量是大致相同的,更重要的是,这些正常情况可以给我们一个清晰的界限用以区分正常和不正常的情况。当我们找出了明显超出了正常范围的反常的例子时,我们就可以专注于这些反常的例子;通过这些异常,更好的理解事情发生的原理。

还有第三种识别数据问题的方法,就是明确事情存在的风险和不确定性。前面章节提到过,信息的一个基本功能就是用来降低不确定性。风险极大的影响着我们所做的事情,因此考虑降低不确定性就显得非常重要了。无论在单位,学校,或是家里,生活总是充满了风险:一个决定或是未能完成某件事情都可能引发一连串事情,从而导致某些事变好或变坏,这都很难说。一般情况下,我们都希望尽可能的获得好的结果,尽量避免结果变坏,缩小事情变化范围。要实现这样的目的,我们必须做出更好的决策;而想要做出更好的决策,我们就需要降低不确定性。数据科学家就是通过询问事情的风险和不确定性(以及做出的决策)从而能将注意力集中到关键问题上。回顾前两个策略——询问包含专业知识的故事和询问异常例子,其潜在的目的都是为了降低风险和不确定性。

还是农民这个例子,其中主要的风险都是来自于天气,通常情况下,解决天气不确定性的对策都是很划算的。在烟熏炉消耗大量昂贵的燃油来使夜晚暖和是一种非常浪费资源的表现,这在盈利的年份和亏损的年份将产生明显的不同。因此,想通过数据来解决这个问题,那么关于这个地区气候条件更加精确、合适的信息将是一个非常关键的部分。如果农民的手机上有一个应用能及时的播报当地的天气情况会怎样呢?让我们来建立一个这样的应用……

下一节: “R”是一个开源软件程序,由一群正在使用它的科学家,研究员和数据分析师们自愿服务来对它进行维护。“R”是免费下载和使用的,而且在线提供大量的建议和指导资源帮助用户学习R,这一点是非常好的,因为R是一个非常有力的和复杂的程序,现实中,它是一个专注于数据分析的功能全面的编程语言。