当前位置:   article > 正文

制造业MES&R语言数据挖掘之设备故障序列关联分析_制造类数据挖掘与分析实例演示

制造类数据挖掘与分析实例演示

本案例针对于铅酸电池行业的设备故障进行R语言数据挖掘:找到故障之间的时间先后规律,比如A故障发生后,多大概率会发生B故障。

目录

一、数据准备

二、选择算法

三、编程建模

四、分析

五、评价


步骤

1、数据准备

2、选择算法

3、编程建模

4、分析

5、评价

一、数据准备

1、本案例分析的数据是铸焊机的故障记录;将MES中所有铸焊机维修记录导出成EXCEL,一共338条。

记录中包括:故障描述、故障部位、处理方法及结果。

excel 截图如下

2、将故障描述、故障部位、处理方法及结果整理成TXT格式

3、用R语言的分词函数,将文本拆分成关键词

R语言代码如下

  1. install.packages("jiebaR")
  2. library("jiebaR")
  3. setwd('E:/')
  4. wk = worker(bylines = T,user="设备故障字典.txt",stop_word = "停用词字典.txt")
  5. wk['./故障描述.txt']

提醒: 分词算法中,最关键的是字典表,包括用户自定义表和停用字典表。如果没有自定义表,最后分词的效果会非常差。

4、将所有拆分后的关键词连接起来,整理在EXCEL中,如图所示

 

5、将EXCEL导出成TXT文本,如图3所示

 

二、选择算法

本次案例选择了Spade算法:序列关联分析的目的是要从所收集到的众多事务序列中,发现某个事务序列连续出现的规律,找到事务发展的前后关联性,这种前后关联性通常与时间有关。

三、编程建模

 R语言代码:

  1. library(arules) #导入R包
  2. library(Matrix) #导入R包
  3. library(arulesSequences) #导入R包
  4. setwd('E:/') #设置工作路径
  5. mytrans<-read_baskets(con="./铸焊序列.txt",sep=",",info = c("sequenceID","eventID"),encoding = "UTF-8") #将TXT文件导入R,eid要求在每个seqid下无重复且严格排序
  6. inspect(mytrans[1:10,]) #显示前十行数据
  7. str(mytrans) #显示数据格式
  8. fset<-cspade(data=mytrans,parameter = list(support=0.55,maxsize=5,maxlen=5,maxgap=80)) #搜索频繁项集,此处的三个参数经过了多次调整
  9. inspect(fset[1:100,]) #显示前100行
  10. str(fset) #显示数据格式
  11. rules<-ruleInduction(x=fset,confidence=0.5) #在频繁序列的基础上派生序列关联规则
  12. inspect(rules) #显示数据集
  13. rulesd<-as(rules,"data.frame") #转换成数据框格式
  14. library(xlsx) #导入R包
  15. write.xlsx(rulesd,file = "./3.xlsx",row.names = TRUE) #序列规则导出成EXCEL

四、分析

铸焊机序列关联规则如下图所示

 

将提升度大于1的筛选出来再进一步整理,整理后的规则如下图所示

规则说明:左边是前项实物,右边是后项事务,以第一项为例: 加热管→铅泵管。加热管坏了之后,有较大概率是铅泵管会坏,这里先不去探究具体的逻辑成因,只是将其中的规律提炼出来。

五、评价

从上步的分析来看,大部分规则从实际业务来看是正确的。 这个案例的应用价值可以体现在:提醒设备、车间在维修和保养过程中,有关联性的操作,比如机修工维修加热管的时候,顺便检查一下铅泵管、铅泵、模具。尽量将后者故障的可能性降至最低。

改进点:1、代码中的参数需要更多的调试,才能找到一个较优化的状态。2、数据量收集到1000条以上,生成的规则可能会更有代表性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/347605
推荐阅读
相关标签
  

闽ICP备14008679号