协会证书查询 查询
来源:中国数据分析行业网 | 时间:2016-09-28 | 作者:数据委
引言:众所周知,数据挖掘算法并非十全十美,在某些情况下他们也会失效。 使用 K 均值算法(K-Means)时就可能会出现这种情况,当然此时你可以尝试一下另一种方法—— K 中心聚类算法(K-Medoids),也许效果会更好。
K 均值算法用于聚类时效果良好,而且在数据挖掘和机器学习领域,它也有着重要的地位。Psanchezcri 就曾在他的文章《将 K 均值方法用于金融时序回报率聚类》中,将 K 均值算法用于分析金融时间序列的趋势。然而,即使在网络上有关算法的文档浩如烟海的情况下,关于机器学习算法有时会失效的讨论却并不多见。因此,本文借由一个金融案例来反映这个问题。
1)首先,我们在欧洲斯托克600指数的成分股中选择三组共6只股票(在三个不同的部门中各选两只):
2)搜集数据,并绘出在2013/01/01至2015/12/31期间这六只股票的价格走势曲线。如下所示:
3)选择日回报率作为计算指标,我们算出三组股票序列的相关距离。然后通过距离矩阵降维的方法,在二维欧氏空间中绘出每个点。
结果显示这六只股票可以按部门进行分类效果显著。下图以蓝色菱形点、绿色正方形点、红色圆点来标记六只股票,明显可以按部门分为三类:
4)最后,我们将 K 均值算法运用于距离矩阵,聚类目标预先设定分成3类。由于 K 均值算法是从随机点开始的,每次运行结果可能有所不同,本文我们预先设定运行这个算法15次,即产生15个结果。当然,我们希望得到聚类结果符合股票所属部门的实际情况。
1)在约80%的聚类结果中,K 均值聚类算法取得了理想的结果,聚类结果与这六只股票所属部门相符,如下图所示:
2)在剩下的20%的聚类结果中,算法则出现了聚类的错误。例如,下图中错将两个不同部门的四只股票聚为一类(图中蓝色菱形点和绿色正方形点),而将同一部门的两只股票分为两类(图中红色圆点):
如果我们使用与之思想类似的 K 中心聚类算法,结果则可以达到100%的正确聚类率。这表明在聚类时,似乎使用重心会比用均值来衡量距离,效果更好。
来源:数据分析网
Copyright 2008 Chinacpda.org Inc. All rights reserved. 中国数据分析 版权所有
主办单位:中国商业联合会数据分析专业委员会 邮箱:xiehui@chinacpda.org 地址:北京市朝阳区朝外大街乙6号朝外SOHO-C座-931室
中国数据分析 京ICP备10215243号-1