资讯详情

独家|PHM数据竞赛首个中国夺冠团队经验分享(常用模型赛题详解

清华大数据赛事经验分享系列讲座旨在分享国内外大数据领域重要赛事获胜团队和个人的比赛过程和获胜经验。本期邀请我们PHM Data Challenge昆仑数据是十年赛史上第一支完全由中国本土数据精英组成的冠军团队K昆仑数据首席数据科学家田春华博士及其团队成员代表刘家扬,两位嘉宾分享了工业大数据分析如何有机整合机制模型和统计学习模型,以及2022年 PHM Data Challenge赛题详解。

以下内容由数据发送THU整理而成:

田春华,昆仑数据首席数据科学家

I.工业大数据背景知识和主题背景

田春华:比赛是促进研究和交流的机制,每个比赛都有不同的重点。KDD-CUP在比赛中,主题相对普遍,参与者的门槛较低,所以会有大量的团队参加,最后几名基本上是小数点后两三名的比赛。PHM专注于工业行业,一般会描述一个相对具体的问题,参与者需要了解相应的行业机制。

从08年到现在,PHM主题基本上集中在工业的一些关键部件上。如航空涡轮发动机、齿轮箱、加工中心工具、风电测风塔测风杯、轴承,包括部分车间设备故障诊断,如半导体产品生产过程晶圆化学机械平整异常分类,还包括轨道车辆减震(悬架)系统故障诊断。

这个赛事重点强调行业,特别是设备故障诊断、高端装备制造。过去,参赛者基本上分为两组,一组是大学,包括马里兰大学和辛辛那提大学。近年来,首尔国立大学取得了突出的成绩,今年也获得了第三名。此外,洛克马丁、NASA等,也包括SAS等待专注于软件研发的企业。总体来看,PHM比赛的参与者基本上一半的参与者。

我们为什么要关注这个活动?这与2025年国家工业制造业的目标有关。在2025年中国制造业中,高端设备制造业的地位至关重要。一个国家的制造业是否强大,主要体现在高端设备制造业上,包括精密机床、海上设备、轨道交通、航天卫星、航空飞机等,昆仑等朋友一直在关注和帮助该行业的发展。

关注本次比赛的另一个目的是锻炼我们年轻的数据分析团队,让他们在行业比赛中与您交流。从经验来看,工业大数据分析主要可以解决三类问题。第一类来自高端设备及其制造业,可分为以下问题、剩余寿命、机器维护时间、故障预警,包括设备异常检测、故障诊断、定位设备异常;运行维护优化,通过数据分析,如一些运行优化,提高实际分配时间的运行维护效率。

在车间内,我们希望提高生产效率和生产质量。就像在化工行业一样,如何通过数据分析提高有效气体的产量,如何通过参数优化提高整个系统的运行效率。

第三部分是工业互联网。用政府的话说,互联网 。包括工业互联网在内的互联网的概念更多的是一种商业模式的改变,包括业务流程的改变,而数据分析面起着支撑作用。这里的数据不像故障诊断和操作优化那样占主导地位。它主要起辅助作用,更好地预测辅助能源互联网中新能源的产生和消耗,更好地调度和优化。

以下是一些具体案例:

第一个案例来自风电,是今年中国工业大数据竞赛的话题——齿轮带断裂预警。齿轮带连接风扇上的三个叶片。当风很大时,叶片不能完全对齐风,否则会超过发电机的额定功率,然后烧坏发电机或线路,因此需要变成浆液。变浆过程由变电机驱动齿轮带,然后驱动叶片完成。如果齿轮带断裂,叶片可以自由移动,这可能会导致塔燃烧和次生灾害。因此,风扇的整机制造商和业主都非常关心齿轮带断裂前是否能进行预警。

齿轮带损坏的根本原因是疲劳或橡胶老化。我们可以认为这是一个使用机械疲劳原理的剩余寿命问题,但不幸的是,在全国约20000台风扇制造商中,一年内出现重大问题的风扇可能只是个位数。同时,每个风扇都不可能从头到尾都有数据,所以我们不能做整个生命周期的数据。

另一个考虑是我们是否能看到症状。在齿轮带即将断裂之前,往往会出现松动。我们可以在一定程度上猜测它是否有断裂的风险。然而,在这个过程中有一个非常复杂的情况:风和控制逻辑是影响风扇最重要的因素,风是一种外生变量。如何判断外生变量是最重要的因素?我们不能简单地说,如果指标太大,就会出现异常。指标偏大可能是风速大造成,也有可能是控制逻辑不好造成,所以我们必须把各种工况分开考虑,才能做一些预警。

在这种情况下,我们终于实现了三天前的预警。横轴是时间,纵轴是风险。从理论上讲,风险上升后,应该是一个相对稳定的高风险趋势,实际曲线的中间部分会下降,因为齿轮带在风小的时候几乎不工作。虽然考虑到前后平滑的作用,但我们仍然无法判断,因为这种变化还包括其他一些因素的影响。在实际项目中,正负样本存在严重的不平衡问题。不平衡到什么程度?几万台风机,积累了三五年,能找到对应问题数据的只有10台以内。因此,虽然我们在行业中看到的数据量非常大,但在实际的数据挖掘中,没有那么多好的样本。大量正常数据导致正负样本严重不平衡,甚至包括虚假预警。

第二个是石油领域的例子。我们需要解决的问题是,如果管道中间有漏油,可以及时检测到一条输油管道埋在地下。如果是天然气管道,泄漏甚至会引起爆炸,我们能否及时检测并定位到这个位置。一种解决这个问题的方法是应用负压波的原理,当然我们也可以使用光纤或其他方法。当时,韩国的石油运营商不想安装传感器,因为传感器已经布好了,所以不可能挖沟铺光纤。我们只能使用现有的压力传感器进行泄漏检测和负压波的原理。

负压波的原理是,当发生泄漏时,会有瞬时压力下降,产生负压波(横波),约1.每秒2公里的速度传播到两端。如果两个传感器之间的间隔超过10公里,它们将在十秒钟内到达。如果泄漏点不在两个传感器之间,由于传输速度在同一介质中间,如同一航空煤油中间,两个传感器的测量值会有相对固定的时差。因此,只要我们知道传感器之间压降响应的时间间隔,就可以计算泄漏点的位置。

当然,这个问题也有两个困难。一是定位精度。我们实际上得到了一些原始的信号数据。当我们得到信号时,我们必须首先过滤波器。如果过滤过程过于严重,我们将失去定位精度;过滤太轻,有更多的虚假信息。滤波频率合适多少?根据定位要求,倒退介质频率为0.4赫兹,我们将滤波器设置为0.8赫兹。后来发现只要这一点找对了,用线性滤波器效果会很好,和小波相比也差不多。考虑到现场使用,最终使用了线性滤波器。在工业中住主要矛盾,算法的精度就不会差。

第二个是更难处理的问题是虚假预警。负压波的一个缺点是会受到输油压力、柴油、汽油和航空燃料的影响。在这些情况下,输油压力不同,这些油中有些含有气泡。气泡破裂时,也会影响压力的浮动,这是正常的。此外,有时还会出现倒罐现象。当一个罐子满了,换了一个空罐子后,压力会瞬间下降。正常工况变化引起的压力下降远比泄漏引起的压力下降明显,会造成一种非常麻烦的情况——每天报警。如果现场人员使用这样的系统,绝对没有人敢使用。

我们项目花费的最大精力是如何破解虚假预警。一种方法是安装更多的传感器,因为干扰光信号和压力信号的可能性很小,这样就可以解决,但客户无法接受。那么我们还能通过数据分析做些什么呢?事实上,由不同原因引起的压力下降的信号形状会有轻微差异,通过模式挖掘和匹配,可以在一定程度上减少虚假预警。在实际的数据分析中,如果我们想让模型真正可用,我们通常不是这些检测算法、预测算法和故障挖掘算法,而是如何过滤虚假预警,以及我们是否能灵活地解决一些信号数据。

解决数据分析问题通常有两种想法,一种是纯数据驱动,另一种是数据和机制匹配,我们主要使用第二种想法。

通常,如果样本足够完整,我们可以先把数据留给深度学习,以获得精度作为我们Baseline,然后处理特性,进一步探索。因为,如果问题数据样本量相对较大,且易于描述,深度学习的方法相对简单,带入模型将得到结果,并将更快地得到结果。

以煤化工为例。我们可以在高温下输入氧气和煤灰(或煤浆)发动气化炉,产生一氧化碳和氢气,制造甲烷或其他工业有效气体。几乎所有以煤为原料(非燃料)的化工行业都需要这样的气化过程作为前沿过程。然后,气化过程的工艺参数优化已成为一个热门的研究方向。

热力学方程,包括一些化学反应方程包括一些化学反应方程等。但为什么有机制却不能实际使用呢?一方面,这种机制简化了很多,即使简化后,其中的一些系数在现实中也非常非常罕见。因此,从来没有企业愿意通过机制进行化工控制。在这样的数据挖掘问题中,我们只能把这个过程当作一个黑盒子,但我们将通过机制、输入、输出、深入学习和一些模式来梳理重要因素。后来证明,用这种方式大概能提高1.有效气产率约为4%或2%。那1.4%意味着什么?这几乎是煤化工企业年利润的10%甚至20%。

说到生物学,就更麻烦了。我们只知道这种细菌成丝状或瓣状,但现在我们必须研究它xx温度x湿度的条件下进行厌氧还是有氧反应。我们做数据分析,最主要的还是把几种因素梳理好,哪些因素是可控的因素,哪些因素是外生变量(即这些变量会极大地影响反应,但是没法控制)。如果主要因素基本上可测,并且精度还可以,那这个问题也许可以去解。我们在接触一个行业的数据之前,很难说一定会有效果或者彻底没解,但是如果不做,永远不知道极限是什么。所以唯一能做的就是通过数据探索,通过理解机理,把主要变量抓住并梳理好。

  

  现在传统的数据挖掘一般都集中在经营领域,比如销售分析,客户画像,或者一些确定性的问题。这边举一个关于备件需求预测的例子,这是一个工程机械制造商面临的问题。为了提高服务质量,制造商在各地都会有库存,而这时地区分公司往往会积极地压货,压的越多越好,反正卖不完还退给你。一个工程机械制造商经营总部就关心能不能精确地预测每个地区分公司下一个月,或者下一旬的销量大概是多少,留一个乘1.5的系数,再考虑上该地区分公司当年的库存,就可以给他一个最佳的货量,即使他申请的多,我也不一定批。

  其实真正在研究一个工业问题的时候,重要的不是让模型在80%的情况下好用,而是要明白,我们的模型在什么情况下不能使用?在这个问题中,有很多影响因素,首先一个现实的问题就是节假日的影响,比如春节的因素怎么处理。而更难处理的是一些不知道的情况,比如压货。这些因素的影响我们不能全部滤掉,留着反而又会受影响。而如果把这种情况当做正常事件,下一次的预测中我们就会把预测量提高,这时候就要求我们的算法不能因为数值的轻微波动就变得不可控。

  另外一个比较难的问题是如何提高预测的提前性,好多预测算法都是根据过去的趋势来做预测,但是有的时候在历史数据上是没有体现明显趋势的。当然,算法中一定也会有自适应的过程,但是问题也在于能不能稍微提前一点,不要过了两三个月才能对之前的时间点进行相对准确地自适应调整,这对预测的意义就不大了。

  

  另外,好多问题并不是客户给你定义的,而是甲乙双方一起定义的,比如集装箱的到达预测,到底预测什么,预测到什么粒度,这些是双方可以商量的。如果我们能够预测到相继到达的每个轮次是多少货量,基本上可以进行堆场的排布优化(哪些船的货排在一起,怎么排)。这就有赖于轮次货量预测的精度,如果能够做到90%,就可以做堆场优化,如果能够做到80%,可以让人来指导进行堆场的排布,如果只能做到60%,那这种方式就不用考虑了,因为在实际操作中基本不可用。

  

  现实中做业务分析,有的时候很简单,只要抓住主要矛盾,药到病除,有的时候很麻烦,既要针对业务场景,同时要针对目标粒度。现在的工业大数据正在从各个方面推进和发展,但是情况并不像大家想象的那么理想。好多时候大数据技术也被商业企业过分吹捧,让大家对它的期望过高,不切实际。

  

  现在展示了我们的一个内部开发工具,通过这个工具,我们过去做的一些案例能够积累下来,大家在碰到类似的问题时可以快速地有一个相对较高的起点。包括研发的迭代怎么形成,怎么通过实际的观测数据来指导研发,研发的成果怎么在实际数据中进行验证,后期高端装备的运维、调度,未来的一些工业改进,包括产品质量方面等等等等。

  做工业大数据,一方面要理解,第二方面是要把数据分析放在一个合适的位置,并不是所有的问题都适合数据分析,位置放太低,问题我们解不了,位置放太高,虽然精度很高,但是业务价值反而没有了。

  

  

  二、PHM解题过程与思路

  

  主讲人:昆仑数据K2团队成员代表刘家扬。

  擅长:启发式数学建模,运筹优化,机器学习算法,R语言编程

  目前在昆仑数据负责:工业大数据平台分析算法库及并行分析框架开发,(运筹)优化类分析项目。

  赛题背景:

  

  轨道车辆分为三层,第一层是四个轮对,第二层是两个转向架,第三层是车体。轨道车辆的悬挂系统分为两级,轮对和转向架之间的称为一级悬挂系统,由螺旋弹簧和阻尼组成,转向架和车体之间的称为二级悬挂系统,由空气弹簧和阻尼组成。整个系统在不同点位共安放了18个振动传感器。在后面的内容中,我们称一对弹簧阻尼所在的地方叫做一个位置,整个系统里面有12个位置;一个阻尼或者一个弹簧叫一个部件,整个系统一共有22个部件(注意:每个转向架上方只有一个空气弹簧)。

  竞赛题目:

  

  主办方依次给出三个数据集:traning、testing、validation。这里的数据集名称和我们平时做数据挖掘时的数据集名称顺序有所颠倒,但不影响我们对题目的理解。

  

  在训练数据集中有200次实验的数据记录。每次实验在不同车辆(1-200)&不同轨道(track1/track2)&不同速度(

  0.71/0.79/0.87/0.94/1.02/1.1/1.18/1.26)&不同负载(连续值)的条件下进行。对于一次实验,其数据包含388或216条记录(记录数的多少可以认为取决于轨道长度)。每条记录,对应了在相应的轨道区间内(轨道切分为388/216个小区间),每个传感器所记录的振动时间序列经过频域变换后在5个频段上的取值,即一共有18*5=90个原始特征。所以,在训练数据集中,我们有200张388*90或者216*90规格的表格。对于每张表格(每次实验,每辆车),我们会得到“健康”/“不健康”的标签

  对于testing数据集,我们同样有200次实验的数据,我们可以知道每次实验的速度、负载及其50条连续的轨道运行数据记录,但是我们无法得知这50条记录来自哪条轨道的哪一段。我们需要完成的挑战是判断每次实验的运行状态(健康or不健康),如果不健康,判断故障部件(1-2个)。每天可以提交一次结果。

  而最终的模型精度会由我们的模型对validation数据集(和testing类似,但一共只能提交3次结果)中实验的判断情况计算出来。

  题目难点:

  1. 外生变量的影响:由于轨道、速度和负载的不同,各个实验可以认为来自不同的总体,实验之间的可比性较差。

  2. 传感器记录的是一个动态的过程。对于一般的数据挖掘问题,每个实例在每个特征上都只有一个值,其在每个特征上的值构成了一条记录。但是这个问题中每个实例对应的是一个二维表,包含多个特征和多条记录(序列)。我们在面对这样的问题的时候,一般会怎么处理呢?

  如果各条记录之间没有明显的时间趋势(可以认为来自同一总体),那么可以直接对序列计算统计量,来代替原始序列。

  如果各条记录之间有明显的时间趋势但是这个时间趋势对我们来说没有用,那么我们可以先将时间趋势分解出来并加以剔除,之后再计算统计量来代替原始系列,或者直接将纵向的记录展开拼接成更多的特征,拉长成一条记录(不常用)。

  第三种情况是有明显的时间趋势而且有用,那我们可以先把时间趋势提取出来,之后再将没有时间趋势的数据集做一些同样的操作(展开,…),最后把时间趋势单独做一些处理。

  而在这个问题中,我们没有用上述的方式,而是应用传递函数的原理通过特征之间的比值构造新的弱时间趋势(轨道内部不平顺程度不均匀即这里的时间趋势)特征,一举两得,最后通过构造统计量来简化数据。

  3. 悬挂系统内部强联结。每个传感器反应的不只是单个位置或部件的状态,同一个位置或部件也不只影响单个传感器的观测。

  4. 样本不均衡到极致。训练数据集中的实验全都是健康的,这就意味着我们只能用One-Class(异常检测)的方法来做。

  解决思路:

  

  1. 对于testing或者validation数据集中的一个实验,我们不知道其所在的轨道以及起始和结束位置。而我们的数据又会受到轨道不平顺程度的影响,所以我们首先进行基于相似度的轨道位置匹配。

  

  对于一个testing或validation实验,基于“轮对传感器所记录的数据能够直接反应轨道不平顺程度”的假设,我们用原始数据进行基于相似度的轨道位置匹配。

  判断出实验所在的轨道及其起止位置后,联合该实验的速度条件(只有8个速度,训练样本在各速度上分布比较均匀),我们可以到训练数据集中切出一个针对此实验的训练数据集。

  2. 之后我们进入异常检测的过程。

  首先我们基于对物理模型的分析构造出一系列基于相似度和相关性的特征(31个)。

  

  之后,我们通过评价该实验相对于其对应训练数据集中的健康实验的统计偏差来判断该实验是否处于故障运行状态。

  

  3. 异常检测步骤结束后,我们开始故障定位过程。

  首先,基于物理模型的分析,我们构建出特征和位置的对应关系。

  之后利用该对应关系建立联合决策模型,并利用随机模拟(Monte Carlo Method)进行内部超参数的优化。

  

  对于异常检测中判断出来的有故障嫌疑的实验,我们利用联合决策模型得出具有最高故障风险的两个位置。

  之后我们利用另外一种更有针对性的判别准则来复查我们挑选出的故障位置是否真的发生故障(排除虚假预警)。

  

  4. 得出最终的故障实验及其故障位置后,我们通过物理模型分析(传递函数)来确定故障位置的故障是由“弹簧故障”、“阻尼故障”还是“都故障”导致。

  

  比赛最后,我们在testing数据集上得到了0.885的准确率和0.5393的灵敏度。把模型应用在validation数据集上时,我们发现模型的泛化能力很强,在准确率上达到了0.825,在灵敏度上达到了0.525。

  结论和经验:

  

  1. 问题:此问题内部只包含刚体动力学的机理,并没有涉及到化学甚至更复杂的机理知识,所以这个课题在工业界算是相对简单的。

  2. 机理:现在坊间也在研究和开发自动搜索和加工特征的算法,但是学习出复杂机理下的特征时间成本是极高的,而且很有可能学不出来,即使学习出来也需要结合机理去进行解释。那么如果我们能够提前了解一些相关的机理知识,就可以有针对性地抓住有效特征,同时可以积累成自己的行业经验。

  3. 方法:由于各类车辆悬挂系统都有一定的相似性,包括这种内部的强联结性,我们的方法可以为类似场景提供一种好的想法。

  4. 结果:我们团队内有来自自动化、数学、统计、计算机等不同领域的成员,大家能够进行优势互补,创造出更加全面和具有创新性的模型。

标签: 机床常用传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台