2022年第二届中国高校大数据挑战赛A题探究

题目

赛题 A 工业机械设备故障预测
制造业是国民经济的主体,近十年来,嫦娥探月、祝融探火、北斗组网,一
大批重大标志性创新成果引领中国制造业不断攀上新高度。作为制造业的核心,
机械设备在工业生产的各个环节都扮演着不可或缺的重要角色。但是,在机械设
备运转过程中会产生不可避免的磨损、老化等问题,随着损耗的增加,会导致各
种故障的发生,影响生产质量和效率。
实际生产中,若能根据机械设备的使用情况,提前预测潜在的故障风险,精
准地进行检修维护,维持机械设备稳定运转,不但能够确保整体工业环境运行具
备稳定性,也能切实帮助企业提高经济效益。
某企业机械设备的使用情况及故障发生情况数据见 “train data.xlsx” ,用于设
备故障预测及故障主要相关因素的探究。数据包含 9000 行,每一行数据记录了
机械设备对应的运转及故障发生情况记录。因机械设备在使用环境以及工作强度
上存在较大差异,其所需的维护频率和检修问题也通常有所不同。
数据提供了实际生产中常见的机械设备使用环境和工作强度等指标,包含不
同设备所处厂房的室温(单位为开尔文 K ),其工作时的机器温度(单位为开尔
K )、转速(单位为每分钟的旋转次数 rpm )、扭矩(单位为牛米 Nm )及机器运
转时长(单位为分钟 min )。除此之外,还提供了机械设备的统一规范代码、质量
等级及在该企业中的机器编号,其中质量等级分为高、中、低( H\M\L )三个等
级。对于机械设备的故障情况,数据提供了两列数据描述 ——“ 是否发生故障
具体故障类别 。其中 是否发生故障 取值为 0/1 0 代表设备正常运转, 1
表设备发生故障;
具体故障类别 包含 6 种情况,分别是 NORMAL TWF HDF
PWF OSF RNF ,其中, NORMAL 代表设别正常运转(与是否发生故障 0
相对应),其余代码代表的是发生故障的类别,包含 5 种,其中 TWF 代表磨损故
障, HDF 代表散热故障, PWF 代表电力故障, OSF 代表过载故障, RNF 代表其他
故障。
基于赛题提供的数据,自主查阅资料,选择合适的方法完成如下任务:
任务 1 :观察数据 “train data.xlsx” ,自主进行数据预处理,选择合适的指标
用于机械设备故障的预测并说明原因。
任务 2 :设计开发模型用于判别机械设备是否发生故障,自主选取评价方式
和评价指标评估模型表现。 任 务 3 : 设 计 开 发 模 型 用 于 判 别 机 械 设 备 发 生 故 障 的 具 体 类 别
TWF/HDF/PWF/OSF/RNF ),自主选取评价方式和评价指标评估模型表现。
任务 4 :利用任务 2 和任务 3 开发的模型预测“
forecast.xlsx ”中是否发生故
障以及故障类别。数据“
forecast.xlsx ”。与数据“
train data.xlsx ”格式类似,要
求在“
forecast.xlsx ”第 8 列说明设备是否发生故障(
0 1 ),在第 9 列标识出具
体的故障类型( TWF/HDF/PWF/OSF/RNF )。
任务 5 :探究每类故障( TWF/HDF/PWF/OSF/RNF )的主要成因,找出与其
相关的特征属性,进行量化分析,挖掘可能存在的模式 / 规则。

摘要

  在机械设备运转过程中会产生不可避免的磨损、老化等问题,随着损耗的增加,会导致各种故障的发生,影响生产质量和效率。本文以一批机械故障相关数据为主,建立数模对机械故障分析可对工业机械设备故障预测具有良好作用,对机械改进具有实际意义

  本文在对数据进行分析和描述性统计的基础上运用灰色关联度、皮尔逊相关性、正态化检测、层次聚类、决策树、随机森林、AHP层次分析模型等算法和模型,并结合MATLAB、SPSS、origin和EXCEL等软件,解决了工业机械设备故障预测研究问题。

  针对问题一,首先我们对数据进行了贝叶斯统计进行了处理,然后对数据进行了QQ图检测,得出与正态呈线性。再次基于灰色关联法分析机械故障影响程度研究,得出扭矩与时长变化量与是否故障有较大关系。最后我们使用皮尔逊相关性分析,得出相关性表与相关性图,得出扭矩与时长在所有指标中相关性最高呈正相关,故此问可选取扭矩与使用时长作为预测指标。

  针对问题二,首先对数据进行了可视化统计,使用箱线图对比了故障与非故障数据。然后建立了层次聚类法实现了对机械设备是否发生故障鉴别,得出温度,扭矩,使用时长为一类判别,转速为一类。最后使用了决策树较好解决了此问,其正确率达到了96.9%,然后使用网格调参法,得出决策树最佳参数。

  针对问题三,首先将故障类别数据进行数字替换,然后构建了随机森林,得出测试集预测结果有92.2%正确率,除了在第5指标误差达到了20%,其它指标预测情况较好。且在重要性中使用时长在指标中最高。最后我们做出误差曲线,得出在决策树数目在26时误差为0.1。

  针对问题四,我们使用前两问的决策树模型,对数据是否故障,与故障类别进行了预测,经过分析预测结果较好。

  针对问题五,首先我们将故障数据提取出来,然后基于AHP层次分析进行求解,得到权重图。最后分析知TWF成因为使用时长,HDF成因与温度有关,PWF成因机器转速有关,OSF成因扭矩,使用时长,温度过高导致,RNF只有六列主要成因使用时长与其它因素。

关键词:灰色关联法  皮尔逊相关性  层次聚类  决策树 随机森林  AHP层次分析 

二、问题假设

  • 假设1:假设设备检测时除故障主要相关因素以外不受其他人为因素干扰
  • 假设2:假设数据测量无误差
  • 假设3:假设所测量的机器温度及厂房温度稳定
  • 假设4:假设同等质量等级的机器出厂时数据差距不大
  • 假设5:假设机器出厂时无劣质

三、符号说明

符号

说明

C

数据完整率

灰色关联度

D(0)

距离矩阵

a

属性

CR

一致性指标

标准化

ST

训练集

  • 本文思路

  • 数据分析与预处理

题目所给数据较多,为了更好地利用所给数据,使建立的模型能够更好分析工业机械设备故障预测问题,在对问题进行正式求解之前,首先对数据进行一定的描述性统计和分析,并利用相应的数学方法进行了数据的预处理,这将有助于本问题模型的建立与求解。

附件train data所给数据较大有9000组,包括不同设备所处厂房的室温(单位为开尔文K),其工作时的机器温度(单位为开尔文K)、转速(单位为每分钟的旋转次数rpm)、扭矩(单位为牛米Nm)及机器运转时长(单位为分钟min)。除此之外,还提供了机械设备的统一规范代码、质量等级及在该企业中的机器编号,其中质量等级分为高、中、低(H\M\L)三个等级。对于机械设备的故障情况,数据提供了两列数据描述——“是否发生故障” 和“具体故障类别”。其中“是否发生故障”取值为 0/1,0 代表设备正常运转,1 代表设备发生故障;“具体故障类别”包含 6 种情况,分别是NORMAL、TWF、HDF、 PWF、OSF、RNF,其中,NORMAL代表设别正常运转(与是否发生故障”为 0 相对应),其余代码代表的是发生故障的类别,包含 5 种,其中TWF代表磨损故障,HDF代表散热故障,PWF代表电力故障,OSF代表过载故障,RNF代表其他故障。此外forecast数据也较多是要进行是否发生故障预测的数据。

5.1 数据完整性分析

 在本模型中统计了各个变量的数据完整性,并用数据完整率表示,也就是第i个变量的数据完整性。其中无效数据包括缺失数据、不合理数据等。

         

那么由此定义可知,越大,那么变量i数据的完整性越高,越具有真实性,那么可研究性也越强。统计附件给出的指标的数据完整性,我们使用python进行了检测       

5.1数据完整性统计

#

 Column 

Non-Null Count 

Dtype

0

机器编号       

 9000 non-null

int64 

1

统一规范代码

 9000 non-null

object

2

机器质量等级

 9000 non-null

object

3

室温(K)

 9000 non-null

float64

4

室温(K).1

 9000 non-null

float64

5

转速(rpm)

 9000 non-null

int64 

6

扭矩(Nm)

 9000 non-null

float64

7

使用时长(min)

 9000 non-null

int64

8

是否发生故障 

 9000 non-null

int64 

9

具体故障类别

 9000 non-null

object

5.2数据完整性统计

Column

Non-Null Count 

Dtype

机器编号       

 1000 non-null

int64 

统一规范代码

 1000 non-null

object

机器质量等级

 1000 non-null

object

室温(K)

 1000 non-null

float64

室温(K).1

 1000 non-null

float64

转速(rpm)

 1000 non-null

int64 

扭矩(Nm)

 1000 non-null

float64

使用时长(min)

 1000 non-null

int64

完整率统计

表5.3部分指标完整率统计结果

指标

机器编号

规范代码

质量等级

室温

室温

转速

扭矩

使用时长

故障类别

完整率

1

1

1

1

1

1

1

1

1

由表5.1可知,附件给出的参数数据完整率=100%。因此在进行问题分析时,应充分利用这些数据。

5.2 数据处理

5.2.1 “冗余变量”分析

由于给定的数据均为必要数据,因此,不存在“冗余变量”。

5.2.2 数据异常值处理

通过仔细观察发现,题目所给数据合理且无缺失值,因此无需进行异常值处理。

5.3 数据描述性统计

题目所给数据较多且重要,且后面要对数据的规律进行分析,因此我们有必要对所有数据进行描述性统计。

5.4数据描述性统计

N

最小值

最大值

均值

标准 偏差

方差

偏度

统计

统计

统计

统计

统计

统计

统计

标准 错误

室温(K)

9000

295.7

304.5

300.275

1.8965

3.597

0.073

0.026

室温(K)

9000

306.2

313.8

310.185

1.4184

2.012

0.022

0.026

转速(rpm)

9000

1168

2886

1539.20

179.640

32270.547

1.969

0.026

扭矩(Nm)

9000

3.8

76.6

39.985

10.0119

100.238

0.002

0.026

使用时长(min)

9000

0

253

107.88

63.630

4048.763

0.026

0.026

1指标频率统计

1各指标频率统计

机器质量等级

频率

百分比

有效百分比

累积百分比

有效

H

885

9.8

9.8

9.8

L

5397

60.0

60.0

69.8

M

2718

30.2

30.2

100.0

是否发生故障

频率

百分比

有效百分比

累积百分比

有效

0

8697

96.6

96.6

96.6

1

303

3.4

3.4

100.0

具体故障类别

频率

百分比

有效百分比

累积百分比

有效

HDF

95

1.1

1.1

1.1

Normal

8699

96.7

96.7

97.7

OSF

85

0.9

0.9

98.7

PWF

74

0.8

0.8

99.5

RNF

6

0.1

0.1

99.5

TWF

41

0.5

0.5

100.0

经过简单数据处理后得到最值与方差。我们观测知厂房的室温平均值为300.275(单位为开尔文K),其工作时的机器温度平均值310.185(单位为开尔文K)、转速平均值1539.20(单位为每分钟的旋转次数rpm)、扭矩平均值39.985(单位为牛米Nm)及机器运转时长平均值107.88.在进行数据频率检测中,质量等级中L占了百分比60。是否发生故障中正常占了96.6,故障占了3.4。其具体故障类别中故障中HDF与OSF故障类别占比较高的。

六、问题分析

4.1 问题一分析

问题一要求我们观察数据“train data.xlsx”,自主进行数据预处理,选择合适的指标用于机械设备故障的预测并说明原因进行分析。我们使用灰色关联度与相关性分析解答此题。首先我们对数据做了简单分析得到其众数与平均值等,也做了正态化检验使用QQ图。知道具有线性关系故相关性使用了皮尔逊相关性。基于灰色关联法与相关性研究,我们得出使用机械扭矩与时长指标对机械设备故障预测是较好的。

4.2 问题二分析

 问题二要求我们设计开发模型用于判别机械设备是否发生故障,自主选取评价方式和评价指标评估模型表现。首先针对此问题我们进行了数据可视化,使用箱线图将故障与非故障做了对比。然后建立了基于层次聚类对机器故障问题进行了研究。最后基于决策树解决了问题二,得出正确百分比为96.9%,然后进行了参数寻优使用网格寻参法成功得出最优。

4.3 问题三分析

 问题三要求我们设计开发模型用于判别机械设备发生故障的具体类别

(TWF/HDF/PWF/OSF/RNF),针对此问我们首先对数据进行了处理,提取出故障数据,并对故障类别数据做了数字化代替,构建随机森林模型判别机械设备发生故障具体类别,求出来的结果准确率达到了92.2%效果较好,且分析了其中指标对故障类别分类的重要性排名得出使用时长重要性最大结论,在最后做出误差曲线,分析知在决策树数目为26时误差最低。

4.4问题四分析

  问题四要求我们forecast.xlsx”中是否发生故障以及故障类别进行预测,我们调用决策树模型对此问进行了解答,预测结果较好。

4.5问题五分析

问题五要探究每类故障(TWF/HDF/PWF/OSF/RNF)的主要成因,首先我们将故障数据从数据“train data.xlsx”提取出来,接下来我们利用SPSSPRO分别对正常数据,五类故障数据TWF/HDF/PWF/OSF/RNF)分别进行进行AHP层次分析,并将故障数据所求的结果与正常数据所求的结果进行比对,可得出每类故障的特征属性

七、模型的建立与求解

7.问题一模型建立与求解

数据预处理

本题主要探究机械设备各指标与是否故障相关性。故数据故障类别在此问中可剔除

使用贝叶斯统计方法对数据做了简单处理

1贝叶斯统计

单样本平均值的后验分布特征

N

后验

95% 置信区间

众数

平均值

方差

下限

上限

室温(K)

9000

300.275

300.275

0.000

300.236

300.314

室温(K)

9000

310.185

310.185

0.000

310.156

310.214

转速(rpm)

9000

1539.20

1539.20

3.587

1535.48

1542.91

扭矩(Nm)

9000

39.985

39.985

0.011

39.778

40.192

使用时长(min)

9000

107.88

107.88

0.450

106.57

109.20

我们知相关系数使用较多的有皮尔逊Person相关系数或斯皮尔曼Spearman相关系数,皮尔逊相关系数要求数据连续、正态分布且呈线性关系,斯皮尔曼相关系数的适用条件则更为广泛。首先进行数据的正态分布检验,正态分布检验方式有多种,如雅克-贝拉检验、Shapiro-wilk夏皮洛-威尔克检验、Q-Q图等,本次正态分布检验选用Q-Q图检验。

    

1正态QQ检测

参数数据作图发现,有的参数的Q-Q图上的点在一条直线附近分布,如图所示,所以在下面相关性分析时可以采用皮尔逊相关系数进行相关性分析,也可以采用适应性更强的斯皮尔曼相关系数进行求解分析。

7.1 机械设备故障与其它指标相关性的研究

7.1.1 基于灰色关联分析法机械故障影响程度研究

7.1.2模型建立

灰色关联度简介[1]a)[1]

灰色系统理论(Grey Theory)是由华中科技大学的邓聚龙教授于上世纪 70

年代末、80 年代初期提出,已广泛应用于社会、经济、科技、农业、生态、生

物等各个领域。

灰色系统分析方法针对不同问题性质有几种不同做法,灰色关联度分析

(Grey Relational Analysis)是其中的一种。基本上灰色关联度分析是依据

各因素数列曲线形状的接近程度做发展态势的分析。

灰色系统理论提出了对各子系统进行灰色关联度分析的概念,意图透过

一定的方法,去寻求系统中各子系统(或因素)之间的数值关系。简言之,灰

色关联度分析的意义是指在系统发展过程中,如果两个因素变化的态势是一

致的,即同步变化程度较高,则可以认为两者关联较大;反之,则两者关联

度较小。因此,灰色关联度分析对于一个系统发展变化态势提供了量化的度

量,非常适合动态(Dynamic)的历程分析。

灰色关联度可分成“局部性灰色关联度”与“整体性灰色关联度”两

类。主要的差别在于局部性灰色关联度有一参考序列,而整体性灰色关联度

是任一序列均可为参考序列。

根据题目要求,我们用灰色关联分析法研究表面风化对颜色,类型,纹饰影响程度,并进行排序,得到表面风化变化的影响程度大小。

  1. Step1 对效益性指标进行标准化

其中为第i个指标第j次实验对应的数据。

对成本性指标进行标准化

其中 为第i个指第j次实验对应的数据。

  1. Step2 确定分析数列

首先求解出能反应系统应为特征的数据序列即参考序列,记为,然后求解参考序列与每一个序列的差

  1. Step3 计算子序列中各个指标与母序列的关联系数

定义灰色系数,即各指标的关联系数为:

其中a为两级最小差,b为两级最大差,&为分辨率(这里取为0.5)

  1. Step4计算灰色关联度,得出结论。

定义为灰色关联度,即将关联系数矩阵每列求均值

7.1.3模型求解

分析步骤

2灰色关联法流程图

以是否故障作为“参考值"(母序列),研究5个评价项(转速、厂房温度,机器温度,扭矩,使用时长),并基于关联度提供分析参考,使用灰色关联度分析时,分辨系数取0.5,结合关联系数计算公式计算出关联系数值,并根据关联系数值,然后计算出关联度值用于评价判断。灰色关联分析法求解得到

图3关联度排名

表2关联度排名

评价项

关联度

排名

转速(rpm

0.478

5

室温(K

0.827

3

室温(K

0.822

4

扭矩(Nm

0.973

1

使用时长(min

0.927

2

如表与图所示,我们从总体上来说,扭矩与使用时长变化量的灰色关联度排名 1、2,说明是否故障与扭矩和机械使用时长有较大关系,转速的关联度小于0.5说明转速与是否故障相关性较低。查阅相关资料,可以佐证扭矩与时长较大时机械故障越容易发生。

7.1.2机械故障与各指标相关性分析

通过MATLAB SPSS进行求解,得出各参数变化率与是否机械故障间的相关系数。对于问题一选择合适的指标用于机械设备故障的预测较好解答。

表3相关性表

相关性a

机器质量等级

厂房室温

机器温度

转速

扭矩

使用时长

是否发生故障

机器质量等级

皮尔逊相关性

1

-0.015

-0.013

-.003

-.006

-.003

-.039

厂房室温

皮尔逊相关性

-0.015

1

0.860

.024

-.018

.020

.080

机器温度

皮尔逊相关性

-0.013

0.860

1

.019

-.016

.016

.033

转速

皮尔逊相关性

-0.003

0.024

0.019

1

-.875

.004

-.050

扭矩

皮尔逊相关性

-0.006

-0.018

-0.016

-.875

1

-.007

.194

使用时长

皮尔逊相关性

-0.003

0.020

0.016

.004

-.007

1

.107

是否发生故障

皮尔逊相关性

-0.039

0.080

0.033

-.050

.194

.107

1

4相关性图

从表与图知,由图知颜色越深相关性越高,在是否发生故障中可知扭矩与是否发生故障相关性最高但相关性不是很高。使用时长相关性第二。是否发生故障与扭矩,使用时长,厂房室温,机械温度,相关性为正相关性,与转速,机器质量等级成反比。故可选择扭矩,使用时长指标用于机械设备故障的预测。因为其灰色关联度与相关性与是否发生故障最高。

7.2问题1小结

首先使用贝叶斯统计对数据做了简单处理得到众数、平均值等然后针对正态分析做出QQ图得出参数基本上在一条直线上,然后基于灰色关联法对机械故障影响指标做出分析。得到扭矩与使用时长与是否故障关联度排在第一与第二。最后将机械故障与各指标进行了相关性分析做出了相关性表与相关性热力图。得出在所有指标中扭矩与时长指标相关性最高,故对于问题一我们选取扭矩与使用时长作为此问题的答案。

8.1 问题二模型建立与求解

8.1.1数据处理

由第一问知在所有指标中扭矩与时长指标相关性最高。故在此问中我们选取扭矩与时长指标进行分析。此问需要解决判别机械设备是否发生故障我们对数据进行了箱线图分析。 在此图中故障与非故障扭矩与时长下边缘与上边缘基本接近,其时长指标中位数比较有差异,故可判别是否产生了故障,但显然不正确中位数并不能代表这组数特征。故我们使用决策树与层次聚类分类法进行研究。

8.1.2基于层次聚类分类法对机器故障分析推测

8.1.3模型建立

层次聚类法是聚类分析方法中使用最多的方法。其基本思想是:距离相近的样品(或变量)先聚为一类,距离远的后聚成类,此过程一直进行下去,每个样品总能聚到合适的类中。它包括如下步骤:

  1. 将每个样品独自聚成一类,构造n 个类。
  2. 根据所确定的样品距离公式,计算n 个样品(或变量)两两间的距离矩阵,记为 D(0) 。
  3. 把距离最近的两类归为一新类,其他样品仍各自聚为一类,共聚成n 1 类。
  4. 计算新类与当前各类的距离,将距离最近的两个类进一步聚成一类,共聚成n2类。以上步骤一直进行下去,最后将所有的样品聚成一类。
  5. 画聚类谱系图。

决定类的个数及各类包含的样品数,并对类做出解释。

层次聚类步骤

 

8.2层次逐步步骤

8.1.4模型结果

本文采用类间距离的层次聚类算法可实现对用于判别机械设备是否发生故障,由上面的层次聚类知指标温度与扭矩,使用时长。转速作为故障分类标准。故在数据中可用其指标推测出是否故障。但此方法使用SPSS求解出并没给出准确率,故我们有使用决策树法。

8.1.2基于决策树法对机器故障分析推测

8.1.3模型建立

决策树( Decision Tree )又称为判定树,是运用于分类的一种树结构。其中的每个内部结点(internal node )代表对某个属性的一次测试,每条边代表一个测试结果,叶结点(leaf )代表某个类(class )或者类的分布(classdistribution ),最上面的结点是根结点。决策树分为分类树和回归树两 种,分类树对离散变量做决策树,回归树对连续变量做决策树。构造决策树是采用自上而下的递归构造方法。决策树构造的结果是一棵二叉或多叉树,它的输入是一组带有类别标记的训练数据。二叉树的内部结点(非叶结点)一般表示为一个逻辑判断,如形式为 (a = b) 的逻辑判断,其中 a 是属性, b 是该属性的某个属性值;树的边是逻辑判断的分支结果。多叉树( ID3 )的内部结点是属性,边是该属性的所有取值,有几个属性值,就有几条边。树的叶结点都是类别标记。

使用决策树进行分类分为两步:

第 1 步:利用训练集建立并精化一棵决策树,建立决策树模型。这个过程

实际上是一个从数据中获取知识,进行机器学习的过程。

第 2 步:利用生成完毕的决策树对输入数据进行分类。对输入的记录,从

根结点依次测试记录的属性值,直到到达某个叶结点,从而找到该记录所在的

类。

8.1.4模型求解

实测

预测

0

1

正确百分比

0

8673

24

99.7%

1

251

52

17.2%

总体百分比

99.2%

0.8%

96.9%

进行利用第一问扭矩与时长指标进行决策树模型如上图与上表,其正确百分比为96.9%准确率较好。结果有一定的误差,故我们进行寻找最佳参数确定最优。

8.2基于决策树模型的研究

我们在上文进行了箱线图的建立,较好观测到参数的变化,通过随机数的方式对模型准确性寻找最优,检测是否可靠,在其它变量都不变情况下改变其需要的参数,随机数上限为改指标最大值下限为最小值。选用多种模型最后做对比选择最优

Max_depth

由上图知决策树在深度为9时最佳得分为0.985

Min_samples_split

知内部节点所需最小样本数为5时,最佳准确度为0.9861111

Min_samples_leaf

最佳值为2,此时准确率达到了0.98666

由上可得我们确定因为max_depth在9附近,min_samples_split在5附近,min_samples_leaf在2附近是最优参数,所以我们分别在这个附近利用网格搜索得到最优参数。使用网格搜索得出最佳参数为{'max_depth':9,'min_samples_leaf': 5, 'min_samples_split': 2},此时准确率为0.986。

8.3问题二小结

首先我们对数据进行了预处理,做出了折线图对比观察了故障与非故障指标的差异,然后制作了箱线图将故障与非故障指标可视化对用于判别机械设备是否发生故障具有实际意义,再使用基于层次聚类分类对机器故障做了分析得到了聚类图发现了温度,扭矩,使用时长。转速作为故障分类标准。最后有使用了决策树使用扭矩与时长指标。做出决策树正确百分比96.9%具有一定误差,然后进行了参数寻优得到

9.1问题三模型建立与求解

9.1数据预处理

针对此问我们将数据中故障类型分为数字使用matlab编码解决,知其中,NORMAL代表设别正常运转(与是否发生故障”为 0 相对应)故分析此问我们将故障数据提取出来,对NORMAL不做分析了。

HDF

1

OSF

2

PWF

3

RNF

4

TWF

5

9.2构建随机森林判别机械设备发生故障的具体类别

9.2.1模型建立

如果将神经网络比作连续函数,划分空间后,有多少个类别就有多少个条件划分,如左图,随机森林就是为分段函数,树节点更多,对样本判定条件更多,分得更细,能够在复杂数据中更好划分。

随机森林算法的训练过程简单来看分为采样和创建树结构两部分,采样方法Bagging算法:随机产生T个训练集S1、S2、 ST。随机选取样本组成训练集。决策树是一种经典的机器学习算法,简单直观,可解释性强。

本文进行随机算法原理

9.2.2模型求解

判别机械设备发生故障的具体类别我们使用随机森林算法,使用MATLAB结果如下。

首先我们使用数据train data将故障数据提取,使用随机森林做了分类上图为混淆矩阵,一类为训练集混淆矩阵,测试集混淆矩阵。在预测第5种其误差有21.4%,其它分类误差都在10%内,结果还行。

由上图知测试集的预测结果有92.2%的准确率,除了几个异常点,故此算法做出的预测具有可信度。

针对故障类别分类其中使用时长是正重要性,且在其它指标中占最高达到了3.5。扭矩,转速,机器温度,厂房温度重要性依次降低,其中温度中厂房温度重要性比机器用作时重要性高。

由误差曲线知在决策树数目26时误差达到了最低接近0.1。由此看模型较好。

9.3问题三小结

对于此问较为简单,我们首先进行了数据处理,将数据故障类别编为数字,在matlab中进行随机森林模型构建,模型做出对比发现较好。

10.1问题四模型建立与求解

10.2模型求解

此问利用任务 2 和任务 3 开发的模型预测“forecast.xlsx”中是否发生故障以及故障类别。问题二使用了决策树模型,问题三使用了随机森林。且得出结论准确率都较高的,故对此问进行解答

调用决策树进行预测

第一问预测

yu=pd.read_excel('forecast.xlsx')

yu.head()

yu2=yu.drop(['机器编号', '统一规范代码'],axis=1)

yu2.head()

yu3=pd.get_dummies(yu2,columns=['机器质量等级'])

yu3.head()

pickled_model = pickle.load(open('model.pkl', 'rb'))

pre=pickled_model.predict(yu3)

pre

a = pd.DataFrame(pre,columns=['预测是否发生故障'])

a

yu3

con=pd.concat([yu2, a], axis=1)

con.to_excel('预测1.xlsx')

con

结果如下

第二问预测

data2=yu.drop(['Unnamed: 0'],axis=1) # 原始预测数据

data2.head()

data3=data2.drop(['预测是否发生故障'],axis=1) # 原始预测数据

data3.head()

mapping = {

           'H': 3,

           'M': 2,

           'L': 1

}

data3['机器质量等级'] =data3['机器质量等级'].map(mapping)

data3.head()

pickled_model = pickle.load(open('lei.pkl', 'rb'))

yu3=pickled_model.predict(data3)

yu3

a = pd.DataFrame(yu3,columns=['故障类型'])

a

data2

con=pd.concat([data2, a], axis=1)

con.to_excel('预测2.xlsx')

con

结果如下

问题四小结

此问使用以上两问模型进行了预测较好的预测出来,预测数据放在结果表格中

11.1问题五的模型建立与求解

我们首先将故障数据从数据“train data.xlsx”提取出来,接下来我们利用SPSSPRO对正常数据进行AHP层次分析,在进行AHP层次分析法计算权重时,需要进行一致性检验分析,用于研究评价权重计算结果的一致性检验结果 , 即计算一致性指标CR值(CR=CI/RI).首先需要构建判断矩阵,如下

AHP层次分析判断矩阵 

平均值

机器质量等级

厂房温度

机器温度

转速

使用时长

扭矩

1.510

机器质量等级

1

0.005

0.005

0.001

0.013

0.039

296.520

厂房温度

196.371

1

0.964

0.191

2.612

7.670

307.492

机器温度

203.637

1.037

1

0.198

2.709

7.953

1550.030

转速

1026.510

5.227

5.041

1

13.654

40.092

113.520

使用时长

75.179

0.383

0.369

0.073

1

2.936

38.662

扭矩

25.604

0.130

0.126

0.025

0.341

1

AHP层次分析结果 

特征向量

权重值

最大特征值

CI

机器质量等级

0.004

0.065%

6.000

0.000

厂房温度

0.771

12.849%

机器温度

0.799

13.324%

转速

4.030

67.167%

使用时长

0.295

4.919%

扭矩

0.101

1.675%

从上表可知,针对机器质量等级,厂房温度,机器温度,转速,使用时长,扭矩总共6项构建6阶判断矩阵进行AHP层次法研究(计算方法为:和积法),分析得到特征向量为(0.004,0.771,0.799,4.030,0.295,0.101),并且总共6项对应的权重值分别是:0.065%,12.849%,13.324%,67.167%,4.919%,1.675%。除此之外,结合特征向量可计算出最大特征根(6.000),接着利用最大特征根值计算得到CI值(0.000)

接下来我们计算RI值,得到下表

随机一致性RI表格 

n

3

4

5

6

7

8

9

10

11

12

13

14

15

16

RI值

0.52

0.89

1.12

1.26

1.36

1.41

1.46

1.49

1.52

1.54

1.56

1.58

1.59

1.5943

n

17

18

19

20

21

22

23

24

25

26

27

28

29

30

RI值

1.6064

1.6133

1.6207

1.6292

1.6358

1.6403

1.6462

1.6497

1.6556

1.6587

1.6631

1.6670

1.6693

1.6724

本次研究构建出6阶判断矩阵,对应着上表可以查询得到随机一致性RI值为1.260

一致性检验结果汇总 

最大特征根

CI

RI

CR

一致性检验结果

6.000

0.000

1.260

0.000

通过

本次针对6阶判断矩阵计算得到CI值为0.000,针对RI值查表为1.260,因此计算得到CR值为0.000<0.1,意味着本次研究判断矩阵满足一致性检验,计算所得权重具有一致性。

得到权重图如下

接下来我们分别对五类故障机器数据分别进行AHP层次分析,得出权重图依次如下

磨损故障(TWF)

散热故障(HDF)

电力故障(PWF)

过载故障(OSF)

其他故障(RNF)

将五类故障机器的权重图与正常机器的权重图做对比可知

(1)磨损故障(TWF)的主要成因是使用时间过长,接近为正常机器的两倍

(2)散热故障(HDF)的主要成因是厂房温度及机器温度过高,且扭矩过高导致

(3)电力故障(PWF)的主要成因是机器转速过高导致

(4)过载故障(OSF)的主要成因是使用时间较长,厂房温度、机器温度、扭矩等均过高而导致

(5)出现其他故障(RNF)的机器只有六例,出现几率较小,其主要成因为使用时长过长及一些其他因素造成

11.2问题五小结

我们使用SPSSpro对数据进行了AHP层次分析。首先进行了一致性检验分析,得出权值与最大特征根,接下来计算出了PI值然后依次得出权重值磨损故障(TWF)的主要成因是使用时间过长,接近为正常机器的两倍,散热故障(HDF)的主要成因是厂房温度及机器温度过高,且扭矩过高导致,电力故障(PWF)的主要成因是机器转速过高导致,过载故障(OSF)的主要成因是使用时间较长,厂房温度、机器温度、扭矩等均过高而导致,出现其他故障(RNF)的机器只有六例,出现几率较小,其主要成因为使用时长过长及一些其他因素造成。

八、模型的评价

8.1 模型的优点

  1. 本文主要使用灰色关联度与相关性分析,决策树算法AHP层次分析法,不需要很复杂的计算,需要准备的数据量少,并能够处理多目标、多准则、多要素、多层次的非结构化的复杂问题。
  2. 通过模型分析,明确发展趋势,需要的数据不太多。根据其高度一致的关联分析,趋势和走向不易偏离轨道,结果比较准确。

7.2 模型的缺点

  1. 灰色关联分析法存在一定局限性,它主要分析两个因素变化态势是否一致的情况。它的数据为了求最优值,一般取平均值,有些时候会以偏概全。
  2. 决策树的结果有可能不稳定,因为在数据中一个很小的变化可能导致生成一个完全不同的树,这个问题可以通过使用集成决策树来解决。

九、模型的推广与改进

9.1 模型的推广

(1)模型的建立较为全面,处理的数据流程十分清晰,计算简便,结果可靠,有较强的稳定性与准确性。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
2022 第十二届 mathorcup 高校数学建模挑战赛的 D 是一道要求编程的难度较高的目,要求我们用计算机编写程序实现一个特定的功能,涉及到许多高级算法和数据结构的应用。本的目标是对一些数学模型进行求解和优化,具体来说是对于一个二次规划问,我们需要设计一种有效的算法来求解最小化目标函数的问。 在这道目中,我们需要用到一些重要的数学概念和算法,比如线性代数的矩阵运算、优化算法的最优化、非线性规划、对偶问等等。此外,我们还需要掌握一些编程技巧和数据结构知识,比如动态规划、贪心算法、堆、图论等等。 由于这道目的难度较高,我们需要在做之前先进行充分的准备,包括对相关算法和知识点的掌握、对目要求的理解以及对各种数据结构和编程技巧的掌握。这需要我们在日常的学习和实践中不断积累经验和知识,从而为解决高难度的编程问打下坚实的基础。 总的来说,2022 第十二届 mathorcup 高校数学建模挑战赛的 D 是一道难度较高的编程目,要求运用各种数学知识和编程技巧,设计出一种高效的算法来实现最优化的求解。对于这道目,我们需要具备扎实的数学基础和编程能力,同时也需要在日常的学习中不断积累经验和知识,从而提高自己的解能力和水平。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值