R型聚類分析是聚類分析的一種,一般對指標進行分類。
在實際工作中,為了避免漏掉某些重要因素,往往在一開始選取指標的時候盡可能考慮所有的相關因素,而這樣做的結果,則是變量過多,變量間的相關度較高,給統計分析與建模帶來極大不便,因此人們希望能夠研究變量間的相似關系,按照變量的相似關系把他們聚合成若干類,進而找出影響系統的主要因素,引入了R型聚類方法。
方便自己比賽,寫之。
舉例:
服裝標准制定中的變量聚類法:
以下表格是女子14個部位的測量資料,各部位的相關系數表,其中,x1為上身長,x2位手臂長,x3為胸圍,x4為頸圍,x5為總肩寬,x6為總胸寬,x7為后背寬,x8為前腰節高,x9為后腰節高,x10為全身長,x11為身高,x12為下身長,x13為腰圍,x14為臀圍。
計算Matlab程序如下:
%把下三角相關系數矩陣粘貼到純文本文件ch.txt中 clc,clear a=textread('ch.txt'); 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,ind2 set(h,'Color','k','LineWidth',2.0);%把聚類圖線的顏色修改成黑色,線寬加粗
聚類結果:
ind1 = 1 2 8 9 10 11 12
ind2 = 3 4 5 6 7 13 14
可以看出,人體變量大體可以分為兩類:一類反應人體高矮的變量,一類反應人體胖瘦的變量。
————————————————
版權聲明:本文為CSDN博主「hongiii」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/wyh7280/article/details/48176141