前言:
由于数据挖掘能分析出数据中的有用信息,给企业带来显著的经济效益,这使得数据挖掘技术越来越普及。例如在销售数据中发掘客户的消费习惯,并从交易记录中找出顾客偏好的产品组合,其他包括找出流失顾客的特征与突出新产品的时机点等都是零售业常见的实例;利用数据挖掘分析顾客群的消费行为与交易记录,结合基本数据,并依据对品牌价值等级的高低来区隔客户,进而达到差异化营销的目的;制造业对数据挖掘的需求多运用在品质管控方面,从制造过程中找出影响产品品质最重要的因素,已期提高作业流程的效率。
近几年、电话公司、信用卡公司、保险公司以及股票交易上对欺诈行为的侦测都很有兴趣,这些行业每年因为欺诈行为遭受的损失都非常巨大,数据挖掘可以从一些信用不良的客户数中发现相似特征并预测可能的欺诈交易,达到减少损失的目的。金融业可以利用数挖掘来分析市场动向,并预测个别公司的营运及股价走向。数据挖掘的另一个独特的用法实在医疗业,用来预测手术、用药、诊断或是流程控制的效率。
归纳起来,数据挖掘技术的基本任务主要体现在分类与回归、聚类、关联规则、时序模式、偏差检测五个方面。下图是典型的数据挖掘应用场景:
2.1 分类与回归
我们经常会碰到这样的问题:
- 如何将信用卡申请人分为低、中、高风险群?
- 如何预测那些顾客会在未来半年内取消该公司服务,那些电话用户会申请增值服务?
- 如何预测银行可以安全地带给贷款人的贷款量?
- 哪些使用2G通信网络的手机用户有可能转换到3G通信网络?
- 如何有效预测房地产开发中存在的风险?
除此之外,市场经理需要进行数据分析,以便帮助他预测具有某些特征的顾客会购买一台新的计算机;医学研究者希望分析乳腺癌数据,预测病人应当接受三种具体治疗方案的哪一种;这些都是分类与回归的例子。
2.1.2 分类与回归建模原理
分类(classification):指将数据映射到预先定义好的群组或类。
因为在分析测试数据前,类别就已经确定了,所以分类通常被称为有监督学习。分类算法要求基于数据属性值来定义类别,通常通过已知所属类别的数据的特征来描述类别。
分类就是一个构造函数(分类模型),把具有某些特征的数据项映射到给定的类别上。该过程由两步构成。
模型创建:通过对训练数据集的学习来建立分类模型。
模型实用:使用分类模型对测试数据和新数据进行分类。
其中的训练数据集是带有类标号的,也就是说在分类之前,要划分的类别是已经确定的。通常分类模型是以分类规则、决策树或数学表达式的形式给出。
回归(Regression):用属性的历史数据预测未来趋势。
回归首先假设一些已知类型的函数(例如线性函数、Logistic 函数等)可以你和目标数据,然后利用某种误差来分析确定一个与目标数据拟合程度最好的函数。
回归模式的函数定义与分类模式相似,主要差别在于分类采用离散预测值(例如类标号),而回归模式采用连续的预测值。在这种观点下,分类和回归都是预测问题。但数据挖掘界普遍认为:用预测法预测类标号为分类,预测连续值(例如实用回归方法)为预测。许多问题可以实用线性回归解决,许多非线性问题可以通过对变量进行变化,从而转化为线性问题来解决。
2.1.2 分类与回归算法
分类与回归常用算法
分类与回归常用算法
算法名称 | |
BP(Back Propagation,反向传播) | 一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一 |
LM(Levenberg-Marquardt) | 基于梯度下降法和牛顿法结合的优化算法,特点是迭代次数少,收敛速度快,精度高。 |
FNN(Fuzzy Neural Network,模糊神经网路) | 具有模糊权系数或者输信号是模糊量的神经网络,是模糊系统和神经网络结合的产物,汇聚了神经网络与模糊系统的优点 |
RBF(Radial Basis Function,径向基函数) | 具有单隐层的三层前馈网络。是一种局部逼近网络,能够以任意精度逼近任意连续函数,特别适合于解决分类问题。 |
ANFIS(Adaptive Neural Fuzzy Inference System,自适应模糊推理系统) | 功能上与上一阶T-S模糊推理系统等价的自适应网络,是将神经网络的学习机制引入模糊系统,构成一个带有人类感觉和认知成分的自适应系统。 |
WNN(Wavelet Neural Network,小波神经网络) | 基于小波变换而构成的神经网络模型,即用非线性小波基取代通常的神经元非线性激活函数(如Sigmod函数),把小波变换与神经网络有机结合,充分继承了两者的有点。 |
SVM(Support Vector Machine,支持向量机) | V.Vapnik等人在研究统计学习理论的基础上发展起来的一种新的机器学习算法,在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势。支持向量机根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以获得最好的推广能力。 |
CART(classification and Regression Tree,分类与回归树) | 一种非常有效的非参数分类与回归方法,通过构建树、修剪树、评估树来构建一个二叉树。 |
2.2 聚类
我们经常会遇到这样的问题:
- 如何通过一些特定的症状归纳某类特定的疾病?
- 谁是银行信用卡的黄金用户?
- 谁喜欢打国际长途,在什么时间,打到哪里?
- 对住宅区进行聚类,确定自动提款机ATM的安放位置。
- 如何对用户WAP上网行为进行分析,通过客户分群进行精确营销?
除此之外,促销应该针对哪一类用户,这类客户具有哪些特征?这类问题往往是促销前首要解决的问题,对整个客户座分群,将客户分组在各自的群组里,然后对每个不同的群组,采取不同的营销策略。这些都是聚类分析的例子。
2.2.1 聚类分析建模原理
聚类(Clustering)分析:是在没有给定划分类的情况下,根据信息相似度进行信息聚类的一种方法,因此聚类又称为无指导的学习。
与分类不同,分类需要先定义类别和训练样本,是有指导的学习。聚类就是将数据划分或分割成相交或不相交的群组的过程,通过数据之间预先指定的属性上的相似性,就可以完成聚类任务。
聚类的输入是一组未被标记的数据,根据数据自身的距离或相似度进行划分。划分的原则是保持组内最大的组内相似性和最小的组间相似性,也就是使不同聚类中的数据尽可能地不同,而同一聚类中的数据尽可能地相似。比如股票价格波动的情况,可以将股票分成不同的类,总共可以分成几类,各类包含哪些股票,每一类的特征是什么,这对投资者,尤其对投资基金的人来说,可能是很重要的信息。当然,聚类除了将样本分类外,还可以完成孤立点挖掘,如将其应用于网络入侵检测或金融风险欺诈探测中。
2.2.2 聚类方法
主要聚类算法分类
类别 | 主要算法 |
划分(分裂)方法 | K-means (K-平均值) |
K-MEDOIDS(K-中心点) | |
CLARANS (基于选择的算法) | |
层次方法 | BIRCH (平衡迭代规约和聚类) |
CURE(代表点聚类) | |
CHAMELEON(动态模型) | |
基于密度的方法 | DBSCAN(基于高密度连接区域) |
DENCLUE(密度分布函数) | |
OPTICS(对象排序识别) | |
基于网格的方法 | STING(统计信息网络) |
CLIOUE(聚类高维空间) | |
WAVE-CLUSTER(小波变换) | |
基于模型的方法 | 统计学方法 |
神经网络方法 |
2.3 关联规则
我们经常会碰到这样的问题:
- 商业销售上,如何通过交叉销售得到更大的收入?
- 保险方面,如何分析索赔要求发现潜在的欺诈行为?
- 银行方面,如何分析顾客消费行业,以便有针对性的向其推荐感兴趣的服务?
- 哪些制造零件和设备设置与故障时间关联?
- 那些病人和药物属性与结果关联?
- 哪些商品是已经购买商品A的人最有可能购买的?
除此之外,人们希望从大量的商业交易记录中发现有价值的关联知识,以帮助其商品目录的设计、交叉营销或其他有关的商业决策。在商业销售上,关联规则可用于交叉销售,以得到更大的收入;在保险方面,如果出现了不常见的索赔要求组合,则可能为欺诈行为,需要进一步调查;在医疗方面,可找出可能的治疗组合;在银行方面,对顾客进行分析,可推荐感兴趣的服务等;这些都属于关联规则挖掘问题,关联规则挖掘的目的是在一个数据集中找出各项之间的关系,从大量数据中挖掘出有价值的描述数据项之间相互联系的有关知识。随着收集和存储在数据库中的数据规模越来越大,人们对从这些数据中挖掘相应的关联知识越来越感兴趣。
2.3.1 什么是关联规则
关联规则(Association):揭示数据之间的相互关系,而这种关系没有在数据中直接表示出来。
关联分析的任务就是发现事物间的关联规则或称相程度。关联规则的一半形式是:
如果A发生,则B有百分之C的可能发生。C称为关联规则的置信度(Confidence)。
利用关联分析能寻找数据库中大量数据的相关联系,常用的两种技术为:
关联规则:用于发现一个事物与其他事物间的相互关联性或相互依赖性。
序列模式分析:将重点放在分析数据之间的前因后果关系上。
2.3.2 关联规则算法
算法名称 | 算法描述 |
Apriori | 一种最有影响的挖掘布尔关联规则频繁项集的算法,其核心是基于两阶段频集思想的地推算法。 |
FB-Tree | 针对Ariori算法的固有缺陷,J.Han等提出了不产生候选挖掘频项集的方法:FB-树频集算法 |
灰色关联法 | 以分析和确定各因素之间的影响程度或若干个子因素(子序列)对主因素(母序列)的贡献程度而进行的一种分析方法。 |
HotSpot | 挖掘得到通过树状结构显示的感兴趣的目标最大化/最小化的一套规则,最大化/最小化利益目标变量/值。 |
2.4 时序模式
我们经常会碰到这样的问题:
- 下个月商品销售量、销售额和库存量是多少?
- 明天广州市的最高用电负荷是多少?
2.4.1 什么是时序模式
时序模式:描述基于时间或其他序列的经常发生的规律或趋势,并对其建模。
与回归一样,他也用已知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。序列模式将关联模式和时间序列模式结合起来,重点考虑数据在时间维度上的关联性。时序模式包含时间序列分析和序列发现。
时间序列分析:用已有的数据序列预测未来。在时间序列分析中,数据的属性值是随着时间不断变化的。回归不强调数据间的先后顺序,而时间序列要考虑时间特性,尤其要考虑时间周期的层次,如天、周、月、年等,有时还要考虑日历的影响,如节假日等。
序列发现:用于确定数据之间与时间相关的序列模式。这些与数据(或者事件)中发现的相关的关联规则很相似,只是这些序列是与时间相关的。
2.4.2 时间序列的组合成分
时间序列的变化主要受到长期趋势、季节变动、周期变动和不规则变动这四个因素的影响。
- 长期趋势因素(T):反映了经济现象在一个较长时间内的发展方向,它可以在一个相当长的时间内表现为一种近似直线的持续向上或持续向下或平稳的趋势。
- 季节变动因素(S):是经济现象受季节变动所形成的一种长度和幅度固定的周期波动。
- 周期变动因素(C):也称循环变动因素,它是受各种经济因素影响所形成的上下起伏不定的波动。
- 不规则变动因素(I):不规则变动又称随机变动,它是受各种偶然因素影响所形成的不规则变动。
2.4.3 时间序列的组合模型
时间序列y可以表示为四个因素的函数,即
。时间序列分解方法有很多,较常用的模型有加法模型和乘法模型。
- 加法模型:假定时间序列是基于4种成分相加而成的。长期趋势并不影响季节变动。若以y表示时间序列,则加法模型为:
- 乘法模型:假定时间序列是基于4中成分相乘而成的。假定季节变动与循环变动为长期趋势的函数。该模型的方程式为:
乘法分解模型的基本步骤是:
- 运用移动平均法剔除长期趋势和周期变化,得到时许TC。然后再用按月(季)平均法求出季节指数S。
- 做散点图,选择适合的曲线模型拟合序列的长期趋势,得到长期趋势T。
- 计算周期因数C。用序列TC除以T即可得到周期变动因数C。
- 将时间序列的T,S,C分解出来后,剩余的即为不规则变动,即
2.4.4 时序算法
方法 | 时间范围 | 适用情况 |
一元线性回归预测法 | 短、中期 | 自变量与因变量之间存在线性关系 |
多元线性回归预测法 | 短、中期 | 因变量与两个或两个以上自变量之间存在线性关系 |
非线性回归预测法 | 短、中期 | 因变量与一个自变量或多个其他自变量之间存在某种非线性关系 |
趋势外推法 | 中、长期 | 当被预测项目的有关变量用时间表示时,用非线性回归 |
移动平均法 | 短期 | 不带季节变动的反复预测 |
指数平滑法 | 短期 | 具有或不具有季节变动的反复预测 |
平稳时间序列预测法 | 短期 | 适用于任何序列的发展型态的一种高级预测方法 |
灰色预测发 | 短、中期 | 适用于时间序列的发展呈指数型趋势 |
2.5 偏差检测
偏差:是对差异和极端特例的表述,如分类中反常的实例、聚类外的离群值、不满足规则的特例等。
偏差检测:用来发现与正常情况不同的异常和变化,并进一步分析这种变化是有意的欺诈行为,还是正常的变化。如果是一场行为,则需要提示采取防御措施,尽早防范。
注:大部分数据挖掘方法都是将这种差异信息视为噪声而丢弃,然而在一些应用中,罕见的数据可能比正常的数据更有用。