大数据:数据科学的陷阱与缺陷
扫描二维码
随时随地手机看文章
最近看新闻,发现数据科学专业已经是北京大学高考入学门槛较高的专业了,其实"Data Science" 这个词性感了快十年了,对互联网行业而言,相当于性感了一个世纪。
从“数据说话”,”DT 时代”,到 “数据中台”,“数据驱动(Data Drive/Data Driven)”,数据体系的不断演进正在持续的改变大家的工作与决策方式;正在不断的革新大家的思维方式;同时也产生了新的商业逻辑,新的发展机会。
1976 年,Pascal 作者 Nikalus Wirth 曰:Algorithms + Data Structures = Programs.
就像之前的“SOA”,“云计算”等概念一样,目前数据科学自身的概念还在不断的变革,各家公司的实践者们一边摸索,一边获利;一边总结,一边布道;当然同时还参杂着很多凑热闹的同志把概念折腾的更加模糊。所以数据科学本身的能力边界,方法论体系,最佳实践等等还没有完善的建立起来,有很多问题没有办法很好的回答。由此就会产生一些迷信和误会,”强行数据“,”随意数据“,”政治正确数据“等等情况比较常见, 无论是实际的操作层面,还是方法层面,都存在着一些不小的误会。这也是我打算总结一下在数据科学实践中存在的陷阱与缺陷的缘由。
这篇分享是根据我自己的工作经验,和对相关资深同事的访谈总结而成。它的正确性受限于我个人的认知水平和目前行业的发展水平,它整理了一些目前可能存在的问题,但未必是长久的道理。希望大家读的时候批判性的看待。抛砖引玉,如果有不同想法欢迎大家跟我随时沟通与验证,结论本身也可以随时更新。
网易严选的很多业务,比如风控业务,核心驱动力是数据及算法。我们在风控业务起步的时候就建立了数据算法驱动风控的方法体系,所以能保证很小的团队(3 个人)来支撑严选几十个内外部风险场景,每天执行百万次风险决策。当然,这是数据驱动自动决策 / 智能决策带来的力量。成功的美好,或许会让你按耐不住的想把很多业务运转方式转型过来,但遗憾的是,数据质量保障的缺失会让这一切变成随时会倒塌的空中楼阁!事实上,绝大部分组织对数据质量的理解 支撑不了更加自动和智能的决策场景。强行转型与减员增效会让他们原本稳定的业务接近崩溃。
严选风控出现过几次大的故障都跟数据质量紧密相关。今年 8 月份的时候,风控在执行每周误判巡检的时候发现整体疑似误判率增加了 4 倍。最终定位原因是设备号相关的日志内容有些异常。从而导致了相当一部分用户的行为(签到操作)被错误的执行了拦截。
这是一个很有意思的案例。一些关键的决策:比如用户是不是坏人?某个商品要采购多少量?可能会依赖于很不被重视的某个线上日志的一小部分内容。我们的整个质量保障体系很难把视角投入到某个具体应用的某个日志字段在高压力下会不会出错?在传统的应用服务质量保障理念里,日志字段的某个偶尔的小错误,没人会把它当作 Bug,开发人员更不会去关注。但如果你一旦把 数据当作了生产资料,如果我们不对应用质量保障的理念和工具进行革新,你的大量的数据分析报告,训练好的算法模型,做出的决策可能很不可靠,因为你的生产资料本身就是垃圾,而古语有言:Garbage in , garbage out。
还有一个惊人的现状是,大量用于生产数据的复杂 SQL 并没有进行真正的测试,甚至,大量的数据系统并不存在一个所谓的测试环境。我们很难像测试线上服务(比如订单系统)那样去测试数据生产过程的正确性。那么这样通过几万行,甚至几十万行(严选)SQL 生产出来的数据到底能不能用?这个问题其实很难回答。
数据的可靠性是组织在转型数据驱动过程中一个非常大的陷阱。
大家都在讨论数据质量的重要性,但是内心又默默觉得这个事情比较低级。因此,我们很少见到有团队会把大量聪明的大脑投入到数据质量的保障上。
除了资源投入的缺失,很多数据团队对数据质量的认知也是各不相同。我曾经跟一位在数据行业从业 15 年,为某知名公司数据体系做出巨大贡献的前辈做过一次深入的沟通,聊起数据质量,”你觉得数据质量是什么?“ 他的回答是:“数据质量,真正需要考虑的是指标一致性。”。瞧瞧,就算是非常资深的同行,他的认知还是不够完整,按他对数据质量的理解,数据的支撑能做到报表给人看,这个层面就很完美了,要落地到战术层,落地到线上自动决策基本不可行(因为数据质量的故障难以像线上程序故障一样快速修复,它是一个持续污染的过程)。
数据做为智能决策的输入,是动态变化的。它没法像代码的依赖那样做静态分析,它的依赖层次动态而不稳定。