2016年,大数我在某电商平台做数据清洗时,据论发现一个诡异现象:用户“张三”的文字收货地址在三个月内横跨了七个省份,每个地址都精确到门牌号。大数系统判定这是据论异常账号,但人工核查发现,文字这位用户是大数位退休卡车司机,他的据论购物车装满各地特产,收货人永远是文字“女儿小美”。这个案例让我意识到,大数大数据最迷人的据论不是海量本身,而是文字数据背后那个具体的人。
大数据论文写了三年,大数我越来越觉得,据论数据清洗比数据采集更考验功力。文字原始数据里藏着太多“脏东西”——重复记录、缺失值、逻辑矛盾。就像你从菜市场买回带泥的萝卜,清洗不是把泥全刮掉,而是分辨哪些泥是运输途中沾上的,哪些是萝卜本身长歪了。我见过最极端的案例,某医疗数据库里同一个患者的血型字段,居然同时存在“A型”和“O型”两个值。后来追溯发现,是不同科室录入习惯不同,血液科用“A”,急诊科用“O”代表“Other”。这种语义歧义,比单纯的缺失值更隐蔽,也更危险。
讲个反直觉的发现。去年帮某城市交通部门分析共享单车数据,按常理,早高峰应该集中在7-9点。但清洗掉异常值后,曲线出现了一个诡异的“第二驼峰”——上午10点半到11点半,骑行量突然飙升。起初以为是数据错误,翻看原始日志才发现,那是附近三所小学的放学时间,家长用共享单车去接孩子,后座载着书包。这个案例说明,数据里的“异常”往往是现实生活的真实切片,清洗时不能一刀切。
数据可视化是另一层考验。你费尽心思清洗完数据,画出的图表却可能误导人。比如用饼图展示市场份额,如果某个类别占比小于5%,在饼图上几乎看不见。这时候改用条形图,小份额的类别就能凸显出来。做大数据分析的人,得学会跟图表“较劲”——不是追求好看,而是追求不骗人。有次我做了个热力图,颜色从浅蓝到深红代表密度,结果客户盯着深红区域说“这里生意最好”,实际上那是数据清洗时遗漏的重复记录堆出来的假象。
说个行业里不太光彩的真相。很多号称“大数据驱动”的决策,其实只用了几个关键字段。比如金融风控,真正起作用的可能是“历史逾期次数”和“收入负债比”,其他几百个维度都是撑场面。这就像做菜,配料表写了几十种,但决定味道的就那三五种主料。数据清洗的价值,恰恰在于帮你把主料挑出来,把那些充数的花椒八角放回调料盒。
回到开头的卡车司机。后来我们专门为这类跨地域移动用户建立了“流动地址识别模型”,把地址变化频率和购买行为关联起来。数据清洗不是把异常抹掉,而是理解异常背后的生活逻辑。当你能从一堆乱码般的地址里,读出父亲对女儿的牵挂,那才是大数据真正开始说话的时刻。