李雷、栾红叶编译

数据科学难在实践,有哪些弯路可以不走?

数据科学这一名词流行了这么长时间,对于很多企业来说仍然是熟悉而又陌生的词汇。

对于积极向布局数据科学应用的企业来说,如何避免走弯路。

Blue Yonder,一个成立于2008年的大数据分析平台,用他8年的数据科学经验告诉你,什么是真正的数据科学、有哪些弯路可以不走。

正如Blue Yonder创始人在采访中说到:“在这八年里,我们经历了不少痛苦的教训,尤其是在数据科学应用方面。” 

以下是采访原文,请欣赏!

数据科学

我相信许多人都知道什么是数据科学,但我想分享一下我个人对它的理解:

数据科学的目的是构建自动化的数据驱动运营决策支持系统。

根据这么严格的定义(你也许会有异议),数据科学的唯一目便成了决策的支持和自动化。那么“运营决策”是什么?

它是指企业需要频繁定期进行的大量决策,这些决策对业务KPI(关键绩效指标)有直接影响,其结果也需要在短时间内进行评估。

企业可能需要作出以下决策,例如:各种产品明天的最佳定价是多少或发送给供应商X的下一个订单中各产品的最佳定价是多少。

由于人们经常在不经意间受到影响,因此在大多数情况下,自动决策胜于人类的运营决策,并且自动决策可以显著提高业务流程的效率。

人类决策偏见列表:

https://en.wikipedia.org/wiki/List_of_cognitive_biases#Decision-making.2C_belief.2C_and_behavioral_biases

所有这一切实际上意味着,数据科学对于运营决策的意义就像工业机器人对于制造业那样。正如机器人可以自动执行重复的生产任务一样,数据科学也可以自动执行重复的运营决策。

DevOps与数据科学

DevOps工作流程旨在克服传统IT组织中由于开发团队和运营团队相互独立而导致的普遍冲突问题。开发团队希望开发新功能并希望新功能尽早上线,而运营团队负责系统的稳定性,因为所有变更都会带来风险。他们需要尽可能地阻止新功能上线。

在这场冲突中,两个团队都忽略了以稳定可靠的新功能为客户创造价值这一共同目标。

开发人员和运营团队之间的冲突只是组织结构不合理导致的其中一种情形,对于按功能划分的其他组织机构也存在相同的问题。

在许多公司里,数据科学也被困在类似的“功能团队孤岛”中。更详细的解释,我建议阅读这篇《什么是DevOps》

相关链接:https://theagileadmin.com/what-is-devops/

数据科学-麻烦制造者

有个虚构的段子,但却透着真实的无奈。两位管理人员在一次会议上相遇,其中一位经理问道,“你们公司是不是已经开始使用数据科学决策分析了?”另一位回答说:“我们的数据科学家团队已经成立一年了,但什么时候可以开始分析还遥遥无期呢。”

为了更好地理解为什么许多数据科学工作的进展缓慢,我们需要看一下用数据科学进行自动化业务决策的典型工作流程。

下面的工作流程示例是以零售行业为例,同样也适用于其他行业。

1. 从各种来源提取各种必要的数据:

  • 内部数据源,如ERP,CRM和POS系统,或来自在线商店的数据。

  • 外部数据,如天气或公众假期数据

2. 提取,转换和加载数据:

  • 关联数据

  • 聚合并转换数据,

  • 用“一张大表”关联所有数据

3. 机器学习和决策制定:

  • 使用历史数据来训练机器学习模型

4. 对于决策,使用当前的最新数据

  • 由此产生的决策被送回ERP系统或其他数据仓库

这些步骤基本上涉及业务的方方面面,并且需要深入集成到业务流程中,以创建有效的决策系统。

然而这也是迄今为止数据科学决策分析工作最大的麻烦。为了整合数据科学,就需要改变核心业务流程,而改变核心业务流程却是一项艰巨的任务。

数据科学本质上是贪婪的

没有数据科学家会说“目前的数据库规模足够明年用的了。”

人们通常觉得数据科学家都是贪婪的,因为他们似乎对可用资源有着不切实际的想法。但实际上,数据科学本身才是贪婪的。

总的来说,以下因素会使数据科学项目的结果更准确:

  • 更多属性(“列”)

  • 更多历史数据(“行”)

  • 更独立的数据源(例如,天气,金融市场,社交媒体......)

  • 更复杂的算法(例如,深度学习

综上,这不是数据科学家的问题!原则上,他们有权提出这些要求。幸运的是,我们有方法来解决资源短缺问题,我将在稍后进行论证。

另一个问题是低估了决策的绝对数量。比如一家拥有100个店铺和5,000种产品的小型超市连锁店的每日补货量预测,补货算法需要14天的日预测数据才能进行分析。那实际意味着每天需要计算,处理和存储7百万个预测数据。

由于建立一个有效的机器学习模型需要许多不同的数据源,部门之间可能会引入新的共通性和纠结。整个公司必须在公共标识符(common identifiers)和数据类型(data types)上达成一致。

以前,断开链接的子部分需要与它们的数据流保持同步。比如,一个自动的日常补货系统可能要依赖营销部门的促销数据和商店的库存数据。所有必要的数据需要在一天中的固定时间获取,这样才方便系统设计决策并及时发送给供应商。

数据科学家 VS 公司的其他人

现在回到DevOps上来,这一运动旨在克服开发人员和运营团队之间潜在的偏差。

如果你试图在一个单独的地方与数据科学家团队一起构建自动化决策系统,那么就会不可避免地出现以上这种问题。

由于数据科学与其他部分的不可分离和对数据的贪婪,其团队很难成功地将一个系统与其他具有不同绩效体制的团队进行合作。

为了防止或解决这些问题,我们必须接受DevOps模式的基本原则:

  • 调整所有团队的目标,使他们在工作上不至于产生“冲突”,而是努力实现共同目标。

  • 拆除部门之间的墙,建立跨职能团队

  • 根据用户附加值的估量,改进决策方式并分配资源和功能

关于承诺

决策是任何公司成功的核心。因此,在引入数据科学时,整个公司,包括所有的领导层和部门,都需要接受并重视。

运用数据科学进行自动化决策是价值流的重要组成部分。这很可能意味着,你需要改变既定的流程,重组团队,重新考虑公司的组织架构。

此外,想要成功执行这些措施,你需要获得必要的认可。每个人都需要知道为什么会有这些改变,并且还要支持这些决策。如果没有这种诚挚的诺言,自动化决策就不可能会成功执行。

相关链接:https://www.datascience.com/blog/stakeholder-buy-in-for-data-science-product

反过来,你的数据科学工作必须着重于真正的附加值:一个是需要评估执行成本,包括技术债务成本、复杂性的累积、纠结的增加等;另一方面也要将其与改进后的预期收益进行比较。

数据科学从来不是一个以自我为目标的团队。

相关链接:https://www.datascience.com/blog/agile-data-science)

拆除数据科学的自我壁垒

DevOps的一个关键目标就是使团队团结以实现公司的共同目标,并且也要拆毁不同团队之间的壁垒。因为,如果把数据科学家分到一个单独的小组,安排在一个单独的房间里,这将会是一条通往失败的必经之路。

相关链接:https://www.datascience.com/blog/centralized-data-science

相反,如果我们将数据科学家安排到一个跨职能的团队中,这将有助于构建一个端到端的完整决策系统,并有助于使其工作与公司目标保持一致。一旦每个部门都连接起来,数据科学家的工作就不会与其他部门相矛盾。

相反,这种决策系统的成功将变成公司的共同利益。以共同努力为特点的整体优化就能够实现一个共同目标,这将会取代以自我为中心和不一致的目标为特征的局部优化。

这个跨职能团队和其他的团队一样致力于相同的质量标准,在质量、弹性或稳健性方面没有任何妥协的余地。

相反,由于自动化决策具有较高的风险,我们需要采用更高的标准。同时,遵循“精益思想”的方法,创造一个既便宜又安全的实验环境。

奥卡姆剃刀与贪婪作斗争

有一个解决问题的原则叫做奥卡姆剃刀(Occam’s razor),也就是:“在相互竞争的假说中,应该选择假设最少的。”在数据科学领域,我们可以将这个原则重新表述为:

如果两个数据科学模型的结果是兼容的,那么就采用资源覆盖面较小的模型。

这条简单的规则为我们提供了如何建立数据科学模型的明确指导,解决了数据科学固有的贪婪性问题。

如果不测量生成值并在整个实现周期中应用此原则,您可能会面临成本激增,回报有限的问题。

相关链接:https://www.datascience.com/blog/lessons-from-a-canceled-data-science-project

所以,必须要确保数据科学家致力于这一重要原则,因为与数据科学家对抗是非常困难的。他们有数据和专业知识来提出难以提出异议的论点。

创造一种尽可能简单的,但又失必要的复杂的效率文化。

这同样适用于不同数据源的使用。在数据安全领域,有一个“需要知道”(need to know)的原则,即只有需要访问的人才能访问数据。

也就是在数据科学的应用中,我们需要衡量所额外添加的数据源的价值,如果改进不够显著,无法证明额外数据的相关性,那么就要严格清除这些数据源。

结语

数据科学也就是用来支持和自动化决策的。对大多数公司来说,这变得比以往任何时候都重要。由于它是一个决策系统,所以必须成为业务流程的核心。这一事实带来了一系列严重的问题,特别是文化性质的问题,可能是灾难性的。

没有诚意的尝试往往会导致时间和金钱的浪费,同时还加重了数据科学作为麻烦制造者的声誉。

数据科学进行合理的整合是一个不可忽视的转折点。用DevOps模式来接受数据科学,测量重要的KPIs,从实验中学习,并不断改进流程。这是一条真正成为数据驱动公司的道路。

作者Twitter: https://twitter.com/sebineubauer

相关报道:https://www.datascience.com/blog/why-is-it-so-hard-to-put-data-science-in-production

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

产业奥卡姆剃刀数据科学
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

奥卡姆剃刀技术

奥卡姆剃刀,又称“奥坎的剃刀”,拉丁文为lex parsimoniae,意思是简约之法则,是由14世纪逻辑学家、圣方济各会修士奥卡姆的威廉提出的一个解决问题的法则,他在《箴言书注》2卷15题说“切勿浪费较多东西,去做‘用较少的东西,同样可以做好的事情’。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

工业机器人技术

工业机器人是面向工业加工制造的可自动控制,多用途,需有三轴及以上可编程的固定或可移动机械手。其系统中包括带有执行机构的机械手以及示教控制器。 它可以依靠自身控制能力来执行预设的轨迹及动作。典型应用包括焊接,刷漆,组装,采集和放置等工作。工业机器人完成工作具有高效性,持久性和准确性。目前常用的工业机器人包括关节机器人,SCARA机器人,并联机器人和直角坐标机器人等。

数据仓库技术

关联数据技术

关联数据是一组用来描述用户任务运行环境以及在区域中连接用户任务方式的信息。用户任务是与用户定义的事务相关的任务,或与 CICS® 提供的事务相关的任务。CEMT 是通常由操作员启动的用户启动任务示例,CSMI 是由系统代表用户启动事务启动的任务示例。

暂无评论
暂无评论~