引言

近年来,数据驱动的转型升级在工业中取得了一些成绩,不仅被产业界广泛认可,也给企业带来了实实在在的效益。但工业大数据分析的发展也面临着许多挑战,在应用阶段有很多不如意的地方。本文从三个层面讨论工业数据分析实战中常见的7个误区和应对策略。

  • 规划层面:言不及义、指雁为羹、空中楼阁
  • 技术路线方面:避实就虚、闪烁其词
  • 执行层面:舍本从末、因陋就简

1、言不及义:脱离业务逻辑的数据分析是浪费

脱离业务逻辑的数据分析往往很难有实际的效果。在利用统计学习算法的强大归纳能力之前,数据分析师可以剖析一下实现的业务逻辑,掌握主要矛盾,降低对预期结果理解上的偏离,避免“言不及义”的情况发生。

曾参与过空压机大数据分析的探讨,因为PHM(Prognostics & Health Management,预测故障与健康管理)过去有成功案例。很多人就直接跳到智能运维的分析课题上来。但在此之前最好先讨论清楚预期的业务目标,是做第三方运维业务(大数据用来提高维修效率),还是转型为一种新的业务模式(比如设备租赁、供应链金融、冷链服务等)。如果做第三方运维,也要理解一下成本结构和业务价值创造途径,包括压缩机运维成本及构成、可能提升点、预期收益规模等。不要急于复制其他领域的成功案例,先灵魂拷问一下商业本质和业务逻辑是否合理。

CRISP-DM (CRoss Industry Standard Process for Data Mining)默认社会分工做好了,业务分析师把数据分析问题定义好了,数据分析师只需要理解业务问题,在此基础上做数据预处理与建模。但在现实没有这样理想,别人给你的问题不一定正确,需要数据分析师重新定义问题。

CRISP-DM方法

2、指雁为羹:脱离约束条件的“乌托邦”很难成功。

这类问题通常出现在运筹优化类问题上。一提到运筹优化,大家很容易的就想做全局优化。但是现实中,要具体问题具体分析,不能脱离数据基础和物理世界的羁绊。

例如,在集装箱码头,泊位、堆场、机械车辆、人力等资源的协同计划与提升对于码头作业效率有重大意义。但是做码头优化,业务范围到底做多大?理想情形是覆盖全部资源、细颗粒度、实时的全局优化。但这里忽略了全局优化依赖数据的确定性、优化目标的明确性、约束条件的稳定性。现实中有大量的不确定性和动态性,首先,集装箱送箱预测就很难做的精准。第二,船的到达时间存在不确定性。在这种情况下,全局优化没有意义,而不如通常的分层次(计划、调度、调整)、分问题(泊位优化、堆场优化、车辆调度等)的局部优化。另外,现实中的追求的优化目标很多,在不同场景下,优先级不同,很多约束条件也不是绝对的,在特定情形下,一些约束也可以放松。

其实工厂内的调度优化也存在类似的情况,在小批量复杂产品生产模式下,原料到货时间、工艺段的完成时间的不确定性都很大,以至于用标准的APS(Advanced Planning System)做计划优化无法实际执行,反而不如退而求其次,做不确定性动态仿真,发现未来可能的瓶颈环节,对可能的成本分布有所了解,以便提前做好准备。我们虽然追求全局优化,但还是要考虑现实的条件,包括数据的可得性、获取成本、可靠性及价值。

3、空中楼阁:与组织形态失配的数据分析很难落地。

过去我们也做过一些技术上不错但不能落地应用的模型,例如在一次重大部件的故障预测中,虽然样本比较少,结合一些机理和数据挖掘,模型结果还可以接受。但是大家很沮丧发现推广很难,其实本质问题就在于,模型的预测与现有的考核体系不匹配,模型预测出的异常暗示着现有的运维团队做的不到位,这时候很难指望一线团队的配合(给出真实的或者及时的反馈)。 PHM等分析技术只是设备运维生态系统中的一部分,需要要将它放在整个运作流程当中,与用户角色的关切匹配,这样才能顺利落地。例如,设备制造商更关注设备的可靠性;而业主更多关注的是利用率和拥有成本;业主内部的设备部和运行部关注的视角也不同。一个数据分析课题在定义时,就要考虑整个业务层的上下文,建立起一个正常的分析逻辑,才能更好的落地。

PHM在设备运维体系中的位置

4、避实就虚:追 “时髦”,讲“套路”,忘记了本来可行的做法。

近些年涌现了很多深度学习、强化学习等新的算法,这类技术的出现给数据分析带来了很大的帮助。但应该避免过分追求“时髦”,而忽略了最基本的方法。

例如院线的票房预测,在上映之前预测正式上映第一周的每个影城的某个影片的票房,这样可以指导科学排片(每个影片的场次、时段甚至厅类型)。2013年Google写了一篇文章,论证了通过Google搜索量可以准确预测一个影片的票房(如果加上预告片浏览量效果会更好)。当时很多业内人非常兴奋把这样的方式应用到国内,但发现精度并不理想。我们当然也期望用最简单的方式就能做预测,但在做之前,最好还是从机理的角度分解一下票房的决定因素。根据业务访谈,一个初步的驱动关系图如下图所示。

票房的因素关系图

从这样的图可以看出,地区差异(不同城市对影片类型的喜好)、影院位置类型(生活区、CBD等)、演员号召力、导演过去表现、发行方力度、上映周期、同档期竞争、宏观舆情环境等都是决定票房的重要要素,这些因素是不是都能被搜索量反映?这是我们需要在数据上检验的,可以从简到繁、从易到难收集数据,建立模型。最后发现影片类型、区域特征、导演过去表现、演员号召力等因素比搜索量更重要,在搜索量上,用院线官网流量分析数据与搜索引擎的数据对模型精度的贡献几乎相等。

有了这样的动力学关系图,无形在数据分析师和领域专家间建立起了共同的语言体系和思考模式。基于这样的图,数据分析师很快可以意识到很多现实的场景,1)动画片与一般影片在预测模型上差异很大,动画片没有演员号召力数据,动画片的购买人(家长)和观影人(小朋友)是不同的,其销售行为与一般影片应该有比较大区别;2)系列片、改编片的预测方法,对演员间搭配默契度及人气走势、演员-导演组合、同档期影片间的影响等因素的考虑;3)营销(发行方与院线的合作关系、影城的经营水平)、突发事件等因素对票房的影响;4)随着移动端的兴起,搜索量、浏览量对票房的指示性也逐步减弱,这时候应该思考移动端数据源的融入。

为了更好的跨领域交流,我们建议用类似系统动力学这样的定性的结构化模型,先把基本关系梳理清晰,而不要一上来就用各种复杂的数学公式。在涉及到复杂工业过程时候,这样的定性模型更为有效,例如,磨煤机的工作原理如下图所示,我们可以很清晰看到发电负荷是锚定量,决定了磨煤机的进煤量、工作状态等基本面,堵磨、暗断煤等故障的影响路径也可以从图中推导出来。

磨煤机的动力学模型

5、闪烁其词:在“科学”名义下,以“非科学”的态度去做“科学”的事情

在本质上,数据分析和其他工程化方法是一样的,都是基于一定的假设所做出来。这些假设或简化只有与现实世界符合度高,模型才有可能从一定规律上“反映”了物理世界。做工业数据分析,我们需要知道一个模型的适用边界,并能够明确不适用的场景。通常出现的误区现象有三种。

1)场景考虑不全面,只考虑“正常”场景,忽略很多例外场景

和应用开发类似,边界条件处理水平很大体现了一个程序员的水平。正常场景更适合分析算法技巧的发挥,但为了实用,需要全面考虑各种场景的处理措施。例如,在备件需求预测时候,除了日常、节假日等正常场景的预测,还需要考虑1)营销事件(可能没有历史记录)、地区公司囤货、压货等行为(没有任何记录);2)地区公司合并;3)备件更新换代;4)宏观经济环境变化;5)突发外部事件等场景。在集装箱送箱量预测时候,需要考虑1)台风/大雾等事件的影响;2)航线竞争态势的变化,例如集装箱船更换、航运公司的加入与退出等典型场景。

备选需求预测的因素模型

在实际分析项目中,比较挑战的是a)例外场景和正常场景是交叉出现的,很难完美分开;b)例外场景没有明确的标记,有时候领域专家也很难全面列举,这就依赖于数据分析师的细心与严谨,需要具备从数据中能看到领域专家没有介绍的异常场景的能力。即使有些情况基于现在的模型和数据支撑不了,至少也可以知道这项技术的适用范围。

  1. 对数据的迷信

作为数据分析师,我们的态度是相信数据,但是不迷信数据,数据是对物理世界的一种表征或测量,数据采集/记录方式、采集精度和记录全面性都可能是不完美的,例如,传感器的安装位置可能不对、传感器的原理性干扰、传感器更换(基准、精度发生了变化)、现场干预行为,都可能会给数据本身带来一定的影响,这时候需要秉持乐观的态度,同时要像其他工科一样反复推敲的态度,对数据分析来说,这是一个非常纠结和磨难的过程。

3)对既有知识体系的无视

数据挖掘的的目的是提高既有的认知水平,这需要数据分析师对领域背景有一定了解,盲挖很容易挖出来一些领域常识,这是社会资源的一种浪费。

毕竟科学的态度,就是要反复推演,任何东西都是可以被证伪的,目标是让数据分析模型更接近现实世界。

6、舍本从末:把一个简单的问题复杂化

有时候经意不经意地把一个问题给复杂化了,有时候有些工艺机理非常简单,基本面就在那,没必要把这个问题复杂化到一个高深算法才能解的地步。

在大四毕业设计,我参与实际卫星的姿态控制项目,上来就列欧拉方程组和三轴的传递函数组,先证明稳定性,再通过根轨迹或者是波特图设计做控制系统的设计,当时很有成就感(上了十几年学,终于第一次在现实中应用了)。在与航天专家交流中,我发现他们并不在这些方程上花费很多时间,就请教他们的做法,他说,其实没有你考虑那么复杂,把不重要的全忽略掉,假设三个轴是解耦的,利用高中的冲量定理,就能大概知道控制参数的范围。简单几句话对我触动蛮大的,先看基本面,不要一上来就把很多不重要的复杂因素都考虑进去,这个观念一路影响我后面的研究与分析。当然任何简化都是有前提的,不加条件的接受简化是非常危险的(卫星仿真中我们也发现了一些超越专家直觉的场景)。

对于风力发电机组叶片结冰业务问题,我们可以建模为结冰预测问题,也可以做成结冰检测问题,一字之差,难度差的不是一个数据量级。因为结冰预测的前提是微观尺度的天气预报,这是一个世界难题;而结冰检测,就是看结冰后风机的运行状态表征(例如,出力和风速的关系,有没有一个持续的缓慢的下降)。

7、因陋就简:数据基础不健全,就轻易放弃

是不是数据基础不好,我们就不要做数据分析?答案是否定的,只要基本面在,就值得去尝试。

首先,对数据分析师孜孜不倦的追求来讲,数据质量从来就没好过。以前在境外做过一个城市管网的失效风险评估,根据管网的物理属性、工况(平均工作压力、水质等)、土地使用性质、交通流量、气象、历史维修记录等数据,预测每个管段在未来一个季度的失效风险。在数据质量上,客户非常自信,因为这些关键数据他们都有,其信息化水平大概领先国内十多年。如果单个数据源看,每种数据缺失都不太严重,数据完整度都在90%左右。但是一旦把这些不同来源的因素关联起来,有完整信息的管段不到30%。这让让客户非常吃惊,数据集相互孤立着看,有些字段偶尔缺一点也不明显,但是对数据分析要横着看竖着看,对数据质量的要求非常高。但考虑到城市管段样本的数量,30%的完整样本对建议一个基本的风险模型还是可以。从数据建模的角度,数据基础健全与否都是相对的。

其实,数据分析发现的数据质量问题,也是完善信息化建设的一个过程。有什么样的数据做什么样事,哪怕数据不全,也可以从简单的做、从容易的做、从基础比较好的地方做。不要在不重要的地方花太多时间,好多数据分析师都是比较较真的,我早期也是,一些细节的数据质量问题没处理好,心里就不舒服。数据分析作为一个工程化方法,要抓大放小,在一定的时间、空间、费用的约束下,做到最好。

总结

数据分析通常需要数据分析师和领域专家的协作,但跨领域的沟通往往存在很大信息损失和语义扭曲。工业数据分析涉及到大量机理、工艺、生产管理等领域知识,这样的效率损耗更为严重。为了提高数据分析课题的沟通效率,建议1)在业务问题定义或理解时候,采用结构化模型(例如系统动力学图、成本分解结构等)作为媒介,让数据分析师容易理解业务,并能像领域专家一样主动思考;避免上来不分主次堆砌各种复杂数学公式,或则非条理化的自然语言。2)在分析模型沟通时,数据分析师多用实际数据中的具体场景,让领域专家能够深入参与,贡献领域特征与经验,避免停留在统计检验指标或黑箱模型技术上。

在做一个实际的分析课题时候,首先要将问题放在业务、物理世界的上下文中(但并不是说要机械的去遵循,例如图像识别、人脸识别问题本身很清楚额问题),基于逻辑分析、分解与推演,深入了解应用场景,定义或重定义一个好的分析问题。其实,从问题的实用性、数据的支撑度、业务可落地性进行综合评估,避开可能预见到的误区。最后,在分析模型建立后,除了统计技术层面的评估,最好再次从业务和物理上下文的角度审视一下,明确统计学习模型的适用范围,结合业务领域经验,对于不适用场景制定合适的应对措施。这可以归纳为如下图所示的工业大数据分析的3A原则,即问题适用(Applicability)、数据基础(Availability)、落地变现(Actionability)。

工业大数据应用的3A原则

发表/查看评论