基于Apriori 算法的公司股东关联分析
2021-03-25郭进利谭利明
李 芳,郭进利,谭利明
(上海理工大学管理学院,上海 200093)
0 引言
数据挖掘(Data Mining,DM)是一项从大量数据中揭示潜在价值信息、发现潜在规则的技术,即数据库中的知识发现(Knowledge Discovery in Database,KDD)[1]。虽然许多数据挖掘算法提出并应用,但关联规则挖掘一直是数据挖掘的研究热点,因其广泛的适用性而备受学者关注。关联规则挖掘以寻找事物之间隐藏的关系为目的,如啤酒和尿布案例:啤酒和尿布看似没有因果关系,但通过对大量购物数据进行关联分析,发现很多男性会在购买尿布时购买啤酒。因此,本文拟采用关联规则中的Apriori 算法挖掘金融行业的股东关联规则。
1 文献综述
关联规则最早由Agrawal 等[2]提出,是用于从大量原始数据中挖掘令人感兴趣的规则的方法,是近年数据挖掘研究方向之一。Chen 等[3]给出一种改进的关联规则Apri⁃ori 算法,用于挖掘大学科研项目数据;Yang 等[4]提出一种多级关联规则挖掘算法,用于发现具有多级抽象的数据元素之间的隐藏关系;和征等[5]基于产品服务融合的创新方法,采用关联规则算法识别能够进行融合的产品或服务模块;单汨源等[6]从行业供应链视角,利用Apriori 算法挖掘钢铁和医药行业上市公司信用风险传染的关联规则;崔冬梅[7]构建电信增值业务交叉销售模型,运用数据挖掘技术得出6 条规则集;林颖华等[8]基于关联规则交互挖掘构建企业财务风险分析模型,挖掘财务指标间规律;伏兰兰等[9]基于商品价格构建单维与二维关联规则模型,分别挖掘出商品价格之间的强关联规则;李春青[10]运用Apriori 算法对高校就业数据进行关联规则分析,挖掘出学生个人信息与就业单位性质之间的隐含关联关系;郭晓鸽等[11]运用关联规则对税收数据之间的相关关系进行挖掘,建立识别逃税路径;李海林等[12]将关联规则算法应用于分析期刊论文参考文献,挖掘出参考文献在引用过程中隐藏的关联规则;董晓芳等[13]运用关联规则算法对21 种概念板块进行分析,证实长期概念板块指数之间的轮动;李铁军等[14]对微博评论行为进行关联规则挖掘,构建基于情感加权关联规则的微博推荐模型。
通过对已有文献归纳,发现国外文献对关联规则的研究比较早,国内近年才有大量相关研究。关联规则应用领域非常广,尤其在经管领域取得了很多成果,但还没有学者对企业的大股东进行关联分析。因此,本文以金融行业为例,基于数据挖掘—关联规则的Apriori 算法对上市公司大股东进行分析,以挖掘该行业企业股东之间的投资关联及规律。
2 Apriori 算法及相关概念
2.1 定义
Apriori 算法是关联规则挖掘最基本算法,其核心是两阶段频集思想的递推算法[15]。Apriori 算法主要包括寻找频繁项集与探索关联规则两方面内容。Apriori 算法实现过程中最基本的概念是支持度与置信度,寻找频繁项集用支持度,确定关联规则用置信度。
支持度表示项集发生的概率,即数据集中包含该项集的记录个数在全体数据样本中所占的比例,如项集X、Y 同时发生的概率,为包含X、Y 的项数与所有项数之比:
置信度表示规则的可信程度,即一个数据出现后另一个数据出现的概率,也即数据的条件概率。如项集X 发生Y 也发生的概率,为包含X、Y 的项数与所有包含X 的项数之比:
频繁项集简称频集,是所有支持度大于支持度阈值的项集。
在执行算法前,用户自己设定合适的支持度和置信度阈值。每次迭代后,项集的支持度大于支持度阈值的项集被保留下来,称为频繁项集,最终的频繁项集生成关联规则。最小支持度是衡量支持度的阈值,表示项集最低重要性;最小置信度是衡量置信度阈值,表示关联规则的最低可靠性,强关联规则表示同时满足最小支持度阈值和最小置信度阈值规则。
2.2 Apriori 算法思想
(1)寻找频繁项集,即项集出现的频繁性大于支持度阈值的项集。
(2)频繁项集产生强关联规则,这些规则的支持度和置信度应满足大于所设定的阈值。
(3)使用第(1)步找到的频繁项集产生期望规则,产生只包含集合项的所有规则,其中每一条规则右部只有一项,采用规则定义。
(4)一旦这些规则生成,只有那些满足大于用户给定的置信度规则才被留下。对候选集中的非频繁项集进行剪枝去掉。运用递推方法生成所有频繁项集。
2.3 Apriori 算法实现过程
Apriori 算法实现流程如图1 所示[16]。
Fig.1 Apriori algorithm flow图1 Apriori 算法流程
3 关联规则挖掘分析
3.1 样本数据处理
本文选取的研究样本是上证A 股金融行业公司股东,数据来源于Wind 数据库,日期更新截至2020 年3 月,经筛选企业共计73 家,导出这73 家上市公司持股前10 名股东,股东不足10 名的以实际数为主,经处理后该行业共涉及445 个不同股东。借助Python 语言结合Apriori 算法思想编写程序,对数据进行处理,对金融行业公司大股东进行关联分析研究。
3.2 寻找频繁项集
研究的数据库共计73 条事务,涉及445 个不同项目,可见项目较分散。选择较小的支持度和置信度进行尝试,以寻找适合该研究的最小支持度和置信度。将支持度阈值设为5%,置信度阈值设为50%,经Python 初步处理后得到表1。
Table 1 Statistics of preliminary processing results表1 初步处理结果统计
执行Apriori 算法Python 程序后,得到频繁一项集13个,频繁二项集19 个,频繁三项集14 个,在此基础上共挖掘出74 条关联规则。关联规则个数过多可能无法捕捉到最有价值规则信息,因此需要调高阈值以挖掘出更加有效的关联规律。通过分析将支持度阈值设为10%,置信度阈值设为70%,对数据再次处理。
Table 2 Frequent itemsets and their support表2 频繁项集及支持度
对数据处理后得到该事物数据库的频繁项集如表2所示。频繁项集共涉及4 家公司(股东):中国证券金融股份有限公司、香港中央结算有限公司(陆股通)、香港中央结算(代理人)有限公司、中央汇金资产管理有限责任公司,单项支持度分别为43.84%,38.36%,36.99%,26.03%。频繁一项集有4 个,频繁二项集有6 个,频繁三项集有4个,其项集支持度如表2 所示。
中国证券金融股份有限公司为上交所、深交所和中国证券登记结算有限责任公司共同发起设立的证券类金融机构。香港中央结算有限公司是港交所的附属公司,投资者将股份集中存放在该公司,香港中央结算(代理人)有限公司代理的H 股股东股份总和为其所持有的股份,股份权益仍旧归属投资者本身所拥有;香港中央结算有限公司(陆股通)指外资通过沪港交易所/深港交易所互联通道买卖上海股票/深圳股票。中央汇金投资有限责任公司是国家出资设立的国有独资公司,行使对国有商业银行等重点金融企业出资人的权利和义务,对4 家证券公司、6 家商业银行、2 家保险公司和4 家其它机构直接控股参股。可见,目前金融行业主要由这4 家公司(股东)控制。
3.3 关联规则挖掘
在找出频繁项集基础上对数据进行关联规则分析,再次执行Python 关联规则挖掘算法,处理结果如表3 所示。
Table 3 Association rules and confidence表3 关联规则及置信度
本文将关联规则置信度阈值设为75%,通过关联规则挖掘得到12 条相关系数大于75% 的强关联规则,主要涵盖4 家公司(股东),如香港中央结算(代理人)有限公司、中央汇金资产管理有限责任公司共同投资某金融企业时,中国证券金融股份有限公司及香港中央结算有限公司(陆股通)投资可能性均达100%;香港中央结算有限公司(陆股通)、中央汇金资产管理有限责任公司共同投资某金融企业时,中国证券金融股份有限公司投资可能性达100%;香港中央结算(代理人)有限公司、香港中央结算有限公司(陆股通)共同投资某金融企业时,中国证券金融股份有限公司投资可能性达92.86%;中国证券金融股份有限公司、中央汇金资产管理有限责任公司共同投资某金融企业时,香港中央结算有限公司(陆股通)投资可能性达88.89%;中央汇金资产管理有限责任公司投资时,中国证券金融股份有限公司有94.74% 的概率投资,香港中央结算有限公司(陆股通)有84.21% 的概率投资;中央汇金资产管理有限责任公司投资时,中国证券金融股份有限公司和香港中央结算有限公司(陆股通)同时投资概率100% 等。
4 结语
基于数据挖掘中的关联分析,本文对上证A 股金融行业公司股东进行了实证研究,结果发现:金融行业主要的控股股东是香港中央结算(代理人)有限公司、中国证券金融股份有限公司、香港中央结算有限公司(陆股通)、中央汇金资产管理有限责任公司,4 家公司(股东)在投资企业时存在一定的关联规律。本研究拓展了数据挖掘—关联分析在经管领域的应用,但经典的Apriori 算法在产生关联规则时会生成大量的规则集,效率不高,同时本文只对上证A 股金融行业公司进行分析,样本选择存在一定局限性,后续研究将在这两方面进行改进和完善。