模糊聚类分析方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模糊聚类分析方法
对所研究的事物按一定标准进行分类的数学方法称为聚类分析,它是多元统计“物以类聚”的一种分类方法。
载科学技术、经济管理中常常要按一定的标准(相似程度或亲疏关系)进行分类。
例如,根据生物的某些性状可对生物分类,根据土壤的性质可对土壤分类等。
由于科学技术、经济管理中的分类界限往往不分明,因此采用模糊聚类方法通常比较符合实际。
一、模糊聚类分析的一般步骤
1、第一步:数据标准化[9]
(1) 数据矩阵
设论域12{,,,}n U x x x =为被分类对象,每个对象又有m 个指标表示其性状,
即
12{,,
,}i i i im x x x x = (1,2,
,)i n =,
于是,得到原始数据矩阵为
11
12121
2221
2
m m n n nm x x x x
x x x x x ⎛⎫ ⎪ ⎪
⎪ ⎪⎝⎭。
其中nm x 表示第n 个分类对象的第m 个指标的原始数据。
(2) 数据标准化
在实际问题中,不同的数据一般有不同的量纲,为了使不同的量纲也能进行比较,通常需要对数据做适当的变换。
但是,即使这样,得到的数据也不一定在
区间[0,1]上。
因此,这里说的数据标准化,就是要根据模糊矩阵的要求,将数据压缩到区间[0,1]上。
通常有以下几种变换: ① 平移·标准差变换
ik k
ik
k
x x x s -'= (1,2,,;1,2,,)i n k m ==
其中 11n k ik i x x n ==∑,
k s = 经过变换后,每个变量的均值为0,标准差为1,且消除了量纲的影响。
但
是,再用得到的ik
x '还不一定在区间[0,1]上。
② 平移·极差变换
111min{}max{}min{}ik
ik i n
ik
ik
ik i n
i n
x x x x x ≤≤≤≤≤≤''-''=''-,(1,2,,)k m =
显然有01ik
x ''≤≤,而且也消除了量纲的影响。
③ 对数变换
lg ik
ik x x '= (1,2,,;1,2,,)i n k m ==
取对数以缩小变量间的数量级。
2、第二步:标定(建立模糊相似矩阵)
设论域12{,,
,}n U x x x =,12{,,
,}i i i im x x x x =,依照传统聚类方法确定相似
系数,建立模糊相似矩阵,i x 与j x 的相似程度(,)ij i j r R x x =。
确定(,)ij i j r R x x =的方法主要借用传统聚类的相似系数法、距离法以及其他方法。
具体用什么方法,可根据问题的性质,选取下列公式之一计算。
(1) 相似系数法
① 夹角余弦法
21
m
ik
jk
ij m
ik
jk
k x
x r x
==
∑∑。
② 最大最小法
11()()
m
ik
jk k ij m
ik
jk k x x r x
x ==∧=
∨∑∑。
③ 算术平均最小法
11
2()
()
m
ik jk k ij m
ik
jk k x x r x
x ==∧=
+∑∑。
④ 几何平均最小法
12()
m
ik jk k ij m
ik jk
k x x r x ==∧=
∑。
以上3种方法中要求0ij x >,否则也要做适当变换。
⑤ 数量积法
1
1,
,
1
,,
m ij ik jk k i j r x x i j M ==⎧⎪
=⎨≠⎪⎩
∑,
其中 1
max()m
ik jk i j
k M x x ≠==∑。
⑥ 相关系数法
2
1
(m
ik
i jk j
ij m
jk
k x
x x x r x
=--=
-∑∑
其中 11m i ik k x x m ==∑,1
1m
j jk k x x m ==∑。
⑦ 指数相似系数法
22
1()
13exp[]4m ik jk ij k k
x x r m s =-=-∑, 其中 211()n
k ik ik i s x x n ==-∑,
而 1
1n
k ik i x x n ==∑ (1,2,
,)k m =。
(2) 距离法
① 直接距离法
1(,)ij i j r cd x x =-,
其中c 为适当选取的参数,使得01ij r ≤≤,(,)i j d x x 表示他们之间的距离。
经常用的距离有 ● 海明距离
1(,)m
i j ik jk k d x x x x ==
-∑。
● 欧几里得距离 (,)i j d x x =
● 切比雪夫距离
1(,)m
i j ik jk k d x x x x ==∨-。
② 倒数距离法
1,,,,
(,)
ij i j i j M r i j d x x =⎧⎪
=⎨≠⎪⎩。
其中M 为适当选取的参数,使得01ij r ≤≤。
③ 指数距离法
exp[(,)]ij i j r d x x =-。
3、第三步:聚类(求动态聚类图)
(1)基于模糊等价矩阵聚类方法
① 传递闭包法
根据标定所得的模糊矩阵R 还要将其改造称模糊等价矩阵*R 。
用二次方法求R 的传递闭包,即()t R =*R 。
再让λ由大变小,就可形成动态聚类图。
② 布尔矩阵法[10]
布尔矩阵法的理论依据是下面的定理: 定理2.2.1 设R 是12{,,
,}n U x x x =上的一个相似的布尔矩阵,则R 具有传
递性(当R 是等价布尔矩阵时)⇔矩阵R 在任一排列下的矩阵都没有形如
11111001,,,10011111⎛⎫⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎝⎭的特殊子矩阵。
布尔矩阵法的具体步骤如下: ① 求模糊相似矩阵的λ-截矩阵R λ.
② 若R λ按定理2.2.1判定为等价的,则由R λ可得U 在λ水平上的分类,若R λ判定为不等价,则R λ在某一排列下有上述形式的特殊子矩阵,此时只要将其中特殊子矩阵的0一律改成1直到不再产生上述形式的子矩阵即可。
如此得
到的*R λ为等价矩阵。
因此,由*R λ可得λ水平上的分类
(2) 直接聚类法
所谓直接聚类法,是指在建立模糊相似矩阵之后,不去求传递闭包()t R ,也不用布尔矩阵法,而是直接从模糊相似矩阵出发求得聚类图。
其步骤如下:
① 取11λ=(最大值),对每个i x 作相似类[]i R x ,且 []i R x ={|1}j ij x r =,
即将满足1ij r =的i x 与j x 放在一类,构成相似类。
相似类与等价类的不同之处是,不同的相似类可能有公共元素,即可出现
[]{,}i R i k x x x =,[]{,}i R j k x x x =,[][]i j x x ⋂≠∅.
此时只要将有公共元素的相似类合并,即可得11λ=水平上的等价分类。
② 取2λ为次大值,从R 中直接找出相似度为2λ的元素对(,)i j x x (即
2ij r λ=),将对应于11λ=的等价分类中i x 所在的类与j x 所在的类合并,将所有的
这些情况合并后,即得到对应于2λ的等价分类。
③ 取3λ为第三大值,从R 中直接找出相似度为3λ的元素对(,)i j x x (即
3ij r λ=),将对应于2λ的等价分类中i x 所在的类与j x 所在的类合并,将所有的这
些情况合并后,即得到对应于3λ的等价分类。
④ 以此类推,直到合并到U 成为一类为止。
二、最佳阈值λ的确定
在模糊聚类分析中对于各个不同的[0,1]λ∈,可得到不同的分类,许多实际问题需要选择某个阈值λ,确定样本的一个具体分类,这就提出了如何确定阈值
λ的问题。
一般有以下两个方法:
① 按实际需要,在动态聚类图中,调整λ的值以得到适当的分类,而不需要事先准确地估计好样本应分成几类。
当然,也可由具有丰富经验的专家结合专业知识确定阈值λ,从而得出在λ水平上的等价分类 ② 用F 统计量确定λ最佳值。
[11]
设论域12{,,,}n U x x x =为样本空间(样本总数为n ),而每个样本i x 有m 个
特征:12{,,
,}i i i im x x x x =,(1,2,
,)i n =。
于是得到原始数据矩阵,如下表所示,
其中1
1(1,2,
,)n
k ik i x x k m n ===∑,x 称为总体样本的中心向量。
2i
n x x x
111
()
i n x x x x x
设对应于λ值的分类数为r ,第j 类的样本数为j n ,第j 类的样本记为:
()()
()
12,,
,j
j j j n x x x ,第j 类的聚类中心为向量()()()()
112(,,,)j j j j m x x x x =,其中()j k x 为第
k 个特征的平均值,即 ()
()1
1j
n j j k
ik i j
x x n ==∑,(1,2,,)k m =,
作F 统计量
()1
()()
11
(1)
()
j
r
j j
j n r j j i j i n
x x r F x x n r ===--=
--∑∑∑
,
其中 ()
j x
x -=
为()j x 与x 间的距离,()()j j i x x -为第j 类中第i 个样本()j x 与其中心()j x 间的距离。
称为F 统计量,它是遵从自由度为1r -,n r -的F 分布。
它的分子表征类与类之间的距离,分母表征类内样本间的距离。
因此,F 值越大,说明类与类之间的距离越大;类与类间的差异越大,分类就越好。
基于模糊聚类分析的多属性 决策方法的实际应用
聚类分析是将事物根据一定的特征,并按某种特定要求或规律分类的方法。
由于聚类分析的对象必定是尚未分类的群体,而且现实的分类问题往往带有模糊性,对带有模糊特征的事物进行聚类分析,分类过程中不是仅仅考虑事物之间有无关系,而是考虑事物之间关系的深浅程度,显然用模糊数学的方法处理更为自然,因此称为模糊聚类分析。
第一节 雨量站问题
一、问题的提出
某地区设置有11个雨量站,其分布图见图1,10年来各雨量站所测得的年降雨量列入表1中。
现因经费问题,希望撤销几个雨量站,问撤销那些雨量站,而不会太多的减少降雨信息?
图1 雨量站分布图
表1 各雨量站10年间测得的降雨量
二、问题的分析
应该撤销那些雨量站,涉及雨量站的分布,地形,地貌,人员,设备等众多因素。
我们仅考虑尽可能地减少降雨信息问题。
一个自然的想法是就10年来各雨量站所获得的降雨信息之间的相似性,对全部雨量站进行分类,撤去“同类”(所获降雨信息十分相似)的雨量站中“多余”的站。
问题求解 假设为使问题简化,特作如下假设
① 每个观测站具有同等规模及仪器设备; ② 每个观测站的经费开支均等; 具有相同的被裁可能性。
分析:对上述撤销观测站的问题用基于模糊等价矩阵的模糊聚类方法进行分析,原始数据如上。
三、问题的解决
求解步骤:
1、数据的收集
原始数据如表1所示。
2、建立模糊相似矩阵
利用相关系数法,构造模糊相似关系矩阵1111)(⨯αβr ,其中
ij r =
2
11
1
221]
)()([|
)(||)(|∑∑∑=-=-⋅---n k n
k j jk i ik n
k j jk i ik
x x x x x x x x
其中i x =∑=10
1101k ik x ,i =1,2, (11)
j x =∑=n
k jk x n 1
1,j =1,2, (11)
取2,1i j ==,代入公式得21r =0.839,由于运算量巨大用C 语言编程计算出其余数值,得模糊相似关系矩阵1111)(⨯αβr ,具体程序如下 #include<stdio.h> #include<math.h>
double r[11][11];
double x[11];
void main()
{ int i,j,k; double fenzi=0,fenmu1=0,fenmu2=0,fenmu=0;
int year[10][11]={276,324,159,413, 292 ,258,311,303,175,243,320, 251 ,287,349,344,310,454,285,451,402,307,470,
192 ,433,290,563,479,502,221,220,320,411,232,
246 ,232,243,281,267,310,273,315,285,327,352,
291,311,502,388 ,330,410,352,267,603,290,292,
466 ,158,224,178,164,203,502,320,240,278,350,
258,327,432 ,401,361,381,301,413,402,199,421,
453,365,357 ,452,384,420,482,228,360,316,252,
158 ,271,410,308,283,410,201,179,430,342,185,
324,406,235,520 ,442,520,358,343,251,282,371};
for(i=0;i<11;i++)
{ for(k=0;k<10;k++)
{ x[i]=x[i]+year[k][i];}
x[i]=x[i]/10;
}
for(i=0;i<11;i++)
{for(j=0;j<11;j++)
{ for(k=0;k<10;k++)
{ fenzi=fenzi+fabs((year[k][i]-x[i])*(year[k][j]-x[j]));
fenmu1=fenmu1+(year[k][i]-x[i])*(year[k][i]-x[i]);
fenmu2=fenmu2+(year[k][j]-x[j])*(year[k][j]-x[j]);
fenmu=sqrt(fenmu1)*sqrt(fenmu2);
r[i][j]=fenzi/fenmu;
}
fenmu=fenmu1=fenmu2=fenzi=0;
}}
for(i=0;i<11;i++)
{ for(j=0;j<11;j++)
{printf("%6.3f",r[i][j]);}
printf("\n");}
getchar();
}
得到模糊相似矩阵R
1.000 0.839 0.528 0.844 0.828 0.702 0.995 0.671 0.431 0.573 0.712 0.839 1.000 0.542 0.996 0.989 0.899 0.855 0.510 0.475 0.617 0.572 0.528 0.542 1.000 0.562 0.585 0.697 0.571 0.551 0.962 0.642 0.568
0.844 0.996 0.562 1.000 0.992 0.908 0.861 0.542 0.499 0.639 0.607 0.828 0.989 0.585 0.992 1.000 0.922 0.843 0.526 0.512 0.686 0.584 0.702 0.899 0.697 0.908 0.922 1.000 0.726 0.455 0.667 0.596 0.511 0.995 0.855 0.571 0.861 0.843 0.726 1.000 0.676 0.489 0.587 0.719 0.671 0.510 0.551 0.542 0.526 0.455 0.676 1.000 0.467 0.678 0.994 0.431 0.475 0.962 0.499 0.512 0.667 0.489 0.467 1.000 0.487 0.485 0.573 0.617 0.642 0.639 0.686 0.596 0.587 0.678 0.487 1.000 0.688 0.712 0.572 0.568 0.607 0.584 0.511 0.719 0.994 0.485 0.688 1.000
对这个模糊相似矩阵用平方法作传递闭包运算,求44
2:R R R −→−
即4*()t R R R ==。
3、聚类
注:R 是对称矩阵,故只写出它的下三角矩阵
⎥
⎥⎥⎥⎥
⎥
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦
⎤⎢
⎢⎢
⎢⎢⎢
⎢⎢⎢
⎢⎢⎢
⎢⎢
⎢⎣⎡=1688.0697.0688.0719.0719
.0719.0719.0697.0719.0719
.01
697.0688.0688.0688.0688.0688.0688.0688.0688.01
676.0697.0697.0697.0697.0962.0697.0697.01719.0719.0719.0719.0697.0719.0719.01
861.0861.0861.0697.0861.0994.01922.0922.0697.0995.0861
.01992.0697.0996.0861.01
697
.0996.0861.01697.0697.01
861.0000
.1*R 取λ=0.996,则
*0.996
R =⎥
⎥⎥⎥⎥
⎥
⎥⎥⎥⎥⎥⎥
⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡111111********* 245,,x x x 在置信水平为0.996的阈值λ下相似度为1,故245,,x x x 同属一类,所以
此时可以将观测站分为9类{42,x x ,5x },{1x },{3x },{6x },{7x },{8x },{9x },{10x },{11x }。
降低置信水平λ,对不同的λ作同样分析,得到:
λ=0.995时,
可分为8类,即{42,x x ,5x ,6x },{1x },{3x },{7x },{8x },{9x },{10x },{11x }。
λ=0.994时,可分为7类{42,x x ,5x ,6x },{1x ,7x },{3x } ,{8x },{9x },{10x },{11x }。
λ=0.962时,可分为6类{42,x x ,5x ,6x },{1x ,7x },{3x ,9x } ,{8x }, {10x },{11x }。
λ=0.719时,可分为5类{42,x x ,5x ,6x },{1x ,7x },{3x ,9x } ,{8x ,11x },{10x }。
第二节 成绩评价问题
一、问题的提出
某高中高二有7个班级,学生成绩的好与差,没有明确的评定界限,并且班级间成绩好坏的表现具有一定的模糊不确定性。
二、问题的分析
解决上述问题可运用模糊聚类分析方法。
现以7个班级某次其中考试的四门主课成绩为依据,对7个班级成绩好坏的相关程度分类。
设7个班级组成一个分类集合:127(,,
,)X x x x =分别代表1班到7班。
每
个班级成绩均是四门基础课(语文、数学、英语、综合)作为四项统计指标,即有
1234{,,,}ij i i i i X X X X X =这里ij X 表示为第i 个班级的第j 门基础课指标
(1,2,,7;1,2,
,4)i j ==。
这四项成绩指标为:语文平均成绩1i X ,数学平均成
绩2i X ,英语平均成绩3i X ,综合平均成绩4i X 。
各班级成绩指标值见表1。
表1 7个班4门基础课的成绩指标
三、问题的解决
1、数据标准化[12]
采用极差变换min max min
ij ij
x x X x x -'=-, (1)
式中ij x 是第i i 个班级第j 门基础课平均成绩的原始数据,max x 和min x 分别为不同
班级的同一门基础课平均成绩的最大值和最小值。
ij
X '为第i 个班级第j 门基础课平均成绩指标的标准化数值。
当min ij x x =时,0x '=,当 max ij x x =时,1x '=。
表2 平均成绩指标值的标准化数值
2、用最大最小法建立相似矩阵
计算模糊相似矩阵R ,根据标准化数值建立各班级之间四门基础课成绩指标的相似关系矩阵,采用最大最小法来计算ij r :
1
1()
()
m
ik
jk k ij m
ik
jk k x x r x
x ==∧=
∨∑∑
其中[0,1],(1,2,
,71,2,3,4)ij r i j ∈==是表示第i 个班级与第j 个班级在四门基础
课成绩指标上的相似程度的量。
取2,1i j ==,21r =0,其余运算量可以通过MATLAB 编程运算,程序如下:[13] clc clear all
meanp=[0 0.0273 1 0.6119 0.7368 0.7229 0.2911; 0 0.2553 0.7791 0.8385 0.4587 0.5341 1; 0.4285 0 0.8492 1 0.3966 0.5439 0.9513;
0.6605 0 1 0.4012 0.3488 0.0864 0.7731];%平均成绩指标值的标准化数值
Ca=[0;0;0;0];% 初始化比较的数据 Cb=[0;0;0;0];% 初始化比较的数据 mina=[0];% 初始化比较的数据 maxa=[0];% 初始化比较的数据 for i=1:7 for j=1:7
for m=1:4 Ca=meanp(m,i); Cb=meanp(m,j);
mina(1,m)=min(Ca,Cb);%计算任意两横的最小值 maxa(1,m)=max(Ca,Cb);%计算任意两横的最大值 end
R(i,j)=sum(mina)/sum(maxa);% 计算ij r ,即相似程度的量 end end
R %显示相似矩阵
得相似矩阵: 100.210.330.300.270.36010.150.140.080.100.090.210.1510.770.520.600.420.33
0.140.7710.530.610.430.300.080.520.5310.690.680.270.100.600.610.6910.730.360.09
0.420.430.680.731R ⎡⎤⎢⎥⎢⎥⎢⎥
⎢
⎥
=⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥⎣
⎦
3、改造相似关系为等价关系进行聚类分析
矩阵R 满足自反性和对称性,但不具有传递性,为求等价矩阵,要对R 进行改造,只需求其传递闭包。
由平方法可得
21
0.150.360.360.360.360.360.1510.150.150.150.150.150.360.1510.770.600.610.600.36
0.150.7710.610.610.610.360.150.600.6110.690.690.360.150.610.610.6910.730.360.150.600.610.690.731R R R ⎡⎤⎢⎥⎢⎥⎢⎥
⎢
⎥
==⎢⎥⎢⎢⎢⎢⎣
⎦
⎥
⎥
⎥
⎥
42
210.150.360.360.360.360.360.1510.150.150.150.150.150.360.1510.770.610.610.610.36
0.150.7710.610.610.610.360.150.610.6110.690.690.360.150.610.610.6910.730.360.150.610.610.690.731R R R ⎡⎤⎢⎥⎢⎥⎢⎥
⎢==⎢⎢⎢⎢⎢⎣⎦⎥
⎥⎥
⎥
⎥
⎥ 84
410.150.360.360.360.360.360.1510.150.150.150.150.150.360.1510.770.610.610.610.36
0.150.7710.610.610.610.360.150.610.6110.690.690.360.150.610.610.6910.730.360.150.610.610.690.731R R R ⎡⎤
⎢⎥⎢⎥⎢⎥
⎢==⎢⎢⎢⎢⎢⎣
⎦
⎥
⎥⎥
⎥
⎥
⎥ 最后可得到8444R R R R ==。
故传递闭包为4ˆR
R =,它就是模糊等价矩阵。
用其可对7个班级进行聚类分析。
令λ由1降至0,写出R λ,按R λ分类元素i u 和j u 归同一类的条件是 (,)1i j R u u λ= (,1,2,3,4,5,6,7)i j =
取λ=1,则有11
000000010000000100000
001000000010000000100000001R ⎡⎤⎢⎥⎢⎥⎢⎥
⎢
⎥
=⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥⎣
⎦
U 可分7类1{}u ,2{}u ,3{}u ,4{}u ,5{}u ,6{}u ,7{}u 。
降低置信水平λ,对不同的λ作同样分析,得到
取λ=0.77, U 可分6类1{}u ,2{}u ,34{,}u u ,5{}u ,6{}u ,7{}u 。
取λ=0.73, U 可分5类1{}u ,2{}u ,34{,}u u ,5{}u , 67{,}u u 。
取λ=0.69, U 可分4类1{}u ,2{}u ,34{,}u u , 567{,,}u u u 。
取λ=0.61, U 可分3类1{}u ,2{}u , 34567{,,,,}u u u u u 。
取λ=0.36, U 可分2类2{}u , 234567{,,,,,}u u u u u u 。
取λ=0.15, U 可分1类1234567{,,,,,,}u u u u u u u 。
按不同的置信水平对7个班级进行模糊聚类,将会得到不同的分类结果
-------------精选文档-----------------
可编辑。