了解你想弄清楚的问题
在很多时候,与数据打交道跟采访(现场)信息源一样,你需要通过挖掘跟数据相关的问题来揭示答案。但正如同信息源只能告知其掌握的相关信息,数据也只有在被正确地记录、拥有恰当变量的情况下才能回答你提出的问题。这意味着,在获取数据之前你就需要仔细考虑清楚你想要通过数据来回答什么问题。因此,通常你的数据处理工作是回溯性的。首先,列出你想在报道中通过数据来证明的论点。然后,为了证明这些论述,确定该获取、分析哪些变量和数据记录。
以当地犯罪报道为例子。比方说,你想写一篇揭示所在城市犯罪模式的报道,那么就会涉及到在一天中的哪个时段,或者是在一周中哪几天最容易发生犯罪行为;又或者,哪些地方是各种犯罪行为的“热点”区域。
那么,你会意识到,你需要的数据包括(报导中每次)犯罪的日期和时间、犯罪的类型(杀人,盗窃,爆窃等)以及犯罪发生的地点。因此,为了回答你所提出的问题,你至少需要日期、时间、犯罪类型和地点这四个变量。
不过,需要注意的是,如果数据集只包括这四个变量,一些潜在的有趣问题就_无法_得到回答。比如说,受害者的性别与种族、被盗窃财产的总价值,以及哪位警官逮捕罪犯最卓有成效等。此外,你获得的相关数据记录可能只涵盖一段时间,比如说过去三年。这意味着你没法说明犯罪模式在一个更长的时间段里是否发生了变化。这些问题可能并不在你原本的报道计划当中,那么,这就没有问题。但是,你一定不会希望当你一股脑扎进数据分析之后,突然决定要知道这些不在计划当中的数据,例如,在不同的地区,犯罪分子被绳之于法的比例是多少的情况发生的。
这里的经验教训是,数据需求应当是包括数据库中所有变量和记录的_完整_数据,而不是为了解决当下报道中需要回答的问题而获取的子数据集。(事实上,如果你需要花钱来获得所需要的数据,那么获取完整数据往往比只要一个子数据集便宜。)你可以随时从数据中截取需要的那部分,而获得完整的数据后,还可以帮助你回答报导中可能遇到的新问题;你甚至还可能从中为后续报道找到新点子。虽然,某些信息,比如受害人的身份或是秘密线人的姓名,可能会因为保密法或者其他法规而无法公开。但在报道当中即使是部分的数据呈现也远远比没有好,只要你明白哪些问题是通过数据分析可以回答的,而哪些不能。
清洗数据
数据库工作中最大问题之一是,你需要将基于官僚管理需要而收集的数据拿来做分析使用,可问题是,这两类数据的精确标准大不一样。
例如,犯罪司法系统数据库的一个重要的作用是轮到被告人琼斯被听证的时候,确保他能够从监狱里被带到法官史密斯面前。出于此目的,琼斯的出生日期是否准确、住址的街道名称有没有拼写错误,甚至他的中间名缩写有误,真的一点都不重要。一般情况下,该系统仍能用这份不完美记录在指定时间把琼斯带到史密斯的法庭上。
但是,这些错误会严重影响记者试图通过数据库来发现当地犯罪模式而所做的努力。基于这个原因,当你获得一个新数据库时,首要任务是确定它到底有多凌乱,然后把它清理干净。一个有效快速的方法可以找到错误数据:创建统计绝对变量的频次表,绝对变量即那些预计变值会相对较少的变量。(如果是用Excel,你可以通过在每个绝对变量上使用筛选或者透视表来实现)。
用“性别’来举个简单例子。你会发现,你的性别栏中有各种数据值:男性、女性、男、女、1、0、男人、女人等等,甚至还有诸如“Femal”这样的错误拼写。为了做一个合理的性别分析,你需要制订一个标准——比如说用M和F来分别表示男性和女性——然后改写所有的不同写法以符合该标准。另一个常常会碰到这类问题的数据库是美国竞选财务记录。在这个数据库中,职业一栏中,(比如律师这一职业)会有诸如“Lawyer、”“Attorney、”“Atty、”“Counsel、”“Trial Lawyer’等多种多样的写法以及拼写错误。同样的,解决问题的诀窍是规范职业称呼,避免过多的变化。
处理名字的时候,数据清理的工作变得更加棘手。“约瑟夫·T·史密斯’、“约瑟·史密斯’、“J.T.·史密斯’、“约什·史密斯’是同一个人吗?这时候需要查看其它的变量,比如说地址或是出生日期。有时候甚至需要仔细研究别的数据记录才能够确定。通过使用类似于Google Refine这样的工具可以让清理和标准化的工作更加快捷,不那么劳累。
脏数据
多亏美国总体来说完善的公共档案法规,得到数据并不像在某些国家一样是个很大的问题。但是我们得到这些数据后,仍然面临着处理数据的一些麻烦,这些麻烦并非分析技巧上的,而是官僚系统带来的。这些数据大多都是“`脏”的,大多都是不标准的。有几次我收到的数据和它应该又的数据格式并不相符,也没有数据词典可供参考。有些机构仍然坚持发放尴尬的类似.pdf格式的数据,还要重新转换格式。这样的问题让你偶尔得到一些干净整洁的数据包的时候会十分欣喜。
— 史蒂夫·多伊格(Steve Doig),沃尔特·克朗凯特新闻学院,亚利桑那州立大学
数据可能包含未记录的内容
任何数据库的“罗塞塔石碑”就是所谓的数据字典。一般而言,这个文件(通常是text或者PDF甚至是电子表格)会告诉你这个数据的格式(delimited text、fixed width text、Excel、dBase等),变量的顺序、各个变量的名字以及各个变量的数据类型(文本字符串、整形、浮点等)。你可以利用这些信息帮助你把数据文件恰当地将导入到你想使用的分析软件中(Excel、Access、SPSS、Fusion Tables、各种SQL等)。
数据字典中还有另一个关键元素——解释特定变量的信息使用的代码。例如,性别可能被编码,使“1 =男“和”0 =女“。罪犯们的罪行种类可能会以司法管辖区的法规号码来代替。医院治疗记录可能会用数以百计的五位数代码中任何一个来表示对受诊病人的诊断。没有数据字典,这些数据集很难、甚至不可能被正确地分析。
但是,即使数据字典在手,还是会出现问题。一个例子是,若干年前佛罗里达州的《迈阿密先驱报》记者分析因酒醉被捕的人们受到的判罚如何因不同的法官而发生变化。记者从法院系统获得定罪纪录,并根据数据字典分析了三个不同的处罚变量的数据:监禁时常(时长)、拘留时常(时长)和罚款金额。这三个数据会因法官的不同而有所变化。记者以此为证据,写了篇关于有些法官判罚严厉、有判罚些温和的报道。
但每一位法官都有约1-2%的判决数据没有显示监禁时间、拘留时间和罚款金额。因此,在展现(展示)不同(每个)法官的判决模式的图表中,都有一小部分案子显示“没有惩罚(零处罚)”,(即使在复审时)。当新闻报道和图表出现在报纸上后,法官们厉声抱怨《迈哈密先驱报》是在控告(控诉)他们违反州法律,因为根据州法律,任何人酒后驾驶都要受到惩罚。
因此,记者又回到了生产(制作)这些数据文件的法院办公室(书记员那里),询问是什么造成了这个错误。他们被告知,这些(被质疑的)案件涉及的是首次被捕而经济窘迫的被告。一般情况下,他们会被要求支付罚款,但他们没钱。所以法官判罚他们去进行社区服务,比如说清理街道上的垃圾。由此导致的结果是,数据库结构创建完成后,这些法律要求的惩罚被忽略了。因此,每一位书记员都知道,在数据中,监禁、拘留、罚款都显示空白就意味着社区服务。然而,这_并没有_在数据字典中被标注出来,并因此造成《迈哈密先驱报》发布撰写(更正)启事。
在这种情况下(这件事)的教训是,要向给你数据的工作人员(机构)咨询,数据中是否有未记录的数据(元素),无论它是新近创建、还未被收录入数据字典的代号(代码),还是文件布局改变(编排的改动),亦或者是别的什么东西。此外,不要忘记检查你的分析结果,并问:“这有意义(讲得通)吗?”《迈哈密先驱报》的记者绘制图表已经临近截稿时间,并且他们过于专注在每名法官的平均判罚水平,没有注意到那些看上去“没有收到惩罚(零处罚)”的(容易忽略的)少数案件。他们应该问自己,如果真是如此,所有的法官(看起来)都违反了州法律(是否讲得通),哪怕仅仅是在很小的程度上。
— 史蒂夫·多伊格(Steve Doig),沃尔特·克朗凯特新闻学院,亚利桑那州立大学
混合、隐藏和缺失的数据
我记得一个有趣的事情,我们尝试从欧盟农业津贴中整理出匈牙利的数据,虽然数据就在那,但那是一个巨大的pdf文件,还混杂了各种国家农业津贴的数据,我们的程序员工作了很长时间才让数据终于可以使用了。
那次处理关于欧盟渔业津贴数据的经历也很有意思,27个成员国家的支付机构都有义务公开这类信息。这是我们撰写的这个项目的报告摘要:“以英国为例,提供的数据格式从人性化的html搜索页到pdf样样都有,甚至还有藏在新闻稿底部的各种格式的接受津贴人员名单。这些都还只是一个成员国的报告。在德国和保加利亚的报告中,空的名单仍然会被发布。报表的标题十分有用但是下面没有任何数据。”
— 布里奇特·阿尔夫特(Brigitte Alfter),Journalismfund.eu
CIO之家 www.ciozj.com 公众号:imciow