数据挖掘和机器学习在资本市场数据监测中的运用
数据挖掘
基本定义
从技术上来看,数据挖掘(Data Mining, DM)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程;从商业上来看,数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。
目前,数据挖掘的研究方面主要有:数据库知识发现方面,将KDD与数据库系统、数据仓库系统和Web数据库系统紧密结合,力图充分利用Web中的丰富资源;机器学习方面,进一步研究知识发现方法,希望克服现存算法的计算性瓶颈;统计方面,加大传统统计方法在数据挖掘中的应用。由此可见,数据挖掘是包括机器学习的。
技术构成
算法
资料来源:ITPUB
1、C4.5
C4.5算法,是机器学习算法中的一个分类决策树算法,它是决策树(决策树也就是做决策的节点间的组织方式像一棵树,其实是一个倒树)核心算法ID3的改进算法,所以基本上了解了一半决策树构造方法就能构造它。决策树构造方法其实就是每次选择一个好的特征以及分裂点作为当前节点的分类条件。
2、K-Means
K-Means算法(又叫K均值聚类算法)是一个聚类算法,把n的对象根据他们的属性分为k个分割(k<n)。它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。
3、SVM
支持向量机(Support Vector Machine, SVM)算法是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面,分隔超平面使两个平行超平面的距离最大化。
4、Apriori
Apriori算法是一个关联算法,是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
5、EM
最大期望(Expectation Maximization, EM)算法在统计计算中,EM算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。EM算法经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。
6、PageRank
PageRank算法是Google算法的重要内容。2001年9月被授予美国专利,专利人是Google创始人之一拉里•佩奇(Larry Page)。因此,PageRank里的Page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。PageRank根据网站的外部链接和内部链接的数量和质量,衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票,被链接的越多,就意味着被其他网站投票越多。
7、AdaBoost
Adaboost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器融合起来,作为最后的决策分类器。
8、KNN
K最近邻(K-Nearest Neighbor,KNN) 算法是一种分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
9、Naive Bayes
朴素贝叶斯(Naive Bayes)算法是一种分类算法。在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBC)。
朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。
但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。
10、CART
分类与回归树(Classification and Regression Trees, CART)算法是一种分类算法。在分类树下面有两个关键的思想:第一个是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。
模型
数据挖掘模型可以分为经典模型和特色模型。经典模型主要是为了解决分类(例如决策树、神经网络、逻辑回归等)、预测(例如回归分析、时间序列等)、聚类(K-Means、系谱、密度聚类等)、关联(无序关联和有序关联)这四类问题。特色模型是根据时代的发展,出现在比较前沿的、新兴的模型,大概包括社会网络分析、文本分析、基于位置的服务(Location-Based Service,LBS)、数据可视化等。它们之所以比较时髦,可能的原因是,采用比较新颖前沿的分析技术(社会网络、文本分析),非常贴近实际的应用(LBS),或者是能够带来更好的客户体验(数据可视化)。
资料来源:36大数据
1、社会网络
传统的模型将客户视为单一个体,忽视客户之间的关系,基于客户的特征建立模型。社会网络是基于群体的,侧重研究客户之间的关联,通过网络、中心度、联系强度、密度,得到一些非常有趣的结果。典型的应用,例如,关键客户的识别、新产品的渗透和扩散、微博的传播、风险的传染、保险或信用卡网络团伙欺诈、基于社会网络的推荐引擎开发等。
资料来源:36大数据
2、文本分析
文本作为非结构化数据,加工分析存在一定的难度,包括如何分词、如何判断多义词、如何判断词性,如何判断情绪的强烈程度。典型的应用,包括搜索引擎智能匹配、通过投诉文本判断客户情绪、通过舆情监控品牌声誉、通过涉诉文本判定企业经营风险、通过网络爬虫抓取产品评论、词云展示等。
资料来源:36大数据
3、LBS
LBS即基于位置的服务,即如何把服务和用户的地理位置结合。当下的APP应用,如果不能很好地和地理位置结合,很多时候很难有旺盛的生命力。典型的APP,例如大众点评(餐饮位置)、百度地图(位置和路径)、滴滴打车、微信位置共享、时光网(电影院位置)等服务。此外,银行其实也在研究,如何把线上客户推送到距离客户最近的网点,完成O2O的完美对接,从而带来更好的客户体验。
资料来源:36大数据
4、数据可视化
数据可视化,就是利用运用计算机图形学、图像、人机交互等技术,将采集或模拟的数据映射为可识别的图形、图像,一般大数据分析工具多用各种图表来表示数据。可视化是将数据、信息和知识转化为一种形象化的视觉形式的过程,显然更加侧重人对数据、信息和知识自上而下的加工处理过程。相对于繁杂的数据,图表不仅能更加简洁地表述信息,还适用于大量信息的描绘,即对大量数据的承载。这也是数据可视化成为数据挖掘不可或缺的功能模块的主要原因。
资料来源:海云数据
工具
按照数据挖掘的层次深浅,可以将数据挖掘的工具分为以下四类:
资料来源:36大数据
层次一:纯粹的数据加工
侧重于变量加工和预处理,从源系统或数据仓库,对相关数据进行提取、加工、衍生处理,生成各种业务表。然后,以客户号为主键,把这些业务表整合汇总,最终可以拉出一张大宽表,这张宽表就可以称之为“客户画像”。即,有关客户的很多变量和特征的集合。在这个阶段,主要的数据加工工具为SQL和SAS base。
层次二:傻瓜式的挖掘工具
较为典型的就是SAS EM和Clementine,里面嵌入很多较为传统成熟的算法、模块和节点(例如逻辑回归、决策树、SVM、神经网络、KNN、聚类等)。通过鼠标的托拉拽,流程式的节点,基本上就可以实现挖掘数据的需求。
傻瓜式操作的优点就是使得数据挖掘,入手非常快,较为简单。但是,也存在一些缺陷,即使得这个挖掘过程变得有点单调和无趣。没办法批量运算模型,也没办法开发一些个性化的算法和应用。用的比较熟练,并且想要进一步提升的时候,建议把这两者抛弃。
层次三:较为自由的挖掘工具
较为典型的就是R语言和Python。这两个挖掘工具是开源的,前者是统计学家开发的,后者是计算机学家开发的。Python较R而言有许多优势:一方面,可以有很多成熟的、前沿的算法包调用,另外一方面,还可以根据自己的需求,对既有的算法包进行修改调整,适应自己的分析需求,较为灵活。此外,Python在文本、非结构化数据、社会网络方面的处理,功能比较强大。
层次四:算法拆解和自行开发
一般会利用Python、C、C++,自己重新编写算法代码。例如,通过自己的代码实现逻辑回归运算过程。甚至,根据自己的业务需求和数据特点,更改其中一些假定和条件,以便提高模型运算的拟合效果。尤其,在生产系统上,通过C编写的代码,运行速度比较快,较易部署,能够满足实时的运算需求。
机器学习
基本定义
**机器学习(Machine Learning, ML) **是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
机器学习是人工智能范畴下的一种重要方法,是实现人工智能的一种途径。人工智能的根本在于如何为机器赋予智能,而机器学习则是部署支持人工智能的计算方法。通俗来说,机器学习是让机器实现智能的方法,是机器学习成就了人工智能。机器学习是近期人工智能中发展最快的部分。而**深度学习(Deep Learning, DL) **是指机器通过深度神经网络,模拟人脑进行学习、判断和决策,是机器学习的主要分支之一。
资料来源:华泰证券
技术构成
机器学习的发展与人工智能的整体发展类似,主要取决于硬件和软件两个方面。
硬件方面,大容量存储和强大GPU是技术关键。
因为机器学习需要大量的数据作为支撑,因此大容量的存储是机器学习发展的基础。从机器学习的发展历史来看,在20世纪60年到70年代,机器学习的发展几乎停滞,这在一定程度上是因为当时的计算机有限的内存和处理速度不足以解决任何实际的问题。例如,当时的计算机有限的内存和处理速度不足以解决任何实际的AI问题,科学家Ross Quillian在自然语言方面的研究结果只能用一个含二十个单词的词汇表进行演示,因为该时代下的内存最多只能容纳这么多。
现阶段主流机器学习方法都依赖于GPU来进行计算和训练。随着计算机处理速度和存储能力的不断提升,机器学习得以继续发展,GPU(图形处理器)与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的。以深度学习为例,深度学习中一类成功应用的技术叫做卷积神经网络CNN,这种网络在数学上就是许多卷积运算和矩阵运算的组合,而卷积运算通过一定的数学手段也可以通过矩阵运算完成。GPU最擅长的是图形点的矩阵运算,因此深度学习能够非常恰当地运用GPU进行加速。
资料来源:华泰证券
软件方面,算法与数据源至关重要。
算法是机器计算的核心,在机器学习的发展史中出现了各种不同方向的算法。其中使用最多、影响最广、最典型的算法主要包括六种:回归算法、神经网络算法、SVM、聚类算法、降维算法、推荐算法。随着深度学习算法的提出,神经网络算法成为了近期的热点,AlphaGo和众多自动驾驶平台都采用了此种算法。
资料来源:华泰证券
数据源是机器学习准确性的保障。机器学习需要根据大量的数据进行自我学习和反馈从而不断提高决策的准确性。以AlphoGo为例,在围棋比赛中存在指数级别的可能性,而AlphoGo为了能打败围棋顶尖高手需要“学习”几乎涵盖所有可能性的棋谱。只有能搜集到这些高质量高数量的棋谱,AlphoGo才能对围棋高手的下一步进行预测从而提高自己获胜的可能性。
数据挖掘和机器学习在资本市场数据监测中的运用
对于资本市场的金融数据而言,数据量大且更新速度快是其主要特点,尤其是对于期货市场而言更是如此。因此,传统监管作业方式不能做到实时动态的数据监测,难以及时发现和预警问题。对于资本市场的金融数据,我们需要通过数据爬取、数据挖掘和风险建模三个步骤,运用数据挖掘和机器学习等核心技术,搭建金融大数据监测预警分析平台。
首先,对交易所公告信息、网络热点新闻、股吧论坛微博微信社交媒体等数据源大规模采集,同时对接Wind、同花顺等平台采集金融标的数据。并根据行业、区域、标的产品自动分类、标引、存储在金融风险分析大数据平台中。
然后,通过机器学习技术分析各类数据相关关系,不断积累风险信号库、预警模型库,通过多个模型分析风险预警,辅助金融监管,做好风险评估。
最后,根据模型计算结果可视化地展现出来。
在构造的金融大数据风险监测和预警分析平台中,有三个关键技术点需要突破,分别是数据爬取、数据挖掘和风险监控模型。对采集到的信息进行挖掘主要通过文本语义识别技术,通过对大量的文章做信息的抽取,把非结构化信息转化为机构化或半结构信息。
资料来源:广发证券
第一,应用海量异构数据采集的技术对交易所公告信息、网络热点新闻、股吧论坛微博微信社交媒体等信息实时、精准爬取和采集,同时对接Wind、同花顺等平台采集金融标的数据。
第二,使用大数据挖掘分析平台对每个标的分析和挖掘它们的相关信息(标的自身运行数据,标的相关的文本数据),并对这些信息数据清洗,便于量化处理,构造风险模型。
第三,训练分析样本,采用机器学习的方式,设计针对不同金融标的风险高发的多个风险模型,可根据不同类型的金融标的情况分别快速建立模型。
资料来源:广发证券