聚類分析-R型聚類


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM