Ⅰ 系統聚類的原理
確定了距離和相似系數後就要進行分類。分類有許多種方法,最常用的一種方法是在樣品距離的基礎上定義類與類之間的距離。首先將n個樣品分成n類,每個樣品自成一類,然後每次將具有最小距離的兩類合並,合並後重新計算類與類之間的距離,這個過程一直持續到將所有的樣品歸為一類為止,並把這個過程畫成一張聚類圖,參照聚類圖可方便地進行分類。因為聚類圖很像一張系統圖,所以這種方法就叫系統聚類法。系統聚類法是在實際中使用最多的一種方法,從上面的分析可以看出,雖然我們已給了計算樣品之間距離的方法,但在實際計算過程中還要定義類與類之間的距離。定義類與類之間的距離也有許多方法,不同的方法就產生了不同的系統聚類方法,常用的有如下六種:
(1)最短距離法:類與類之間的距離等於兩類最近樣品之間的距離;
(2)最長距離法:類與類之間的距離等於兩類最遠樣品之間的距離:
(3)類平均法:類與類之問的距離等於各類元素兩兩之間的平方距離的平均;
(4)重心法:類與類之間的距離定義為對應這兩類重心之間的距離對樣品分類來說,每一類的類重心就是該類樣品的均值;
(5)中間距離法:最長距離法誇大了類間距離,最短距離法低估了類間距離介於兩者問的距離法即為中間距離法,類與類之問的距離既不採用兩類之間最近距離。也不採用最遠距離,而是採用介於最遠和最近之間的距離;
(6)離差平方和法(Ward法):基於方差分析的思想,如果分類正確,同類樣品之間的離差平方和應當較小,類與類之間的離差平方和應當較大
Ⅱ 聚類分析類內平方和和類間平方和怎麼計算
聚類分析是一種常用的數據分析方法,用於將相似的數據點歸為一類。在聚類分析中,類內平方和和類間平方和是重要的評估指標。類內平方和表示每個類內部數據點到該類中心點的距離的平方和,類間平方和表示不同類之間中心點距離的平方和。
計算類內平方和的方法如下:
1. 對於每個類,計算該類中心點的坐標。
2. 對於每個類中的每個數據點,計算其到該類中心點的距離,然後將它們的距離平方相加。
3. 對於所有類,將它們的類內平方和相加,伍握得到總的沖橘橡類內平方和。
計算類間平方和的方法如下:
1. 對於每個類,計算該類中心點的坐標。
2. 對於不同類之間的中心點,計算它們之間的歐幾里得距離,然後將它們的距離平方相加。
3. 得到總的類間平方和。
需要注意的是,類內平方和和類間平方和的計算結果越小,說明聚類效果越好。因此,在聚類分析中,我們散旁通常會根據類內平方和和類間平方和的大小來選擇最優的聚類數。
Ⅲ 聚類譜系圖怎麼看
問題一:SPSS19做Q型聚類分析譜系圖時為什麼39組只顯示了部分組,見附圖 50分 雙擊圖標在最下面有一個下箭頭,點擊就會出現了。
問題二:spss系統聚類分析譜系圖 5分 是不是合理要從你專業知識來判斷
聚類分析結果spss顯示不太好的,正常
問題三:matlab中聚類分析譜系圖分析方法 result = result.replaceAll(>\\s*|^\\?]*)\\?>, );
String json = result;
Matcher matcher = Patternpile(|^/]*)>).matcher(result);
while(matcher.find()){
for (int i = 0; i , \+s+\:\$1\,);
}
}
問題四:如何使用聚類分析對一個圖中的點進行識別分群吶,還是用別的辦法 直接題目進行聚類,在理論上不好解釋,但的確要更合理些,現在仍流行用因子進行聚類
問題五:最短距離聚類法聚類譜系圖怎麼畫 最遠距離即最長距離,是定義的類中Gp和Gq中最遠的兩個樣品之間的距離為這兩個類的距離,計算公式為 D(Gp,Gq)=max{dijOi∈Gp,j∈Gq,p≠q}當Gp和Gq合並為新類Gr後,按最長距離法計算Gr與其他類Gk(k≠p、q)之間的距離公式為 D(Gr,Gk)=max{ dijOi∈Gr,j∈Gk } =max{max{dijOi∈Gp,j∈Gk },max{ dijOi∈Gq,j∈Gk }} =max{D(Gp,Gk),D(Gq,Gk)}
問題六:用SPSS19進行聚類晌蠢賀分析時,怎麼生成R型聚類分析譜系圖,和Q型聚類分析譜系圖, 你是在看教程學習還是實際應用
一般在實際應用中 已經沒有R型和Q型的說法了, 不過教材中還會提到 分別是對個案進行聚類和 對變數進行聚類. 由於對變數進行聚類一般是採用因子分析或者主成分分析了,所以很少會用聚類分析對變數進行聚類了
至於對個案聚類, 你只需要按照你的變數數據類型選擇不同的度量標准就好,一般選擇默認推薦的就可以了. 另外系統聚類處理的數據必須是一個類型的 要麼是全部分類的,要是是全部連續型的 ,不能是混合類型的.
要出來樹狀圖譜 你只要在繪制圖形那個菜單進去 選擇上面的樹狀圖就好了
問題七:譜系聚類應採用哪種距離方式定義樣品間的距離?為什麼 聚類分析有兩種主要計算方法,分別是凝聚層次聚類(Agglomerative hierarchical method)和K均值聚類(K-Means)。 一宴派、層次聚類 層次聚類又稱為系統聚類,首先要定義樣本之間的距離關系,距離較近的歸為一類,較遠的則屬於不同的類。可用於定義「距離」的統計量包括了歐氏距離 (euclidean)、馬氏距離(manhattan)、 兩項距離(binary)、明氏距離(minkowski)。還包括相關系數和夾角餘弦。 層次聚類首先將每個樣本單獨作為一類,然後將不同類之間距離最近的進行合並,合並後重新計算類間距離。這個過程一直持續到將所有樣本歸為一類為止。在計算類間距離時則有六種不同的方法,分別是最短距離法、最長距檔塵離法、類平均法、重心法、中間距離法、離差平方和法。 下面我們用iris數據集來進行聚類分析,在R語言中所用到的函數為hclust。首先提取iris數據中的4個數值變數,然後計算其歐氏距離矩陣。然後將矩陣繪制熱圖,從圖中可以看到顏色越深表示樣本間距離越近,大致上可以區分出三到四個區塊,其樣本之間比較接近。 data=iris[,-5] dist.e=dist(data,method='euclidean') heatmap(as.matrix(dist.e),labRow = F, labCol = F) X 然後使用hclust函數建立聚類模型,結果存在model1變數中,其中ward參數是將類間距離計算方法設置為離差平方和法。使用plot(model1)可以繪制出聚類樹圖。如果我們希望將類別設為3類,可以使用cutree函數提取每個樣本所屬的類別。 model1=hclust(dist.e,method='ward') result=cutree(model1,k=3) 為了顯示聚類的效果,我們可以結合多維標度和聚類的結果。先將數據用MDS進行降維,然後以不同的的形狀表示原本的分類,用不同的顏色來表示聚類的結果。可以看到setose品種聚類很成功,但有一些virginica品種的花被錯誤和virginica品種聚類到一起。
Ⅳ 常見的幾種聚類方法
作為無監督學習的一個重要方法,聚類的思想就是把屬性相似的樣本歸到一類。對於每一個數據點,我們可以把它歸到一個特定的類,同時每個類之間的所有數據點在某種程度上有著共性,比如空間位置接近等特性。多用於數據挖掘、數據分析等一些領域。
下面簡單介紹一下幾種比較常見的聚類演算法。
K-means聚類方法大家應該都聽說過,在各種機器學習書籍教程中也是無監督學習部分非常經典的例子。其核心主要為兩個部分:其一是K,K在這里代表著類的數目,我們要把數據聚為多少類。其二是means,表示在每一次計算聚類中心的時候採取的是計算平均值。
我們假設樣本總數為n,K-means聚類法可以簡單表示為一下幾個步驟:
1. 在樣本中隨機選取K個點,作為每一類的中心點。
2. 計算剩下 n-K 個樣本點到每個聚類中心的距離(距離有很多種,假設這里採用歐式距離)。對於每一個樣本點,將它歸到和他距離最近的聚類中心所屬的類。
3. 重新計算每個聚類中心的位置:步驟 2 中得到的結果是 n 個點都有自己所屬的類,將每一個類內的所有點取平均值(這里假設是二維空間,即對 x 和 y 坐標分別取平均),計算出新的聚類中心。
4. 重復步驟 2 和 3 的操作,直到所有的聚類中心不再改變。
分析一下,演算法本身的思想並不難。但是K值如何選擇就見仁見智了,這里可以引入類內距離 J,每一類都會對應一個 J 值,其計算就是把類內所有點之間的距離累加起來。我們肯定希望 J 越小越好,因為小的類內間距代表這一類樣本的相似程度更高(離得更近)。
如果 K 很小,則聚類可能不徹底,即隔著很遠的兩波點也被聚為一類,會使 J 變得很大;相反的,過大的 K 雖然會降低類內間距 J ,但有時候分得過細會對數據的泛化性造成損害,沒有必要弄這么多類。因此 K 的選擇應該是具體問題具體分析。
還有一個問題就是初始聚類中心的選擇。不當的初始化會給演算法的收斂帶來更多的計算開銷。試想一下,如果一開始把離得很近的 K 個點都設為聚類中心,那麼演算法的迭代次數會更多一些。
HAC也是一種比較經典的聚類方法,其主要思想是先把每一個樣本點歸為一類,再通過計算類間的距離,來對最相似或者距離最近的類進行歸並,合成位一個新的類。反復循環,直到滿足特定的迭代條件即可。
HAC的核心思想主要分為如下幾個步驟:
1. 將每個樣本點都視作一類,一共有n個類。
2. 計算所有類之間兩兩的類間距離(類間距離計算方式多種多樣,可以取最近、最遠、找重心等等,這里不做詳述),然後把距離最近的兩個類進行合並,組成一個新的更大的類。
3. 重復步驟 2 中的操作,直到達到特定的迭代條件(例如當前類的數目是初始時的 10% ,即 90% 的類都得到了合並;最小的類間距離大於預先設定的閾值等等),演算法結束。
和K-means演算法中的 K 值選取一樣,HAC中如何選擇迭代的終止條件也是一個比較復雜的問題,需要根據一定的經驗,並且具體問題具體分析。
這種方法的核心思想是先計算出聚類中心,再把所有的樣本點按照就近原則,歸到離自身最近的聚類中心所對應的類。最大最小是指在所有的最小距離中選取最大的。其主要的演算法步驟如下:
1. 隨機選擇一個點,作為第一個類的聚類中心 Z1。
2. 選擇與步驟 1 中距離最遠的樣本點,作為第二個類的聚類中心 Z2。
3. 逐個計算每個點到所有聚類中心的距離,並把所有的最短的距離記錄下來。
4. 在這些最短距離中挑選最大的值,如果這個最大值大於 ,其中 ,那麼將這個最大距離所對應的另一個樣本點作為新的聚類中心;否則整個演算法結束。
5. 重復步驟 3 和 4 的操作,直到 4 中不再出現新的聚類中心。
6. 將所有的樣本歸到與他自身最近的聚類中心。
參考:
https://www.jianshu.com/p/4f032dccdcef
https://www.jianshu.com/p/bbac132b15a5
https://blog.csdn.net/u011511601/article/details/81951939
Ⅳ 聚類(Clustering)
無監督學習(Unsupervised learning) :訓練樣本的標記信息是未知的,目標是為了揭露訓練樣本的內在屬性,結構和信息,為進一步的數據挖掘提供基礎。
· 聚類(clustering)
· 降維(dimensionality rection)
· 異常檢測(outlier detection)
· 推薦系統(recommendation system)
監督學習(supervised learning) :訓練樣本帶有信息標記,利用已有的訓練樣本信息學習數據的規律預測未知的新樣本標簽
· 回歸分析(regression)
· 分類(classification)
聚類 :物以類聚。按照某一個特定的標准(比如距離),把一個數據集分割成不同的類或簇,使得同一個簇內的數據對象的相似性盡可能大,同時不再同一個簇內的數據對象的差異性也盡可能的大。
簇 (或類cluster):子集合。最大化簇內的相似性;最小化簇與簇之間的相似性。
聚類可以作為一個單獨過程,用於尋找數據內在分布結構,也可以作為其他學習任務前驅過程。
聚類和分類的區別:聚類是無監督學習任務,不知道真實的樣本標記,只把相似度搞得樣本聚合在一起;分類是監督學習任務,利用已知的樣本標記訓練學習器預測未知樣本的類別。
聚類相似度度量: 幾何距離
幾種距離度量方法:
· 歐式距離(Euclidean distance):p=2的Minkowski距離,
· Minkowoski距離:
· 曼哈頓距離 (Manhattan distance):p=1的Minkowski距離
· 夾角餘弦 :
` 相關系數 (Pearson correlation coefficient): ,等式右面的x其實是 (x方向的均值),y其實是 (y方向的均值),對於這個表達式很不友好,所以在此說明一下。
聚類類別:
· 基於劃分的聚類(partitioning based clustering):k均值(K-means), Mean shift
· 層次聚類(hierarchical clustering):Agglomerative clustering, BIRCH
· 密度聚類(density based clustering):DBSCAN
· 基於模型的聚類(model based clustering):高斯混合模型(GMM)
· Affinity propagation
· Spectral clustering
聚類原理:
劃分聚類(partition based clustering):給定包含N個點的數據集,劃分法將構造晌模扒K個分組;每個分組代表一個聚類,這里每個分組至少包含一個數據點,每個數據點屬於且只屬於一個分組;對於給定的K值,演算法先給出一個初始化的分組方法,然後通過反復迭代的碼蘆的方法改變分組,知道准則函數收斂。
K均值演算法(Kmeans):
` 給定樣本集:D={ , .... }, k均值演算法針對聚類所得簇:C={ , ... }
` 最小化平方差: ,其中: 簇 的質心,上面的2代表平方,下面的2代表范數2.
具體的K均值演算法過程 :
1. 隨機選擇K個對子女給,每個對象出事地代表了一個簇的質心,即選擇K個初始質心;2. 對剩餘宴昌的每個對象,根據其與各簇中心的距離,將它賦給最近的簇;3. 重新計算每個簇的平均值。這個過程不斷重復,直到准則函數(誤差的平方和SSE作為全局的目標函數)收斂,直到質心不發生明顯的變化。
初始質心優化:Kmeans++:
輸入:樣本集D={ , ... } 聚類簇的數量K
選取初始質心的過程:
1. 隨機從m個樣本點中選擇一個樣本作為第一個簇的質心C1;2. 計算所有的樣本點到質心C1的距離: ;3. 從每個點的概率分布 中隨機選取一個點作為第二個質心C2。離C1越遠的點,被選擇的概率越大;4. 重新計算所有樣本點到質心的距離;5. 重復上述過程,直到初始的K個質心被選擇完成 ;按照Kmeans的演算法步驟完成聚類。
輸出:C= { , ... }
K均值演算法(Kmean)的優缺點 :
優點:1. 簡單直觀,抑鬱理解實現;2. 復雜度相對比較低,在K不是很大的情況下,Kmeans的計算時間相對很短;3. Kmean會產生緊密度比較高的簇,反映了簇內樣本圍繞質心的緊密程度的一種演算法。
缺點:1. 很難預測到准確的簇的數目;2. 對初始值設置很敏感(Kmeans++);3. Kmeans主要發現圓形或者球形簇,對不同形狀和密度的簇效果不好;4. Kmeans對雜訊和離群值非常敏感(Kmeadians對雜訊和離群值不敏感)
層次聚類(hierarchical clustering) :
· 主要在不同層次對數據集進行逐層分解,直到滿足某種條件為止;
· 先計算樣本之間的距離。每次將距離最近的點合並到同一個類,然後再計算類與類之間的距離,將距離最近的類合並為一個大類。不停的合並,直到合成一個類。
· 自底向上(bottom-up)和自頂向下(top-down)兩種方法:
top-down: 一開始每個個體都是一個初始的類,然後根據類與類之間的鏈接(linkage)尋找同類,最後形成一個最終的簇
bottom-up:一開始所有樣本都屬於一個大類,然後根據類與類之間的鏈接排除異己,打到聚類的目的。
類與類距離的計算方法 :
最短距離法,最長距離法,中間距離法,平均距離法
最小距離:
最大距離:
平均距離:
單鏈接(single-linkage):根據最小距離演算法
全連接(complete-linkage):根據最大距離演算法
均鏈接(average-linkage):根據平均距離演算法
凝聚層次聚類具體演算法流程:
1. 給定樣本集,決定聚類簇距離度量函數以及聚類簇數目k;2. 將每個樣本看作一類,計算兩兩之間的距離;3. 將距離最小的兩個類合並成一個心類;4.重新計算心類與所有類之間的距離;5. 重復(3-4),知道達到所需要的簇的數目
層次聚類的優缺點:
優點:1.可以得到任意形狀的簇,沒有Kmeans對形狀上的限制;2. 可以發現類之間的層次關系;3.不要制定簇的數目
缺點:1. 通常來說,計算復雜度高(很多merge/split);2.雜訊對層次聚類也會產生很大影響;3.不適合打樣本的聚類
密度聚類(density based clustering) :
` 基於密度的 方法的特點是不依賴於距離,而是依賴於密度,從而客服k均值只能發現「球形」聚簇的缺點
· 核心思想:只要一個區域中點的密度大於某個閾值,就把它加到與之相近的聚類中去
· 密度演算法從樣本密度的角度來考察樣本的可連接性,並基於可連接樣本不斷擴展聚類簇以獲得最終的聚類結果
· 對雜訊和離群值的處理有效
· 經典演算法:DBSCAN(density based spatial clutering of applications with noise)
DBSCAN 基於近鄰域(neighborhood)參數( )刻畫樣本分布的 緊密程度的一種演算法。
基本概念:
· 樣本集: D={ }
` 閾值:
· :對樣本點 的 包括樣本集中與 距離不大於 的樣本
· 核心對象(core object):如果 的 至少包含MinPts個樣本,那麼 就是一個核心對象 ,
假設MinPts=3,虛線標識為
·密度直達(directly density-reachable):如果 位於 的 中,並且 是和新對象,那麼 由 密度直達
· 密度可達(density-reachable):對 ,如果存在一串樣本點p1,p2.....pn = ,pn = ,且 由
` 密度直達,則稱 由 密度可達
· 密度相連:存在樣本集合中一點o,如果 和 均由O密度可達,那麼 和 密度相連
上圖中: 是核心對象,那麼從 出發, 由 密度直達; 由 密度可達; 與 密度相連。
DBSCAN演算法的過程:
1. 首先根據鄰域參數( )確定樣本集合D中所有的核心對象,存在集合P中。加入集合P的條件為 有不少於MinPts的樣本數。
2. 然後從核心對象集合P中任意選取一個核心對象作為初始點,找出其密度可達的樣本生成聚類簇,構成第一個聚類簇C1。
3. 將C1內多有核心對象從P中去除,再從更新後的核心對象集合任意選取下一個種子樣本。
4. 重復(2-3),直到核心對象被全部選擇完,也就是P為空集。
聚類演算法總結:
基於劃分的聚類:K均值(kmeans),kmeans++
層次聚類:Agglomerative聚類
密度聚類:DBSCAN
基於模型 的聚類:高斯混合模型(GMM),這篇博客里咩有介紹
雖然稀里糊塗,但是先跟下來再說吧:
Ⅵ 聚類分析法
聚類分析,亦稱群分析或點分析,是研究多要素事物分類問題的數量方法。其基本原理是,根據樣本自身的屬性,用數學方法按照某些相似性或差異性指標,定量地確定樣本之間的親疏關系,並按親疏關系的程度對樣本進行聚類(徐建華,1994)。
聚類分析方法,應用在地下水中,是在各種指標和質量級別標准約束條件下,通過樣品的各項指標監測值綜合聚類,以判別地下水質量的級別。常見的聚類分析方法有系統聚類法、模糊聚類法和灰色聚類法等。
(一)系統聚類法
系統聚類法的主要步驟有:數據標准化、相似性統計量計算和聚類。
1.數據標准化
在聚類分析中,聚類要素的選擇是十分重要的,它直接影響分類結果的准確性和可靠性。在地下水質量研究中,被聚類的對象常常是多個要素構成的。不同要素的數據差異可能很大,這會對分類結果產生影響。因此當分類要素的對象確定之後,在進行聚類分析之前,首先對聚類要素進行數據標准化處理。
假設把所考慮的水質分析點(G)作為聚類對象(有m個),用i表示(i=1,2,…,m);把影響水質的主要因素作為聚類指標(有n個),用j表示(j=1,2,…,n),它們所對應的要素數據可用表4-3給出。在聚類分析中,聚類要素的數據標准化的方法較多,一般採用標准差法和極差法。
表4-3 聚類對象與要素數據
對於第j個變數進行標准化,就是將xij變換為x′ij。
(1)總和標准化
區域地下水功能可持續性評價理論與方法研究
這種標准化方法所得的新數據x′ij滿足
區域地下水功能可持續性評價理論與方法研究
(2)標准差標准化
區域地下水功能可持續性評價理論與方法研究
式中:
由這種標准化方法所得的新數據x′ij,各要素的平均值為0,標准差為1,即有
區域地下水功能可持續性評價理論與方法研究
(3)極差標准化
區域地下水功能可持續性評價理論與方法研究
經過這種標准化所得的新數據,各要素的極大值為1,極小值為0,其餘的數值均在[0,1]閉區間內。
上述式中:xij為j變數實測值;xj為j變數的樣本平均值;sj為樣本標准差。
2.相似性統計量
系統聚類法要求給出一個能反映樣品間相似程度的一個數字指標,需要找到能量度相似關系的統計量,這是系統聚類法的關鍵。
相似性統計量一般使用距離系數和相似系數進行計算。距離系數是把樣品看成多維空間的點,用點間的距離來表示研究對象的緊密關系,距離越小,表明關系越密切。相似系數值表明樣本和變數間的相似程度。
(1)距離系數
常採用歐幾里得絕對距離,其中i樣品與j樣品距離dij為
區域地下水功能可持續性評價理論與方法研究
dij越小,表示i,j樣品越相似。
(2)相似系數
常見的相似系數有夾角餘弦和相關系數,計算公式為
1)夾角餘弦
區域地下水功能可持續性評價理論與方法研究
在式(4-20)中:-1≤cosθij≤1。
2)相關系數
區域地下水功能可持續性評價理論與方法研究
式中:dij為i樣品與j樣品的歐幾里得距離;cosθij為i樣品與j樣品的相似系數;rij為i樣品與j樣品的相關系數;xik為i樣品第k個因子的實測值或標准化值;xjk為j樣品第k個因子的實測值或標准化值;
3.聚類
在選定相似性統計量之後,根據計算結果構成距離或相似性系數矩陣(n×n),然後通過一定的方法把n個樣品組合成不同等級的分類單位,對類進行並類,即將最相似的樣品歸為一組,然後,把次相似的樣品歸為分類級別較高的組。聚類主要有直接聚類法、距離聚類法(最短距離聚類法、最遠距離聚類法)。
(1)直接聚類法
直接聚類法,是根據距離或相似系數矩陣的結構一次並類得到結果,是一種簡便的聚類方法。它首先把各個分類對象單獨視為一類,然後根據距離最小或相似系數最大的原則,依次選出一對分類對象,並成新類。如果一對分類對象正好屬於已歸的兩類,則把這兩類並為一類。每一次歸並,都劃去該對象所在的列與列序相同的行。經過n-1次把全部分類對象歸為一類,最後根據歸並的先後順序作出聚類分析譜系圖。
(2)距離聚類法
距離聚類法包括最短距離聚類法和最遠距離聚類法。最短距離聚類法具有空間壓縮性,而最遠距離聚類法具有空間擴張性。這兩種聚類方法關於類之間的距離計算可以用一個統一的公式表示:
區域地下水功能可持續性評價理論與方法研究
當γ=-0.5時,式(4-22)計算類之間的距離最短;當γ=0.5時,式(4-22)計算類之間的距離最遠。
最短、最遠距離法,是在原來的n×n距離矩陣的非對角元素中找出dpq=min(dij)或dpq=max(dij),把分類對象Gp和Gq歸並為一新類Gr,然後按計算公式:
dpq=min(dpk,dqk)(k≠ p,q) (4-23)
dpq=max(dpk,dqk)(k≠ p,q) (4-24)
計算原來各類與新類之間的距離,這樣就得到一個新的(n-1)階的距離矩陣;再從新的距離矩陣中選出最小或最大的dij,把Gi和Gj歸並成新類;再計算各類與新類的距離,直至各分類對象被歸為一類為止。最後綜合整個聚類過程,作出最短距離或最遠距離聚類譜系圖(圖4-1)。
圖4-1 地下水質量評價的聚類譜系圖
(二)模糊聚類法
模糊聚類法是普通聚類方法的一種拓展,它是在聚類方法中引入模糊概念形成的。該方法評價地下水質量的主要步驟,包括數據標准化、標定和聚類3個方面(付雁鵬等,1987)。
1.數據標准化
在進行聚類過程中,由於所研究的各個變數絕對值不一樣,所以直接使用原始數據進行計算就會突出絕對值大的變數,而降低絕對值小的變數作用,特別是在進行模糊聚類分析中,模糊運算要求必須將數據壓縮在[0,1]之間。因此,模糊聚類計算的首要工作是解決數據標准化問題。數據標准化的方法見系統聚類分析法。
2.標定與聚類
所謂標定就是計算出被分類對象間的相似系數rij,從而確定論域集U上的模糊相似關系Rij。相似系數的求取,與系統聚類分析法相同。
聚類就是在已建立的模糊關系矩陣Rij上,給出不同的置信水平λ(λ∈[0,1])進行截取,進而得到不同的分類。
聚類方法較多,主要有基於模糊等價關系基礎上的聚類與基於最大樹的聚類。
(1)模糊等價關系方法
所謂模糊等價關系,是指具有自反性(rii=1)、對稱性(rij=rji)與傳遞性(R·R⊆R)的模糊關系。
基於模糊等價關系的模糊聚類分析方法的基本思想是:由於模糊等價關系R是論域集U與自己的直積U×U上的一個模糊子集,因此可以對R進行分解,當用λ-水平對R作截集時,截得的U×U的普通子集Rλ就是U上的一個普通等價關系,也就是得到了關於U中被分類對象元素的一種。當λ由1下降到0時,所得的分類由細變粗,逐漸歸並,從而形成一個動態聚類譜系圖(徐建華,1994)。此類分析方法的具體步驟如下。
第一步:模糊相似關系的建立,即計算各分類對象之間相似性統計量。
第二步:將模糊相似關系R改造為模糊等價關系R′。模糊等價關系要求滿足自反性、對稱性與傳遞性。一般而言,模糊相似關系滿足自反性和對稱性,但不滿足傳遞性。因此,需要採用傳遞閉合的性質將模糊相似關系改造為模糊等價關系。改造的方法是將相似關系R自乘,即
R2=R·R
R4=R2·R2
︙
這樣計算下去,直到:R2k=Rk·Rk=Rk,則R′=Rk便是一個模糊等價關系。
第三步:在不同的截集水平下進行聚類。
(2)最大樹聚類方法
基於最大樹的模糊聚類分析方法的基本思路是:最大樹是一個不包含迴路的連通圖(圖4-2);選取λ水平對樹枝進行截取,砍去權重低於λ 的枝,形成幾個孤立的子樹,每一棵子樹就是一個類的集合。此類分析方法的具體步驟如下。
圖4-2 最大聚類支撐樹圖
第一步:計算分類對象之間的模糊相似性統計量rij,構建最大樹。
以所有被分類的對象為頂點,當兩點間rij不等於0時,兩點間可以用樹干連接,這種連接是按rij從大到小的順序依次進行的,從而構成最大樹。
第二步:由最大樹進行聚類分析。
選擇某一λ值作截集,將樹中小於λ值的樹干砍斷,使相連的結點構成一類,即子樹,當λ由1到0時,所得到的分類由細變粗,各結點所代表的分類對象逐漸歸並,從而形成一個動態聚類譜系圖。
在聚類方法中,模糊聚類法比普通聚類法有較大的突破,簡化了運算過程,使聚類法更易於掌握。
(三)灰色聚類法
灰色聚類是根據不同聚類指標所擁有的白化數,按幾個灰類將聚類對象進行歸納,以判斷該聚類對象屬於哪一類。
灰色聚類應用於地下水水質評價中,是把所考慮的水質分析點作為聚類對象,用i表示(i=1,2,…,n);把影響水質的主要因素作為聚類指標,用j表示(j=1,2,…,m),把水質級別作為聚類灰數(灰類),用k表示(k=1,2,3)即一級、二級、三級3個灰類(羅定貴等,1995)。
灰色聚類的主要步驟:確定聚類白化數、確定各灰色白化函數fjk、求標定聚類權重ηjk、求聚類系數和按最大原則確定聚類對象分類。
1.確定聚類白化數
當各灰類白化數在數量上相差懸殊時,為保證各指標間的可比性與等效性,必須進行白化數的無量綱化處理。即給出第i個聚類對象中第j個聚類指標所擁有的白化數,i=1,2,…,n;j=1,2,…,m。
2.確定各灰色白化函數
建立滿足各指標、級別區間為最大白化函數值(等於1),偏離此區間愈遠,白化函數愈小(趨於0)的功效函數fij(x)。根據監測值Cki,可在圖上(圖4-3)解析出相應的白化函數值fjk(Cik),j=1,2,…,m;k=1,2,3。
3.求標定聚類權重
根據式(4-25),計算得出聚類權重ηjk的矩陣(n×m)。
區域地下水功能可持續性評價理論與方法研究
式中:ηjk為第j個指標對第k個灰類的權重;λjk為白化函數的閾值(根據標准濃度而定)。
圖4-3 白化函數圖
註:圖4-3白化函數f(x)∈[0,1],具有下述特點:①平頂部分,表示該量的最佳程度。這部分的值為最佳值,即系數(權)為1,f(x)=max=1(峰值),x∈[x2,x3]。②白化函數是單調變化的,左邊部分f(x)=L(x),單調增,x∈(x1,x2],稱為白化的左支函數;右邊部分f(x)=R(x),單調減,x∈[x3,x4),稱為白化的右支函數。③白化函數左右支函數對稱。④白化函數,為了簡便,一般是直線。⑤白化函數的起點和終點,一般來說是人為憑經驗確定。
4.求聚類系數
σik=∑fjk(dij)ηjk (4-26)
式中:σik為第i個聚類對象屬於第k個灰類的系數,i=1,2,…,n;k=1,2,3。
5.按最大原則確定聚類對象分類
由σik構造聚類向量矩陣,行向量最大者,確定k樣品屬於j級對應的級別。
用灰色聚類方法進行地下水水質評價,能最大限度地避免因人為因素而造成的「失真、失效」現象。
聚類方法計算相對復雜,但是計算結果與地下水質量標准級別對應性明顯,能夠較全面反映地下水質量狀況,也是較高層次定量研究地下水質量的重要方法。
Ⅶ 在進行系統聚類分析時,不同的類間距離計算方法有何區別
聚類分析有兩種主要計算方法,分別是凝聚層次聚類(Agglomerative hierarchical method)和K均值聚類(K-Means)。
一、層次聚類
層次聚類又稱為系統聚類,首先要定義樣本之間的距離關系,距離較近的歸為一類,較遠的則屬於不同的類。可用於定義「距離」的統計量包括了歐氏距離 (euclidean)、馬氏距離(manhattan)、 兩項距離(binary)、明氏距離(minkowski)。還包括相關系數和夾角餘弦。
層次聚類首先將每個樣本單獨作為一類,然後將不同類之間距離最近的進行合並,合並後重新計算類間距離。這個過程一直持續到將所有樣本歸為一類為止。在計算類間距離時則有六種不同的方法,分別是最短距離法、最長距離法、類平均法、重心法、中間距離法、離差平方和法。
下面我們用iris數據集來進行聚類分析,在R語言中所用到的函數為hclust。首先提取iris數據中的4個數值變數,然後計算其歐氏距離矩陣。然後將矩陣繪制熱圖,從圖中可以看到顏色越深表示樣本間距離越近,大致上可以區分出三到四個區塊,其樣本之間比較接近。
data=iris[,-5]
dist.e=dist(data,method='euclidean')
heatmap(as.matrix(dist.e),labRow = F, labCol = F)
X
然後使用hclust函數建立聚類模型,結果存在model1變數中,其中ward參數是將類間距離計算方法設置為離差平方和法。使用plot(model1)可以繪制出聚類樹圖。如果我們希望將類別設為3類,可以使用cutree函數提取每個樣本所屬的類別。
model1=hclust(dist.e,method='ward')
result=cutree(model1,k=3) 為了顯示聚類的效果,我們可以結合多維標度和聚類的結果。先將數據用MDS進行降維,然後以不同的的形狀表示原本的分類,用不同的顏色來表示聚類的結果。可以看到setose品種聚類很成功,但有一些virginica品種的花被錯誤和virginica品種聚類到一起。