模糊聚类分析步骤
- 格式:docx
- 大小:318.91 KB
- 文档页数:13
模糊聚类分析步骤
————————————————————————————————作者:————————————————————————————————日期:
求分类对象的相似度
传递闭包法进行聚类(求动态聚类图)
根据λ∈(0,1)的不同取值分布不同的类。
注释(1):模糊相似矩阵只具有自反性和对称性,不具有传递性,求λ截矩阵的前提是R 是X 上的的模糊等价关系。所以要先求得R 传递闭包,将模糊相似矩阵转化为模糊等价矩阵。
原始数据矩阵
标准化矩阵
模糊相似矩阵R
(1)
相似距离
主观
欧式距明氏距切比雪
等价关系矩阵
传递闭布尔矩
直接聚
截矩阵
雨量站问题
原始数据矩阵:
(重要定理:设R∈F ( X ⨯X ) 是相似关系( 即R 是自反、对称模糊关系) ,则e(R) = t(R) ,即模糊相似关系的传递闭包就是它的等价闭包。)
Y的传递闭包(即Y的等价矩阵):
求λ截矩阵,在程序中我用的k代替了λ。
K=1时,x1,x2,x3,…x11,各成一类,将11个雨量站分成11类。
K=0.9095时,将11个雨量站分为10类,X8, X11为一类,其余各自一类。
分8类,将x2 ,x5, x8, x11分一类,其余各自一类
分6类,x2 x3,x5, x8, x9 x11为一类,其余各自一类。
分4类,x1
,x2 ,x3,x5, x7,x8, x9 x11为一类,其余各自一类。
分4类,x1, x3 x2 x7 x8 x9 x11为一类,x2 x4 x5为一类,x6一类,x10一类。
分3类,x2 x4 x5 x6为一类,x1 x3 x7 x8 x9 x11一类,x10一类。
分2类,x2 x4 x5 x6 x10一类,x1 x3 x7 x8 x9 x11一类
分2类,x1x2 x4 x5 x6 x10一类,x3 x8 x9 x11一类.
分1类。
程序一:标准化矩阵:
function Y=bzh1(X)
[a,b]=size(X);
C=max(X);
D=min(X);
Y=zeros(a,b);
for i=1:a
for j=1:b
Y(i,j)=(X(i,j)-D(j))/(C(j)-D(j)); %平移极差变化进行数据标准化end
end
fprintf('标准化矩阵如下:Y=\n');
disp(Y)
end
程序二:求模糊相似矩阵:
function R=biaod2(Y,c)
[a,b]=size(Y);
Z=zeros(a);
R=zeros(a);
for i=1:a
for j=1:a
for k=1:b
Z(i,j)=abs(Y(i,k)-Y(j,k))+Z(i,j);
R(i,j)=1-c*Z(i,j);%绝对值减数法--欧氏距离求模糊相似矩阵
end
end
end
fprintf('模糊相似矩阵如下:R=\n');
disp(R)
end
程序三:计算传递闭包:
function B=cd3(R)
a=size(R);
B=zeros(a);
flag=0;
while flag==0
for i= 1: a
for j= 1: a
for k=1:a
B( i , j ) = max(min( R( i , k) , R( k, j) ) , B( i , j ) ) ;%R与R内积,先取小再取大
end
end
end
if B==R
flag=1;
else
R=B;%循环计算R传递闭包
end
end
程序四:求 截矩阵:
function [D k] =jjz4(B)
L=unique(B)';
a=size(B);
D=zeros(a);
for m=length(L):-1:1
k=L(m);
for i=1:a
for j=1:a
if B(i,j)>=k
D(i,j)=1;
else D(i,j)=0;%求?截距阵,当bij≥? 时,bij(?) =1;当bij<? 时,bij(?) =0
end
end
end
fprintf('当分类系数k=:\n'); disp(L(m));
fprintf('所得截距阵为:\n'); disp(D);
end