模糊聚类实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(二).模型实例分析
例:设某地区设置有11个雨量站,其分布图见图1,10年来各雨量站所测得的年降雨量列入表1中。现因经费问题,希望撤销几个雨量站,问撤销那些雨量站,而不会太多的减少降雨信息?
图1
表1
应该撤销那些雨量站,涉及雨量站的分布,地形,地貌,人员,设备等众多因素。我们仅考虑尽可能地减少降雨信息问题。一个自然的想法是就10年来各雨量站所获得的降雨信息之间的相似性,对全部雨量站进行分类,撤去“同类”(所获降雨信息十分相似)的雨量站中“多余”的站。
问题求解 假设为使问题简化,特作如下假设 (1) 每个观测站具有同等规模及仪器设备; (2) 每个观测站的经费开支均等; 具有相同的被裁可能性。
分析:对上述撤销观测站的问题用基于模糊等价矩阵的模糊聚类方法进行分析,原始数据如上。 求解步骤:
1.利用相关系数法,构造模糊相似关系矩阵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)
用C 语言编程计算出模糊相似关系矩阵1111)(⨯αβr ,具体程序如下 #include
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 −→−
即t (R )=4R =*R
注: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.01861.0861.0861.0697.0861.0994.01922.0922.0697.0995.0861
.01992.0697
.0996
.0861.01697.0996.0861.01697.0697.01861.0000
.1*R
取λ=0.996,则