聚类分析 - 西南财经大学

Download Report

Transcript 聚类分析 - 西南财经大学

聚类分析
西南财经大学
统计学院
李保坤老师
本节讲课提纲
•
•
•
•
•
2
分类和聚类
聚类分析原理介绍
主要聚类算法的分类
不稳定的聚类方法
关于聚类
1 分类和聚类
分类: 有约束学习方法
从以前分好类的观测记录学习到一种方法,然
后用这种方法去预测观测记录的类别
3
1 分类和聚类
聚类:无约束学习
从没有分类的观测数据里给出 “自然的”分
组(或聚类)。在同一个聚类内对象之间
具有较高的相似度,不同聚类类之间的对
象差别较大。
4
2.聚类分析原理介绍
• 聚类分析中“类”的特征:
– 聚类所说的类不是事先给定的,而是根据数据
的相似性和距离来划分
– 聚类的数目和结构都没有事先假定
2.聚类分析原理介绍
• 聚类方法的目的是寻找数据中:
– 潜在的“自然分组”结构
– 感兴趣的“关系”
2.聚类分析原理介绍
相似性Similar的度量(统计学角度)
• 距离Q型聚类(主要讨论)
– 主要用于对样本分类
– 常用的距离有(只适用于具有间隔尺度变量的聚类):
•
•
•
•
•
明考夫斯基距离(包括:绝对距离、欧式距离、切比雪夫距离)
兰氏距离
马氏距离
斜交空间距离
此不详述,有兴趣可参考《应用多元分析》(第二版)王学民
• 相似系数R型聚类
– 用于对变量分类,可以用变量之间的相似系数的变形如1-rij定义
距离
– 这里不详细介绍这种聚类度量方法
2.聚类分析原理:两个距离
• 按照远近程度来聚类需要明确两个概念:一个是点和点
之间的距离,一个是类和类之间的距离。
• 点间距离有很多定义方式。最简单的是歐氏距离,还有
其他的距离。
• 当然还有一些和距离相反但起同样作用的概念,比如相
似性等,两点越相似度越大,就相当于距离越短。
• 由一个点组成的类是最基本的类;如果每一类都由一个
点组成,那么点间的距离就是类间距离。但是如果某一
类包含不止一个点,那么就要确定类间距离,
• 类间距离是基于点间距离定义的:比如两类之间最近点
之间的距离可以作为这两类之间的距离,也可以用两类
中最远点之间的距离作为这两类之间的距离;当然也可
以用各类的中心之间的距离来作为类间距离。在计算时,
各种点间距离和类间距离的选择是通过统计软件的选项
实现的。不同的选择的结果会不同,但一般不会差太多。
向量x=(x1,…, xp)与y=(y1,…, yp)之间的距离或相似系数:
2
(
x

y
)
 i i
欧氏距离:
Euclidean
Squared Euclidean
i
夹角余弦(相似系数1) :
i xi yi
cosine
Cxy (1)  cos xy 
i
Chebychev: Maxi|xi-yi|
Minkowski: 

  ( xi  yi ) 
 i

q
i
Block(绝对距离): Si|xi-yi|
2
2
x
y
i i
i
2
(
x

y
)
 i i
平方欧氏距离:
Pearson correlation
(相似系数2):
1
q
Cxy (2)  rxy 
当变量的测量值相差悬殊时,要先进行标准化. 如R
为极差, s 为标准差, 则标准化的数据为每个观测值
减去均值后再除以R或s. 当观测值大于0时, 有人采
用Lance和Williams的距离
 ( x  x )( y  y )
i
i
i
2
2
(
x

x
)
(
y

y
)
 i
 i
i
i
| xi  yi |
1

p i xi  yi
类Gp与类Gq之间的距离Dpq
(d(xi,xj)表示点xi∈ Gp和xj ∈ Gq之间的距离)
最短距离法:
最长距离法:
Dpq  min d ( xi , x j )
D pq  max d ( xi , x j )
类平均法:
1
重心法:
D pq 
d ( xi , x j )
Dpq  min d ( x p , xq )


n1n2 xi G p x j Gq
离差平方
和:(Wald) D1   ( xi  x p ) '( xi  x p ), D2   ( x j  xq ) '( x j  xq ),
xi G p
D1 2 
x j Gq

xk G p Gq
( xk  x ) '( xi  x )  D pq  D1 2  D1  D2
在用欧氏距离时, 有统一的递推公式
(假设Gr是从Gp和Gq合并而来):
Lance和Williams给出(对欧氏距离)统一递推公式:
D2(k,r)=apD2(k,p)+aqD2(k,q)+bD2(p,q)
+g|D2(k,p)-D2(k,q)|
前面方法的递推公式可选择参数而得:
方法
ai (i=p,q)
b
g
最短距离
½
最长距离
½
重心
ni/nr
类平均
ni/nr
离差平方和(n +n )/ (n +n )
中间距离
1/2
可变法
(1-b)/2
可变平均 (1- b) n /n
i
k
r
k
0
0
-nk/ (nr+nk)
-1/2
1/2
-a p a q
0
0
-1/4
b(<1)
b(<1)
0
0
0
0
0
3.主要聚类算法的分类
• 层次聚类法(hierarchical method)
• K-均值方法(K-Means method)
• 基于密度的方法(density-based method)
• 基于网格的方法(grid-based method)
• 基于模型的方法(model-based method)
• ……
其中,前两种算法是利用统计学定义的距离进
行度量
3.1层次聚类法
• 定义:对给定的数据进行层次的分解:
• 分类:
 凝聚的(agglomerative)方法(自底向上)(案例介绍)
思想:一开始将每个对象作为单独的一组,然后根据同类
相近,异类相异的原则,合并对象,直到所有的组合并成
一个,或达到一个终止条件为止。
 分裂的方法(divisive)(自顶向下)
思想:一开始将所有的对象置于一类,在迭代的每一步中,
一个类不断地分为更小的类,直到每个对象在单独的一个
类中,或达到一个终止条件。
3.1层次聚类法
• 特点:
– 类的个数不需事先定好
– 需确定距离矩阵
– 运算量要大,适用于处理小样本数据
类间距离图示
• 最小距离法(single linkage method)
– 极小异常值在实际中不多出现,避免极大值的
影响
类间距离图示
• 最大距离法(complete linkage method)
– 可能被极大值扭曲,删除这些值之后再聚类
类间距离图示
• 类平均距离法(average linkage method)类
间所有样本点的平均距离
– 该法利用了所有样本的信息,被认为是较好的
系统聚类法
类间距离图示
• 重心法(centroid hierarchical method)
– 类的重心之间的距离
– 对异常值不敏感,结果更稳定
类间距离图示
• 离差平方和法(ward method)
D1 
 (x  x
xi G p
D1 2 
i

xk G p Gq
p
) '( xi  x p ), D2 
 (x
x j Gq
j
 xq ) '( x j  xq ),
( xk  x ) '( xk  x )  D pq  D1 2  D1  D2
Cluster p
Cluster q
Cluster M
– 对异常值很敏感;对较大的类倾向产生较大的
距离,从而不易合并。
层次的方法缺陷:
• 一旦一个步骤(合并或分裂)完成,就不
能被撤销或修正,因此产生了改进的层次
聚类方法,如BRICH,BURE,ROCK,Chameleon。
详见参考书
3.2 k-均值方法
• 较流行的方法有:
– 动态聚类法(也称逐步聚类法),如k-均值算
法、k-中心点算法
• 思想:
– 随机选择k个点,每个点初始地代表一个类的平
均值或中心,对数据集合中的每一个点,根据
其到类中心的距离,被划分到最近的类;然后
重新计算每个类的平均值。不断重复这个过程,
直到所有的样本都不能再分配为止。(图解)
3.2 k-均值方法
k1
Y
(随机地)
选择3个初
始聚类中心
k2
k3
X
22
3.2 k-均值方法
k1
Y
每一个点被安
排到离某中心
最近的那个聚
类
k2
k3
X
23
3.2 k-均值方法
k1
k1
Y
把每一个聚类
中心移动到每
一个聚类的均
值上
k2
k3
k2
k3
X
24
3.2 k-均值方法
重新把这些
点安排到中
Y
心最近的聚
类
问题: 哪些点
的聚类变了?
k1
k3
k2
X
25
3.2 k-均值方法
k1
Y
答: 这3个
点聚类变了
k3
k2
X
26
3.2 k-均值方法
k1
Y
重新计
算聚类
均值
k3
k2
X
27
3.2 k-均值方法
k1
Y
把聚类中
心移到这
些均值上
k2
k3
X
28
3.2 k-均值方法
• 特点:
– k事先定好
– 创建一个初始划分,再采用迭代的重定位技术
– 不必确定距离矩阵
– 比系统聚类法运算量要小,适用于处理庞大的
样本数据
– 适用于发现球状类
3.2 k-均值方法
• 缺陷:
– 不同的初始值,结果可能不同
– 有些k均值算法的结果与数据输入顺序有关,
如在线k均值算法
– 易于受奇异值的影响
• 基于距离的方法进行聚类只能发现球状类,
当类的形状是任意的时候怎么识别?
• 下面介绍其中一种常用的算法:
3.4 基于密度的方法
(density-based method)
• 主要有DBSCAN,OPTICS法
• 思想:
– 只要临近区域的密度超过一定的阀值,就继续
聚类
• 特点:
– 可以过滤噪声和孤立点outlier,发现任意形状
的类
3.5 基于网格的方法
(grid-based method)
• 把样本空间量化为有限数目的单元,形成
一个网络结构,聚类操作都在这个网格结
构(即量化空间)上进行
3.6 基于模型的方法
(model-based method)
• 为每个类假定一个模型,寻找数据对给定
模型的最佳拟合。
• 此不详述,有兴趣可以参考《DataMing
Concepts and Techniques》即《数据挖掘概
念于技术》Jiawei Han Micheline Kamber机械
工业出版社
4 不稳定的聚类方法
•
受所选择变量的影响
– 如果去掉或者增加一些变量,结果会很不同.因
此,聚类之前一定要明确目标,选择有意义
的变量。
– 变量之间的相关性也会影响聚类结果,因此
可以先用主成分或因子分析法把众多变量压
缩为若干个相互独立的并包含大部分信息的
指标,然后再进行聚类。
4 不稳定的聚类方法
•
输入参数凭主观导致难以控制聚类的质量
–
–
–
很多聚类算法要求输入一定的参数,如希望产生
的类的数目,使得聚类的质量难以控制,尤其是
对于高维的,没有先验信息的庞大数据。
首先要明确聚类的目的,就是要使各个类之间的
距离尽可能远,类中的距离尽可能近,聚类算法
可以根据研究目的确定类的数目,但分类的结果
要有令人信服的解释。
在实际操作中,更多的是凭经验来确定类的数目,
测试不同类数的聚类效果,直到选择较理想的分
类。
4 不稳定的聚类方法
•
算法的选择没有绝对
– 当聚类结果被用作描述或探查工具时,可以
对同样的数据尝试多种算法,以发现数据可
能揭示的结果。
4 不稳定的聚类方法
• 聚类分析中权重的确定
– 当各指标重要性不同的时候,需要根据需要调
整权重。如加权欧式距离,权重可以用专家法
确定。
关于聚类:聚类应用领域
• 营销: 发现客户集群并进行直销和重组
• 天文: 发现相似恒星群以及星系群
• 地震研究: 观测到的地震震源应聚集在大陆断层带
• 基因分析: 发现具有相似表达式的基因群
• …
39
关于聚类:评价
• 手动检查
• 在已有的类别上判断聚类结果
• 聚类质量测度
– 距离测度
– 聚类内高相似性,聚类间低相似性
40
关于聚类:如何作得好
• 作为探索性数据分析方法,用户需要选择举例测度、分组
算法等,如果不了解数据或者对其意义没有理论上的了解
就很难作出恰当的选择。
• 除此之外,对于你的聚类还没有多少诊断手段来告诉你聚
类的好坏。
关于聚类:数据
• 如果数据有清晰的聚类结构,非常简单的
方法,例如基于最重要变量或构造变量
(如主成分)的散点图就可足够把数据聚
合成类。如果数据没有这种结构,很可能
花费了大量的时间和精力,精心构建的几
种分析会给你这儿冲突那儿符合的一些结
果来。
关于聚类
• 作为一种探索性技术,Everitt (1993)评价到:
“聚类方法基本上是用于产生一些假设而
不是检验假设”。
• 据说有多少作聚类分析的人就有多少聚类
方法,其实这还说少了。应该说聚类方法
比作聚类分析的人多无穷多。