
2.1 数据挖掘的内容
数据挖掘包括的内容较多,从广义上来讲,只要是从数据中挖掘出来的有用的知识都可以算作数据挖掘的内容。对学术研究和产业应用的数据挖掘内容进行归纳,会发现数据挖掘的内容总是集中在关联、回归、分类、聚类、预测、诊断六个方面。它们不仅在挖掘的目标和内容上不同,所使用的技术也差别较大,所以,通常将数据挖掘技术按照这六个方面来分类。下面将逐一介绍这六个方面的数据挖掘内容及相应的技术。
2.1.1 关联
“尿布与啤酒”的故事大家都听过,这里不再赘述。按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现这一有价值的规律的(见图2-1)。

图2-1 啤酒和尿布的关联关系
啤酒和尿布的关系是典型的关联关系,是通过对交易信息进行关联挖掘而得到的。数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联和因果关联。关联分析的目的是找出数据之间隐藏的关联网。有时并不知道数据库中数据的关联关系,即使知道也是不确定的。关联分析生成的规则带有可信度,可通过可信度来描述这种关系的确定程度。
关联规则挖掘就是要发现数据中项集之间存在的关联关系或相关联系。按照不同情况,关联规则挖掘可以分为如下几种情况:
(1)基于规则中处理的变量的类别,关联规则可以分为布尔型关联规则和数值型关联规则。
(2)基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。
(3)基于规则中涉及的数据的维数,关联规则可以分为单维关联规则和多维关联规则。
在量化投资领域,需要研究的关联规则包含以上三种情况,但在实际应用中到底属于哪种情况的关联往往分得并不非常清楚,而是考虑与投资行为相关的各种关联,以上三种情况给出了考虑关联的途径。这样在实际的应用中,就可以按照这些思路去探讨投资领域的关联关系。
具体事物之间的关联关系,需要用到具体的关联技术,也就是通常所说的算法。常用的关联算法如图2-2所示,这些算法将在后面的相应章节具体介绍。

图2-2 常用的关联算法
2.1.2 回归
回归(Regression)是确定两种或两种以上变量间相互定量关系的一种统计分析方法。回归是数据挖掘中最为基础的方法,也是应用领域和应用场景最多的方法,只要是量化型问题,一般会先尝试用回归方法来研究或分析。比如,研究某地区钢材消费量与国民收入的关系,就可以先直接用这两个变量的数据进行回归,然后看看它们之间的关系是否符合某种形式的回归关系,如图2-3所示。

图2-3 用回归方法得到的钢材消费量与国民收入的回归关系图
在量化投资领域,也经常用到回归方法,比如用回归方法研究经济走势、大盘走势,以及个股走势等。量化投资机构常用的多因子模型就可以用多元回归方法得到。
根据回归方法中因变量的个数和回归函数的类型(线性或非线性)可将回归方法分为如下几种:一元线性回归、一元非线性回归、多元线性回归和多元非线性回归。另外,还有两种特殊的回归方法:一种是在回归过程中可以调整变量数的回归方法,称为逐步回归;另一种是以指数结构函数作为回归模型的回归方法,称为逻辑斯蒂(Logistic)回归。回归方法结构如图2-4所示。

图2-4 回归方法结构
2.1.3 分类
分类是一个常见的问题,人们在日常生活中就会经常遇到分类的问题,如垃圾分类(见图2-5)。在数据挖掘中,分类也是常见的问题,其典型的应用就是根据事物在数据层面表现的特征,对事物进行科学的分类。

图2-5 垃圾分类示意图
(图片来源:http://www.iflashbuy.com/i/news/a/2013/1105/876.html)
对于分类问题,人们已经研究并总结出很多有效的方法。到目前为止,已经研究出的经典分类方法主要包括决策树(经典的决策树算法主要包括ID 3算法、C 4.5算法和CART算法等)、神经网络、贝叶斯分类、K-近邻分类、判别分析、SVM、逻辑斯蒂(Logistic)分类,如图2-6所示。不同的分类方法有不同的特点。这些分类方法在很多领域都得到了成功的应用,比如决策树方法已经成功地应用到医学诊断、贷款风险评估等领域;神经网络则因为对噪声数据有很好的承受能力而在实际问题中得到了非常成功的应用,比如识别手写字符、语音识别和人脸识别等。但是,由于每种方法都有缺陷,再加上实际问题的复杂性和数据的多样性,无论哪种方法都只能解决某一类问题。近年来,随着人工智能、机器学习、模式识别和数据挖掘等领域中传统方法的不断发展,以及各种新方法和新技术的不断涌现,分类方法得到了长足的发展。

图2-6 经典分类方法
2.1.4 聚类
聚类分析(Cluster Analysis)又称为群分析,是根据“物以类聚”的道理,对样品进行分类的一种多元统计分析方法。聚类分析的对象是大量的样品,要求能够按各自的特性来进行合理的分类,没有任何模式可供参考,即在没有先验知识的情况下进行的分析。聚类是将数据划分到不同的类或者簇的过程,同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。聚类分析起源于分类学,在古老的分类学中,人们主要依靠经验和专业知识来实现分类,很少利用数学工具进行定量的分类。随着人类科学技术的发展,人们对分类的要求越来越高,以致有时仅凭经验和专业知识难以确切地进行分类,于是人们逐渐地把数学工具引入分类学中,形成了数值分类学,之后又将多元分析技术引入数值分类学形成了聚类分析。更直接地说,聚类是先将样品大致分成几类,然后对样品进行分类,也就是说,聚类是为了更合理地分类。比如,在图2-7中,通过聚类发现这些点大致分成3类,那么,对于新的数据,就可以按照这3类的标准进行归类。

图2-7 聚类示意图
(图片来源:http://www.itongji.cn/article/0R52D42013.html)
在不同的应用领域,很多聚类技术都得到了发展,这些技术被用来描述数据,衡量不同数据源间的相似性,以及把数据源分类到不同的簇中。在商业上,聚类分析被用来发现不同的客户群,并且通过购买模式刻画不同的客户群的特征;在生物上,聚类分析被用于对动植物和基因进行分类,从而获取对种群固有结构的认识;在地理上,聚类分析能够帮助识别相似的地理区域;在保险行业,聚类分析通过一个高的平均消费来对汽车保险单持有者进行分组,同时根据住宅类型、价值、地理位置来对一个城市的房产进行分组;在因特网应用上,聚类分析被用于在网上进行文档归类来修复信息。
聚类问题的研究已有很长的历史。迄今为止,为了解决各领域的聚类应用,已经提出的聚类算法有近百种。根据聚类原理,可将聚类算法分为如下几种:划分聚类、层次聚类、基于密度的聚类、基于网格的聚类和基于模型的聚类。虽然聚类的方法有很多,在实践中用得比较多的还是K-means聚类、层次聚类、神经网络聚类、高斯混合聚类和模糊C均值聚类等方法,如图2-8所示。

图2-8 常用的聚类方法
2.1.5 预测
预测(Forecasting)是预计未来事件的一门科学。预测是指采集历史数据,并基于这些数据建立某种数学模型,用这种数学模型推算将来。它可以是对未来的主观或直觉的预期,还可以是上述的综合。在数据挖掘中,预测是基于既有的数据进行的,即以现有的数据为基础,对未来的数据进行预测,如图2-9所示。

图2-9 时间序列预测示意图
预测的重要意义就在于它能够在自觉地认识客观规律的基础上,借助大量的信息资料和现代化的计算手段,比较准确地揭示客观事物运行中的本质联系及发展趋势,预见可能出现的种种情况,勾画出未来事物发展的基本轮廓,提出各种可以互相替代的发展方案,这使人们具有了战略眼光,使决策有了充分的科学依据。
预测方法有许多,可以分为定性预测方法和定量预测方法,如图2-10所示。从数据挖掘角度,我们用的方法显然属于定量预测方法。定量预测方法又分为时间序列分析方法和因果关系分析方法,关于时间序列分析方法将在第12章中介绍,在第10章将重点介绍因果关系分析方法中的灰色预测法和马尔可夫预测法两种方法。

图2-10 预测方法分类图
2.1.6 诊断
在数据挖掘中,诊断的对象是离群点或称为孤立点。离群点是不符合一般数据模型的点,它们与数据的其他部分不同或不一致,如图2-11中的Cluster 3,它只有一个点,可以认为是这群数据的离群点。离群点可能是度量或执行错误导致的。例如,一个人的年龄为-999可能是对未记录的年龄的默认设置产生的。离群点也可能是固有的数据可变性的结果。例如,一个公司的首席执行官的工资远远高于公司其他雇员的工资,成为一个离群点。

图2-11 离群点示意图
许多数据挖掘算法试图使离群点的影响最小化,或者排除它们,但是由于一个人的“噪声”可能是另一个人的信号,这样做可能导致重要的隐藏信息丢失。换句话说,离群点本身可能是非常重要的。例如,在欺诈探测中,离群点可能预示着欺诈行为。因此,离群点探测和分析是一个有趣的数据挖掘任务,称为离群点挖掘或离群点诊断,简称诊断。
诊断有着广泛的应用。像上述所提到的,它能用于欺诈探测,如探测不寻常的信用卡消费或电信服务。此外,它在市场分析中可用于确定极低或极高收入的客户的消费行为,或者在医疗分析中可用于发现对多种治疗方式的不寻常的反应。
目前,人们已经提出了大量关于离群点诊断的算法。这些算法大致可以分为如下几类:基于统计学或模型的方法、基于距离或邻近度的方法、基于偏差的方法、基于密度的方法和基于聚类的方法。这些方法一般称为经典的离群点诊断方法(这些方法将在第11章介绍)。近年来,有不少学者从关联规则、模糊集和人工智能等方面出发提出了一些新的离群点诊断算法,比较典型的有基于关联的方法、基于模糊集的方法、基于人工神经网络的方法、基于遗传算法或克隆选择的方法等。