Clustering

1,404 views

Published on

Published in: Technology
  • Be the first to comment

Clustering

  1. 1. 聚类方法 ( Clustering ) 统研会学术交流篇之—— 演讲人: 上海财经大学统计学系 吕江平
  2. 2. 主讲内容 <ul><li>聚类方法原理介绍 </li></ul><ul><li>案例分析( SAS/Enterprise Miner ) </li></ul><ul><li>推荐参考书目 </li></ul>
  3. 3. 什么是聚类 <ul><li>聚类( Clustering )就是将数据分组成为多个类( Cluster )。在同一个类内对象之间具有较高的相似度,不同类之间的对象差别较大。 </li></ul>
  4. 4. 什么是聚类 <ul><li>早在孩提时代,人就通过不断改进下意识中的聚类模式来学会如何区分猫和狗,动物和植物 </li></ul>
  5. 5. 聚类分析无处不在 <ul><li>谁经常光顾商店,谁买什么东西,买多少? </li></ul><ul><ul><li>按忠诚卡记录的光临次数、光临时间、性别、年龄、职业、购物种类、金额等变量分类 </li></ul></ul><ul><ul><li>这样商店可以… . </li></ul></ul><ul><ul><li>识别顾客购买模式(如喜欢一大早来买酸奶和鲜肉,习惯周末时一次性大采购) </li></ul></ul><ul><ul><li>刻画不同的客户群的特征(用变量来刻画,就象刻画猫和狗的特征一样) </li></ul></ul>
  6. 6. 什么情况下需要聚类 <ul><ul><li>为什么这样分类? </li></ul></ul><ul><ul><li>因为每一个类别里面的人消费方式都不一样,需要针对不同的人群,制定不同的关系管理方式,以提高客户对公司商业活动的相应率。 </li></ul></ul>
  7. 7. 聚类分析无处不在 <ul><li>挖掘有价值的客户,并制定相应的促销策略: </li></ul><ul><ul><li>如,对经常购买酸奶的客户 </li></ul></ul><ul><ul><li>对累计消费达到 12 个月的老客户 </li></ul></ul><ul><li>针对潜在客户派发广告,比在大街上乱发传单命中率更高,成本更低! </li></ul>
  8. 8. 聚类分析无处不在 <ul><li>谁是银行信用卡的黄金客户? </li></ul><ul><ul><li>利用储蓄额、刷卡消费金额、诚信度等变量对客户分类,找出“黄金客户”! </li></ul></ul><ul><ul><li>这样银行可以…… </li></ul></ul><ul><ul><li>制定更吸引的服务,留住客户!比如: </li></ul></ul><ul><ul><ul><li>一定额度和期限的免息透资服务! </li></ul></ul></ul><ul><ul><ul><li>百盛的贵宾打折卡! </li></ul></ul></ul><ul><ul><ul><li>在他或她生日的时候送上一个小蛋糕! </li></ul></ul></ul>
  9. 9. 聚类的应用领域 <ul><li>经济领域: </li></ul><ul><ul><li>帮助市场分析人员从客户数据库中发现不同的客户群,并且用购买模式来刻画不同的客户群的特征。 </li></ul></ul><ul><ul><li>谁喜欢打国际长途,在什么时间,打到那里? </li></ul></ul><ul><ul><li>对住宅区进行聚类,确定自动提款机 ATM 的安放位置 </li></ul></ul><ul><ul><li>股票市场板块分析,找出最具活力的板块龙头股 </li></ul></ul><ul><ul><li>企业信用等级分类 </li></ul></ul><ul><ul><li>…… </li></ul></ul><ul><li>生物学领域 </li></ul><ul><ul><li>推导植物和动物的分类; </li></ul></ul><ul><ul><li>对基因分类,获得对种群的认识 </li></ul></ul><ul><li>数据挖掘领域 </li></ul><ul><ul><li>作为其他数学算法的预处理步骤,获得数据分布状况,集中对特定的类做进一步的研究 </li></ul></ul>
  10. 10. 有贡献的研究领域 <ul><li>数据挖掘 </li></ul><ul><ul><li>聚类可伸缩性、各种 各种复杂形状类 的识别,高维聚类等 </li></ul></ul><ul><li>统计学 </li></ul><ul><ul><li>主要集中在基于 距离 的聚类分析,发现 球状类 </li></ul></ul><ul><li>机器学习 </li></ul><ul><ul><li>无指导学习(聚类不依赖预先定义的类,不等同于分类) </li></ul></ul><ul><li>空间数据技术 </li></ul><ul><li>生物学 </li></ul><ul><li>市场营销学 </li></ul>
  11. 11. 什么情况下需要聚类 <ul><li>以上分析,没有大量的数据去支持, Data Mining 就什么都挖不出来。 </li></ul><ul><li>大量的数据不等于大量的垃圾,我们需要针对客户市场细分所需要的资料。如需要知道白金持卡人和金卡持卡人的流动率,各自平均消费水平有多少,等; </li></ul><ul><li>聚类分析可以辅助企业进行客户细分,但是 Data mining 的客户细分不等同于商业领域的细分,看不懂结果,也可能造成企业管理层无法对结果善加利用。 </li></ul>
  12. 12. 聚类分析原理介绍 <ul><li>聚类分析中“类”的特征: </li></ul><ul><ul><li>聚类所说的类不是事先给定的,而是根据数据的相似性和距离来划分 </li></ul></ul><ul><ul><li>聚类的数目和结构都没有事先假定 </li></ul></ul>
  13. 13. 聚类分析原理介绍 <ul><li>聚类方法的目的是寻找数据中: </li></ul><ul><ul><li>潜在的 自然分组结构 a structure of “natural” grouping </li></ul></ul><ul><ul><li>感兴趣的 关系 relationship </li></ul></ul>
  14. 14. 聚类分析原理介绍 <ul><li>什么是 自然分组结构 Natural grouping ? </li></ul><ul><li>我们看看以下的例子: </li></ul><ul><li>有 16 张牌 </li></ul><ul><li>如何将他们分为 </li></ul><ul><li>一组一组的牌呢? </li></ul>A K Q J
  15. 15. 聚类分析原理介绍 <ul><li>分成四组 </li></ul><ul><li>每组里 花色相同 </li></ul><ul><li>组与组之间花色相异 </li></ul>花色相同的牌为一副 Individual suits A K Q J
  16. 16. 聚类分析原理介绍 <ul><li>分成四组 </li></ul><ul><li>符号相同 的牌为一组 </li></ul>符号相同的的牌 Like face cards A K Q J
  17. 17. 聚类分析原理介绍 <ul><li>分成两组 </li></ul><ul><li>颜色相同 的牌为一组 </li></ul>颜色相同的配对 Black and red suits A K Q J
  18. 18. 聚类分析原理介绍 <ul><li>分成两组 </li></ul><ul><li>大小程度相近 的牌分到一组 </li></ul>大配对和小配对 Major and minor suits A K Q J
  19. 19. 聚类分析原理介绍 <ul><li>这个例子告诉我们,分组的意义在于我们怎么定义并度量 “相似性” Similar </li></ul><ul><li>因此衍生出一系列度量相似性的算法 </li></ul>大配对和小配对 Major and minor suits A K Q J
  20. 20. 聚类分析原理介绍 <ul><li>相似性 Similar 的度量(统计学角度) </li></ul><ul><li>距离 Q 型聚类(主要讨论) </li></ul><ul><ul><li>主要用于对样本分类 </li></ul></ul><ul><ul><li>常用的距离有(只适用于具有间隔尺度变量的聚类): </li></ul></ul><ul><ul><ul><li>明考夫斯基距离 (包括:绝对距离、 欧式距离 、切比雪夫距离) </li></ul></ul></ul><ul><ul><ul><li>兰氏距离 </li></ul></ul></ul><ul><ul><ul><li>马氏距离 </li></ul></ul></ul><ul><ul><ul><li>斜交空间距离 </li></ul></ul></ul><ul><ul><ul><li>此不详述,有兴趣可参考《应用多元分析》(第二版)王学民 </li></ul></ul></ul><ul><li>相似系数 R 型聚类 </li></ul><ul><ul><li>用于对变量分类,可以用变量之间的相似系数的变形如 1 - r ij 定义距离 </li></ul></ul><ul><ul><li>这里不详细介绍这种聚类度量方法 </li></ul></ul>
  21. 21. 聚类分析原理介绍 <ul><li>变量按测量尺度( Measurement Level )分类 </li></ul><ul><li>间隔( Interval )尺度变量 </li></ul><ul><ul><li>连续变量,如长度、重量、速度、温度等 </li></ul></ul><ul><li>有序( Ordinal )尺度变量 </li></ul><ul><ul><li>等级变量,不可加,但可比,如一等、二等、三等奖学金 </li></ul></ul><ul><li>名义( Nominal )尺度变量 </li></ul><ul><ul><li>类别变量,不可加也不可比,如性别、职业等 </li></ul></ul>
  22. 22. <ul><li>当对象是同时被各种类型的变量描述时,怎样描述对象之间的相异度呢? </li></ul><ul><li>一种可取的办法是把所有变量一起处理,将不同类型的变量组合在单个相异矩阵中,把所有有意义的变量转换到【 0 , 1 】的区间上,只进行一次聚类分析。详见参考书 </li></ul>
  23. 23. 主要聚类算法的分类 <ul><li>层次的方法( 也称 系统聚类法)( hierarchical method ) </li></ul><ul><li>划分方法( partitioning method ) </li></ul><ul><li>基于密度的方法( density-based method ) </li></ul><ul><li>基于网格的方法( grid-based method ) </li></ul><ul><li>基于模型的方法( model-based method ) </li></ul><ul><li>…… </li></ul><ul><li>其中,前两种算法是利用 统计学定义的距离 进行度量 </li></ul>
  24. 24. 层次的方法( 也称 系统聚类法)( hierarchical method ) <ul><li>定义:对给定的数据进行层次的分解: </li></ul><ul><li>分类: </li></ul><ul><li>凝聚的( agglomerative )方法(自底向上)(案例介绍) 思想:一开始将每个对象作为单独的一组,然后根据同类相近,异类相异的原则,合并对象,直到所有的组合并成一个,或达到一个终止条件为止。 </li></ul><ul><li>分裂的方法( divisive )(自顶向下) 思想:一开始将所有的对象置于一类,在迭代的每一步中,一个类不断地分为更小的类,直到每个对象在单独的一个类中,或达到一个终止条件。 </li></ul>
  25. 25. 层次的方法( 也称 系统聚类法)( hierarchical method ) <ul><li>特点: </li></ul><ul><ul><li>类的个数不需事先定好 </li></ul></ul><ul><ul><li>需确定距离矩阵 </li></ul></ul><ul><ul><li>运算量要大,适用于处理小样本数据 </li></ul></ul>
  26. 26. 广泛采用的类间距离: <ul><li>最小距离法( single linkage method ) </li></ul><ul><ul><li>极小异常值在实际中不多出现,避免极大值的影响 </li></ul></ul>
  27. 27. 广泛采用的类间距离: <ul><li>最大距离法( complete linkage method ) </li></ul><ul><ul><li>可能被极大值扭曲,删除这些值之后再聚类 </li></ul></ul>
  28. 28. 广泛采用的类间距离: <ul><li>类平均距离法( average linkage method )类间所有样本点的平均距离 </li></ul><ul><ul><li>该法利用了所有样本的信息,被认为是较好的系统聚类法 </li></ul></ul>
  29. 29. 广泛采用的类间距离: <ul><li>重心法( centroid hierarchical method ) </li></ul><ul><ul><li>类的重心之间的距离 </li></ul></ul><ul><ul><li>对异常值不敏感,结果更稳定 </li></ul></ul>
  30. 30. 广泛采用的类间距离 <ul><li>离差平方和法( ward method ) </li></ul><ul><ul><li>D 2 =W M - W K - W L </li></ul></ul><ul><li>即 </li></ul><ul><ul><li>对异常值很敏感;对较大的类倾向产生较大的距离,从而不易合并,较符合实际需要。 </li></ul></ul>Cluster K Cluster L Cluster M
  31. 31. 层次的方法缺陷: <ul><li>一旦一个步骤(合并或分裂)完成,就不能被撤销或修正,因此产生了改进的层次聚类方法,如 BRICH,BURE,ROCK,Chameleon 。详见参考书 </li></ul>
  32. 32. 划分方法( Partitioning method ) <ul><li>较流行的方法有 : </li></ul><ul><ul><li>动态聚类法(也称逐步聚类法),如 k -均值算法、 k -中心点算法 </li></ul></ul><ul><li>思想: </li></ul><ul><ul><li>随机选择 k 个对象,每个对象初始地代表一个类的 平均值 或 中心 ,对剩余每个对象,根据其到类中心的距离,被划分到最近的类;然后重新计算每个类的平均值。不断重复这个过程,直到所有的样本都不能再分配为止。(图解) </li></ul></ul>
  33. 33. 划分方法( Partitioning method ) <ul><li>特点: </li></ul><ul><ul><li>k 事先定好 </li></ul></ul><ul><ul><li>创建一个初始划分,再采用迭代的重定位技术 </li></ul></ul><ul><ul><li>不必确定距离矩阵 </li></ul></ul><ul><ul><li>比系统聚类法运算量要小,适用于处理庞大的样本数据 </li></ul></ul><ul><ul><li>适用于发现球状类 </li></ul></ul>
  34. 34. 划分方法( Partitioning method ) <ul><li>缺陷: </li></ul><ul><ul><li>不同的初始值,结果可能不同 </li></ul></ul><ul><ul><li>有些 k 均值算法的结果与数据输入顺序有关,如在线 k 均值算法 </li></ul></ul><ul><ul><li>用爬山式技术( hill-climbing )来寻找最优解,容易陷入局部极小值 </li></ul></ul>
  35. 35. <ul><li>基于距离的方法进行聚类只能发现球状类,当类的形状是任意的时候怎么识别?(黑板图示) </li></ul><ul><li>下面介绍其中一种常用的算法: </li></ul>
  36. 36. 基于密度的方法 ( density-based method ) <ul><li>主要有 DBSCAN , OPTICS 法 </li></ul><ul><li>思想: </li></ul><ul><ul><li>只要临近区域的密度超过一定的阀值,就继续聚类 </li></ul></ul><ul><li>特点: </li></ul><ul><ul><li>可以过滤噪声和孤立点 outlier ,发现任意形状的类 </li></ul></ul>
  37. 37. 基于网格的方法 ( grid-based method ) <ul><li>把样本空间量化为有限数目的单元,形成一个网络结构,聚类操作都在这个网格结构(即量化空间)上进行 </li></ul>
  38. 38. 基于模型的方法 ( model-based method ) <ul><li>为每个类假定一个模型,寻找数据对给定模型的最佳拟合。 </li></ul><ul><li>此不详述,有兴趣可以参考《 DataMing Concepts and Techniques 》即《数据挖掘概念于技术》 Jiawei Han Micheline Kamber 机械工业出版社 </li></ul>
  39. 39. 不稳定的聚类方法 <ul><li>受所选择变量的影响 </li></ul><ul><ul><li>如果去掉或者增加一些变量 , 结果会很不同 . 因此,聚类之前一定要明确目标,选择有意义的变量。 </li></ul></ul><ul><ul><li>变量之间的相关性也会影响聚类结果,因此可以先用主成分或因子分析法把众多变量压缩为若干个相互独立的并包含大部分信息的指标,然后再进行聚类。 </li></ul></ul>
  40. 40. 不稳定的聚类方法 <ul><li>输入参数凭主观导致难以控制聚类的质量 </li></ul><ul><ul><li>很多聚类算法要求输入一定的参数,如希望产生的类的数目,使得聚类的质量难以控制,尤其是对于高维的,没有先验信息的庞大数据。 </li></ul></ul><ul><ul><li>首先要明确聚类的目的,就是要使各个类之间的距离尽可能远,类中的距离尽可能近,聚类算法可以根据研究目的确定类的数目,但分类的结果要有令人信服的解释。 </li></ul></ul><ul><ul><li>在实际操作中,更多的是凭经验来确定类的数目,测试不同类数的聚类效果,直到选择较理想的分类。 </li></ul></ul>
  41. 41. 不稳定的聚类方法 <ul><li>算法的选择没有绝对 </li></ul><ul><ul><li>当聚类结果被用作描述或探查工具时,可以对同样的数据尝试多种算法,以发现数据可能揭示的结果。 </li></ul></ul>
  42. 42. 不稳定的聚类方法 <ul><li>聚类分析中权重的确定 </li></ul><ul><ul><li>当各指标重要性不同的时候,需要根据需要调整权重。如加权欧式距离,权重可以用专家法确定。 </li></ul></ul>
  43. 43. 案例演示 <ul><li>有一个电信公司的数据,变量为: </li></ul><ul><ul><li>ID :用户电话号码 </li></ul></ul><ul><ul><li>Mobile :移动电话通话时间 </li></ul></ul><ul><ul><li>Fixed :固定电话通话时间 </li></ul></ul><ul><ul><li>DDD: 长途直拨通话时间 </li></ul></ul><ul><ul><li>IP: IP 电话通话时间 </li></ul></ul><ul><li>研究目的:挖掘不同人群拨打电话的特征 </li></ul><ul><li>下面用 SAS/Enterprise Miner 演示 </li></ul>
  44. 44. Q & A
  45. 45. 推荐参考书目 <ul><li>《应用多元分析》(第二版)王学民 上海财经大学出版社 </li></ul><ul><li>《应用多元统计分析》即《 Appied Multivariate Satistics 》 5 th EdRichard A. Johnson, Dean W. Wichern 中国统计出版社 </li></ul><ul><li>《数据仓库》即《 Building the Data Warehouse 》 3 th Ed , W.H.Inman 机械工业出版社 </li></ul><ul><li>《数据挖掘原理》《 Principles of Data Mining 》 David Hand Heikki Mannila Padhraic Smgth 机械工业出版社 </li></ul><ul><li>《 Data Mining Introduction and Advanced Topics 》 Margaret H.Dunham </li></ul><ul><li>《数据挖掘概念于技术》即《 DataMing Concepts and Techniques 》 Jiawei Han Micheline Kamber 机械工业出版社 </li></ul><ul><li>《数据挖掘——客户关系管理的科学与艺术》即《 Mastering Data Mining The Art and Science of Custermer Relationship Management 》 Michael J.A.Berry, Gordon S.Linoff 中国财政经济出版社 </li></ul><ul><li>《统计学教学案例》王吉利,何书元,吴喜之,中国统计出版社 </li></ul>
  46. 46. 谢谢大家!

×