本文共 1558 字,大约阅读时间需要 5 分钟。
R型聚类分析是聚类分析的一种,一般对指标进行分类。
在实际工作中,为了避免漏掉某些重要因素,往往在一开始选取指标的时候尽可能考虑所有的相关因素,而这样做的结果,则是变量过多,变量间的相关度较高,给统计分析与建模带来极大不便,因此人们希望能够研究变量间的相似关系,按照变量的相似关系把他们聚合成若干类,进而找出影响系统的主要因素,引入了R型聚类方法。
举例:
服装标准制定中的变量聚类法:
以下表格是女子14个部位的测量资料,各部位的相关系数表,其中,x1为上身长,x2位手臂长,x3为胸围,x4为颈围,x5为总肩宽,x6为总胸宽,x7为后背宽,x8为前腰节高,x9为后腰节高,x10为全身长,x11为身高,x12为下身长,x13为腰围,x14为臀围。
clc,cleara = [ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0.366 1 0 0 0 0 0 0 0 0 0 0 0 0 0.242 0.233 1 0 0 0 0 0 0 0 0 0 0 0 0.28 0.194 0.59 1 0 0 0 0 0 0 0 0 0 0 0.36 0.324 0.476 0.435 1 0 0 0 0 0 0 0 0 0 0.282 0.262 0.483 0.47 0.452 1 0 0 0 0 0 0 0 0 0.245 0.265 0.54 0.478 0.535 0.663 1 0 0 0 0 0 0 0 0.448 0.345 0.452 0.404 0.431 0.322 0.266 1 0 0 0 0 0 0 0.486 0.367 0.365 0.357 0.429 0.283 0.287 0.82 1 0 0 0 0 0 0.648 0.662 0.216 0.032 0.429 0.283 0.263 0.527 0.547 1 0 0 0 0 0.689 0.671 0.243 0.313 0.43 0.302 0.294 0.52 0.558 0.957 1 0 0 0 0.486 0.636 0.174 0.243 0.375 0.296 0.255 0.403 0.417 0.857 0.852 1 0 0 0.133 0.153 0.732 0.477 0.339 0.392 0.446 0.266 0.241 0.054 0.099 0.055 1 0 0.376 0.252 0.676 0.581 0.441 0.447 0.44 0.424 0.372 0.363 0.376 0.321 0.672 1 ]d=1-abs(a); %进行数据变换,把相关系数转化为距离 系数越大 代表距离越近d=tril(d); %提出d矩阵的下三角部分b=nonzeros(d); %去掉d中的0元素b=b'; %化成行向量z=linkage(b,'complete'); %按最长距离法聚类y=cluster(z,'maxclust',2);%把变量划分成两类,注:也可3类,底下记得修改ind1=find(y==1); %显示第一类对应的变量编号ind2=find(y==2); %显示第二类对应的变量编号ind1=ind1';ind2=ind2';h=dendrogram(z); %画聚类图ind1,ind2set(h,'Color','k','LineWidth',2.0);%把聚类图线的颜色修改成黑色,线宽加粗