資源描述:
《聚類分析的案例分析教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、聚類分析楊威yangweipyf@163.com西安建筑科技大學(xué)“人以類聚,物以群分”。對事物進行分類,是人們認識事物的出發(fā)點,也是人們認識世界的一種重要方法。因此,分類學(xué)已成為人們認識世界的一門基礎(chǔ)學(xué)科。聚類分析又稱群分析,它是研究(樣品或指標)分類問題的一種多元統(tǒng)計方法,所謂類,通俗地說,就是指相似元素的集合。本次主要介紹譜系聚類、K均值聚類、模糊C均值聚類和模糊減法聚類及其MATLAB實現(xiàn).1距離聚類1.1聚類的思想在社會經(jīng)濟領(lǐng)域中存在著大量分類問題,比如對我國30個省市自治區(qū)獨立核算工業(yè)企業(yè)經(jīng)濟效益進
2、行分析,一般不是逐個省市自治區(qū)去分析,而較好地做法是選取能反映企業(yè)經(jīng)濟效益的代表性指標,如:百元固定資產(chǎn)實現(xiàn)利稅、資金利稅率、產(chǎn)值利稅率、百元銷售收入實現(xiàn)利潤、全員勞動生產(chǎn)率等等,根據(jù)這些指標對30個省市自治區(qū)進行分類,然后根據(jù)分類結(jié)果對企業(yè)經(jīng)濟效益進行綜合評價,就易于得出科學(xué)的分析。由于要考察的物價指數(shù)很多,通常先對這些物價指數(shù)進行分類??傊?,需要分類的問題很多,因此聚類分析這個有用的數(shù)學(xué)工具越來越受到人們的重視,它在許多領(lǐng)域中都得到了廣泛的應(yīng)用。聚類問題的一般提法是:設(shè)有個樣品的元觀測數(shù)據(jù)組成一個數(shù)據(jù)矩陣
3、其中每一行表示一個樣品,每一列表示一個指標,表示第個樣品關(guān)于第項指標的觀測值,要根據(jù)觀測值矩陣X對樣品或指標進行分類。分類的思想:在樣品之間定義距離,在指標之間定義相似系數(shù).樣品距離表明樣品之間的相似度,指標之間的相似系數(shù)刻畫指標之間的相似度.聚類分析的基本思想:將樣品(或變量)按相似度的大小逐一歸類,關(guān)系密切的聚集到較小的一類,關(guān)系疏遠的聚集到較大的一類,直到所有的樣品(或變量)都聚集完畢。向量的距離設(shè)有n個樣品的p元觀測數(shù)據(jù)這時,每個樣品可看成n元空間的一個點,也即一個維向量,兩個向量之間的距離記為,滿足
4、如下條件:(1)(非負性)且當(dāng)且僅當(dāng)(2)(對稱性)(3)(三角不等式)在聚類分析中最常用的是歐氏距離。1.歐氏(Euclidean)距離2.絕對距離3.明可夫斯基(Minkowski)距離4.切貝雪夫(Chebyshev)距離其中m(m>0)為常數(shù)。5.方差加權(quán)(seuclidean)距離6.馬氏(mahalanobis)距離其中為樣品的協(xié)方差矩陣.其中在MATLAB中,計算距離的命令是pdist.調(diào)用格式Y(jié)=pdist(X,distance)輸入的X是一個矩陣,行為個體,列為指標,distance是距離的
5、類型。若缺省distance,則輸出的Y是一個行向量,向量的長度為(N-1)*N/2,其中N是樣本的容量,Y的元素分別為個體(1,2),(1,3),...,(1,N),(2,3),...(2,N),.....(N-1,N)之間的歐氏距離??蛇x項distance有:‘euclidean’歐氏距離;‘cityblock’絕對距離;‘minkowski’明氏距離(m=2);‘chebychev’切氏距離;‘seuclidean’方差加權(quán)距離;‘mahalanobis’馬氏距離;‘jaccard’Jaccard相關(guān)系
6、數(shù)。?。ㄊ校┕ば绞杖?元/人)經(jīng)營凈收入(元/人)財產(chǎn)性收入(元/人)轉(zhuǎn)移性收入(元/人)北京18738.96778.36452.757707.87上海21791.111399.14369.126199.77安徽9302.38959.43293.923603.72陜西8354.63638.7665.332610.61新疆9422.22938.15141.751976.49表省(區(qū)、市)城鎮(zhèn)居民人均家庭收入例1.12008年我國5省、區(qū)、市城鎮(zhèn)居民人均年家庭收入如下表為了研究上述5個省、區(qū)、市的城鎮(zhèn)居民收入差異
7、,需要利用統(tǒng)計資料對其進行分類,指標變量有4個,計算各省、區(qū)、市之間的前6種距離解:x=[18738.96778.36452.757707.8721791.111399.14369.126199.779302.38959.43293.923603.728354.63638.7665.332610.619422.22938.15141.751976.49];d1=pdist(x);%或者命令d1=pdist(x,'euclidean')此時計算出各行之間的歐氏距離,為了得到距離矩陣,鍵入命令:D=squaref
8、orm(d1);%注意此時d1必須是一個行向量,結(jié)果為實對稱矩陣D=1.0e+004*00.34621.02931.15751.09440.346201.27631.39321.30801.02931.276300.14280.16391.15751.39320.142800.12801.09441.30800.16390.12800矩陣D中的第3行第2列為12763,表示上海與山西的歐氏距離為12