数据挖掘--从海量数据中发现规则和规律数据挖掘徐良为(日本数理系统株式会社)徐良为-----------基于数据挖掘进行工业上的品质管理和节省能源控制关键字:不确定性,知识发现,机器学习,品质改善,节省能源控制1 前言数据挖掘借助于计算机的存贮能力与计算能力,从海量的、复杂的数据中发现有价值的知识、规律性和要素之间的对应联系等等。
近年来,随着数据挖掘技术迅速的发展,在各种各样的行业中得到有效地运用和实践。
在这样的背景下,充满着复杂性、多样性和不确定性的社会中如何去理解和合理地判断、从已有的记录数据出发如何将其复杂的关联性要素进行清晰化模型化、如何将类似的东西合理地分类、计算不确定的事情的发生概率大小等等各类重要性有必要进行重新认识。
对于本文,作者从数据挖掘系统开发者的观点出发,结合以往的制造业质量管理和节省能源控制等项目的实施经验进行数据挖掘的基础技术介绍。
第二节是对数据挖掘过程的基本介绍,第三节是制造业的质量改进,第四节是关于产品的生产控制以及节省能源应用的例子。
最后一节叙述了数据挖掘将来的展望。
2 数据挖掘过程的基础我们经常会听到诸如“明日的最高气温是多少度”的问题,由于影响实际气温的因素有许许多多,包括一些人类无法预知的因素,所以要非常精确地说“明日的最高气温是25.4度”是很困难的。
但是如果根据最高与最低气温的记录得到“明日的最高气温是(-41,40.9)”谁都不会有异议。
但是这个范围太广了,如果说是北京,则根据当地气象状况得到(-9.2,39.5)的范围。
更进一步,能够加入季节、周边地区的气象状况等条件的话,这个温度的判断范围还会缩小。
但是这个范围始终是概率上的推定,还是有较小的可能性最终实际温度会偏离这个范围。
为了缩小范围,需要从海量且复杂的气象数据中将最高气温的关联原因找出来。
在这里,我们说:“推断明日的最高气温”这个话题其实是数据挖掘过程的一种基本形式。
图1 数据挖掘作业图数据挖掘过程中的几个主要步骤:(1)挖掘目标需明确化首先要清楚做什么。
例如,想知道影响半导体硅晶片震动停滞的原因、生产线故障诊断、生产计划的用料量预测、制造控制中的最优化制动等等。
(2)数据收集从各种数据存储容器(数据库等)里选择、收集可供数据挖掘使用的数据。
为了进行有效的数据挖掘,尽量选择精度高的数据(例如气温相关的记录)是十分重要的。
这个阶段收集得到的数据的质量好坏直接影响到最终数据挖掘的成功与否。
有关的分析统计结果表明数据挖掘整个过程中有九成时间是花在数据准备上的。
(3)数据加工为了将取得的数据进行分析,需要进行数据的整理加工,这样才能使之符合分析的格式。
具体来说数据加工有缺值的补充或者错误值的修正,单位格式的统一和规格化处理等。
(4)挖掘这一步骤是数据挖掘的核心部分。
主要是选择数据挖掘的方法,其次是从数据出发将有用的数据抽取出来形成一个模型进行假设验证。
(5)结果显示使用可以让决策者容易理解的形式去将得到的挖掘结果表现出来。
通常,数据挖掘的对象-数据(收集、加工完)是以下表的形式表现的:表1 制造工程记录数据上表是检测某个精密仪器所得到实际生产数据。
各列(称为变量)是制造条件及最终的合格与否。
各行描述了整个制造过程。
数据挖掘从表数据出发,寻找制造条件(说明变量)和产品是否合格(目的变量)之间相互影响关系,制造条件与合格与否间是否有某种相关性(用函数及Model形式来体现)。
数据的变量可以分为三类:整数型,实数型以及分类型。
例如“合格还是不合格”的取值是两种:Yes或者No,这个‘合否’列就是分类型变量。
温度是实数变量。
数据挖掘的核心方法部分可以分为以下几类:·模型的做成与验证(回归分析、分类分析)·聚类分析·关联规则·时间序列分析·数据可视化及其他【模型做成、验证】是找到输入(此例中是制造条件)与输出(此例中是合否)的对应关系,或者说模型是一种函数关系。
模型常常从既存的数据出发去训练和发现。
由于模型是用函数来表达的,所以给函数赋值(此例即制造条件)后得到函数的结果(即合格与否),这在数据挖掘里被称为“预测”。
并且根据模型所应用的算法可以得到影响最终合格不合格的制造条件的潜在规律。
在统计上,如果目的变量是分类型变量的话常常用分类模型去分析,如果目的变量是数值型变量,则常常用回归分析等方法。
评价一个模型的好坏是用模型的预测精度来衡量的。
通常,将记录数据随机地分为学习数据与验证用数据,使用学习数据建立模型,用验证数据来验证模型的预测精度。
模型作成(学习)的方法有很多,现在业界同样有许多新的技术正在研发。
具有代表性的有:线性回归分析、决策树、神经网络、k-NN、支持向量机、贝叶斯网络等,还有的将几种模型混合在一起进行集团学习的方法。
模型的预测精度依赖于被训练的数据的规模数量。
模型一旦做成后,不仅仅是模型的预测精度,包括数据的顽健性(学习数据能涵盖到知识内容的多少),说明能力(模型的结论能和人类的实践经验一致,需具有说服力)等都需要验证和评价。
当和期待的结果不一致的时候,重新退回到数据收集阶段,需要检查是否还有其它解释变量需要添加。
模型就是这样一个循环往复进行试行验证与纠正的过程。
【聚类分析】将数据看成多维空间中的点,根据点之间的距离划分成多个类。
按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。
聚类算法有多分类基准,如基于划分: K-means, K-medoids;基于层次: HFC; 基于密度: DBSCAN;基于网格: CLIQUE , STING;其它还有诸如SOM,Dendrogram,二项soft聚类。
图2 左为K-means 右为二项soft聚类二项soft聚类[5][6]是近年新兴起的一个热点技术。
这是一种针对两个分类型变量间的共起概率(同时发生的可能性大小)进行聚类的一种数据挖掘方法。
例如,从顾客对商品所表现的兴趣程度(购买数量与金额等等),预先设置好几种类别将两边的变量顾客与商品进行归类(如图2右)。
被分在同一个类别(如上图中的Z1)里面的顾客和商品之间的“关联性”较高,不同类别之间的顾客商品的关联性较弱。
经过大量实践证明,这种分类法在文本挖掘(文章与词语,文章与语义之间的关系)、推荐系统(商品与顾客,服务与顾客)、人事系统(工人与工作)都有很好的应用效果。
同时数据挖掘在制造业中的CRM、产品设计(后述)、生产计划排程都发挥着很大的作用。
【关联分析】从数据出发,得到以下的规则(前提至结论):工程B.材料=S --> 是否合格=YES为了评价规则的有效性,可信度可信度(工程B.材料=S的数据中,合否=YES所占的比重)可信度与支持度支持度(工程B.材料=S并且合否=YES的数据在全体数据中所占比例)是常常使用的支持度参数。
关联分析就是自动的将数据中可信度高并且支持度高的规则发掘出来,也是在数据发生的时候逐次将规则挖掘出来的过程。
【时间序列分析】例如,分析品质管理中的检查装置里得到的根据时间排列的数值数据的变化特征(pattern)情况。
时间序列预测一般反映三种实际变化规律:趋势变化、周期性变化、随机性变化。
为了时间序列的显示,常会用到傅里叶变换、平稳随机序列、差分序列等等诸多数学方法。
在检测装置的模型抽出、时间序列的聚类、分段线性表示。
异常信号的检出中常常会用分段线性表示分段线性表示图3 时间序列的分段线性表示模式发掘数据挖掘常常会将以上几种技术进行组合做成一个复杂的模式(Model)进行专业领域的挖掘工作。
例如,对检测设备得到的实际数据进行时间序列的分析后,再将其结果进行聚类分析,将不同组的特征挖掘出来,进行每个组的模型的分类分析。
数据挖掘在制造业中品质改善的应用制造业中品质改善的应用3 数据挖掘在数据挖掘在制造业中有着广泛的应用,包括制造过程、生产控制、设备维护、品质改善、缺陷检出、工程技术、精密仪器、决策分析等各种各样的实际运用。
本节主要讨论了制造业中的设计阶段和制造阶段的应用。
【设计阶段】为了提高顾客的满意度,有必要考虑诸如产品的价格、性能和功用等因素。
提高顾客满意的最好的办法是将每个顾客的需求都能够实现,但是这样导致成本很高,最终会体现在价格上。
这样的方式是没有厂家会去采用的。
为了兼顾制造成本和顾客满意度,厂商往往会将顾客的需求归类,根据每个类别的特征去设计和生产。
根据顾客产品特征进行问卷调查,将调查结果用二项soft聚类算法进行顾客和产品的两种类别分析。
不仅是产品的变化特征,还要得到制造数量比例的指针。
产品的特征分类的同时针对顾客进行不同的归类。
设置簇ID作为目的变量分析顾客的属性,进一步建立预测模型。
各个簇中的顾客属性特征进行关联性分析和群间比较[5],最终的数据挖掘的结论作为产品设计的参考和帮助指导市场战略的方向性。
【制造阶段】制造条件(制造参数)的最优化是品质改善中极为重要的一个环节。
在制造的初期阶段,特别是制造数据很少的情况下,为了得到最优或者说最佳的制造参数,常常用到试验设计法。
随着制造生产的进行,制造过程中所积累的数据会越来越多。
数据挖掘技术在其中常会起到关键性的作用。
其中,不仅仅是单纯的生产参数,包括影响到结果的控制与不能控制的相互关联的基础上进行贴近现实和实际生产情况的模型设计与分析,例如实时分析等等。
制造控制的挖掘方法会在下面进行详细介绍。
数据挖掘技术可以直接用在故障的原因诊断,故障的事情预防等等。
图4是某一个制造现场的各个工程的工作流程。
图4 制造业中的数据收集过程学习模型将许许多多的检查数据、制造条件、产品的最终检查结果结合起来,供数据挖掘的决策树分析方法提供数据源。
图5 决策树分析模型从上面的决策树分析中可以得出两个结论:(1) 检查6的检查值对于产品的最终合格与否影响较大(因为在决策树算法中,根节点的解释变量往往是对目标变量影响程度最大的);(2) 从根节点顺着子节点去摸索,可以找出产品合格与否因素的一些规律。
4 数据挖掘在数据挖掘在节省节省节省能源能源能源上的应用上的应用为了对应日趋严重的地球温暖化,节省能源是一个非常必要的方法。
其中,节省能源方式的重点是供给侧的能源的生产效率、消费侧的消费效率、以及如何提高生产与消费之间匹配的关系问题。
通常以以下的定式化方程来表示:Max y = f (x , z ) x S其中,f 是目的函数,y 是f 的输出结果,x 是能够控制的变量群,z 是可以观测但是不可控的外部因素的变量群。
S 是x 的取值空间或制约条件。
S 一般会随着时间的变化而变化。
例如,在风力发电[3]的场合里,f 为输出电力,可控变量如偏摆角度、齿距角度等组成x,x在可以调整的范围之内,但是如风向、和风速是不可控因素,将之表示为z。