在資料分析中,瞭解變數之間的相似度和叢集之間的距離至關重要。對於連續變數,相似度計算會根據數值差異和範圍進行標準化,權重則根據距離閾值設定。二元變數和非二元類別變數的比較則根據值或類別的相同與否。叢集分析則提供了多種距離度量方法,包含最小距離、最大距離、平均距離和質心距離,適用於不同分析需求。層級聚類別法能揭示資料的層級結構,透過迭代合併相似叢集,最終形成單一叢集。不同的連結法,如單連結、完全連結、平均連結、重心連結和 Ward 法,則提供了多樣化的叢集合併策略,影響著最終的叢集結構。
變數間相似度與權重的計算方法
在計算變數間的相似度和權重時,我們需要考慮到變數的型別和分佈。以下是計算相似度 (s_{ijm}) 和權重 (w_{ijm}) 的步驟:
連續變數的相似度與權重計算
對於連續變數,相似度 (s_{ijm}) 可以透過以下公式計算:
[s_{ijm} = 1 - \frac{|x_{im} - x_{jm}|}{\max(x_m) - \min(x_m)}]
其中,(x_{im}) 和 (x_{jm}) 分別代表觀察 (i) 和 (j) 在變數 (m) 上的值,(\max(x_m)) 和 (\min(x_m)) 分別代表變數 (m) 的最大值和最小值。
權重 (w_{ijm}) 是一個二元權重,給定相應的距離。這意味著,如果兩個觀察在某個變數上的距離小於某個閾值,則給予較高的權重,否則給予較低的權重。
內容解密:
上述公式計算的是兩個觀察在某個連續變數上的相似度。相似度越高,表示兩個觀察在該變數上的值越接近。權重的設定則取決於實際的距離和閾值設定。這種計算方法可以幫助我們瞭解不同觀察之間在連續變數上的關係。
圖表翻譯:
flowchart TD A[觀察 i] -->|連續變數 m|> B[觀察 j] B --> C{計算相似度} C -->|是|> D[計算權重] C -->|否|> E[不計算權重] D --> F[更新權重] E --> F
圖表翻譯:
上述流程圖描述瞭如何根據連續變數計算兩個觀察之間的相似度和權重。首先,從觀察 (i) 和 (j) 的連續變數 (m) 的值開始,然後計算相似度 (s_{ijm})。如果需要,則進一步計算權重 (w_{ijm}),最後更新權重以反映觀察之間的關係。
這種方法可以用於分析不同觀察之間在連續變數上的關係,並且可以根據實際情況調整閾值和權重設定,以獲得更合適的結果。
變數比較方法
在進行資料分析時,瞭解變數之間的關係至關重要。以下是三種不同型別變數的比較方法:
1. 連續變數比較
對於連續變數,當兩個觀察值的變數 m
值均已知時,比較結果 s_ijm
= 1,否則若其中一個或兩個觀察值的 m
值未知,則 w_ijm
= 0。
2. 二元變數比較
對於二元變數,若兩個觀察值 x_im
和 x_jm
均為 1 時,則 s_ijm
= 1,否則 s_ijm
= 0。同樣地,若兩個觀察值均為 0 時,則 w_ijm
= 1,否則 w_ijm
= 0。
3. 非二元類別變數比較
對於非二元類別變數,若兩個觀察值屬於相同類別時,則 s_ijm
= 1,否則 s_ijm
= 0。這種比較方法有助於瞭解不同觀察值之間的類別相似性。
內容解密:
上述三種比較方法分別適用於連續變數、 二元變數和非二元類別變數。透過這些方法,可以對不同型別的變數進行有意義的比較和分析。例如,在醫學研究中,瞭解不同患者的臨床特徵(如年齡、性別等)之間的關係,可以幫助研究人員找出疾病的潛在風險因素。
flowchart TD A[資料型別] --> B[連續變數] A --> C[二元變數] A --> D[非二元類別變數] B --> E[比較方法:s_ijm = 1 or w_ijm = 0] C --> F[比較方法:s_ijm = 1 if x_im = x_jm = 1, otherwise s_ijm = 0] D --> G[比較方法:s_ijm = 1 if same category, otherwise s_ijm = 0]
圖表翻譯:
此圖表展示了不同資料型別與其對應的比較方法之間的關係。根據資料型別的不同,可以選擇適合的比較方法來分析變數之間的關係。這種視覺化呈現有助於更好地理解和運用這些比較方法。
16.3 測量兩個叢集之間的距離
定義一個叢集為一個或多個觀察值的集合。如何測量叢集之間的距離?其理念是將觀察值之間的距離度量延伸到叢集之間的距離。考慮叢集 A,包含 m 個觀察值 $A_1, A_2, \ldots, A_m$,以及叢集 B,包含 n 個觀察值 $B_1, B_2, \ldots, B_n$。有四種廣泛使用的叢集之間距離的度量:最小距離、最大距離、平均距離和質心距離。
最小距離
兩個叢集中最接近的一對觀察值之間的距離:
$$ \min_{i, j} \left( d(A_i, B_j) \right) $$
這種方法計算的是兩個叢集中最接近的兩個觀察值之間的距離。它對於識別兩個叢集是否有重疊或非常接近很有用。
內容解密:
上述公式中,$d(A_i, B_j)$ 代表觀察值 $A_i$ 和 $B_j$ 之間的距離。這個距離可以使用各種距離度量,如歐幾裡得距離、曼哈頓距離等。最小距離方法透過遍歷所有可能的觀察值配對來找到最小的距離。
最大距離
兩個叢集中最遠的一對觀察值之間的距離:
$$ \max_{i, j} \left( d(A_i, B_j) \right) $$
這種方法計算的是兩個叢集中最遠的兩個觀察值之間的距離。它對於識別兩個叢集是否完全分離很有用。
內容解密:
最大距離方法同樣需要遍歷所有可能的觀察值配對,但它關注的是最大距離而不是最小距離。這種方法可以幫助我們瞭解兩個叢集之間的最大差異。
平均距離
兩個叢集中所有觀察值之間的平均距離:
$$ \frac{1}{mn} \sum_{i=1}^{m} \sum_{j=1}^{n} d(A_i, B_j) $$
這種方法計算的是兩個叢集中所有觀察值之間的平均距離。它對於瞭解兩個叢集之間的整體相似性或差異性很有用。
內容解密:
平均距離方法需要計算所有可能的觀察值配對之間的距離,並將這些距離加總後除以配對數量。這種方法可以提供兩個叢集之間的平均差異程度。
質心距離
兩個叢集的質心(中心點)之間的距離:
$$ d(\text{centroid}(A), \text{centroid}(B)) $$
這種方法計算的是兩個叢集的質心之間的距離。它對於識別兩個叢集的中心位置是否接近或遠離很有用。
內容解密:
質心距離方法需要先計算每個叢集的質心,即所有觀察值的平均位置。然後,使用與前述相同的距離度量來計算這兩個質心之間的距離。
圖表翻譯:
flowchart TD A[叢集A] -->|最小距離|> B[叢集B] A -->|最大距離|> B A -->|平均距離|> B A -->|質心距離|> B
上述流程圖描述了四種不同方法用於計算叢集 A 和叢集 B 之間的距離。每種方法都有其特點和適用場景,選擇哪種方法取決於具體分析需求。
叢集分析中的距離度量
在叢集分析中,距離度量是一個重要的概念,用於衡量兩個觀察值或兩個叢集之間的相似度或差異度。距離度量的選擇會對叢集分析的結果產生重大影響。
最大距離
最大距離是指兩個叢集中最遠的兩個觀察值之間的距離。這個距離可以用以下公式表示:
max(distance(Ai, Bj)), i = 1, 2,…, m; j = 1, 2,…, n.
其中,Ai和Bj分別代表兩個叢集A和B中的觀察值,m和n分別代表兩個叢集中的觀察值數量。
平均距離
平均距離是指兩個叢集中所有可能的距離的平均值。這個距離可以用以下公式表示:
Average(distance(Ai, Bj)), i = 1, 2,…, m; j = 1, 2,…, n.
平均距離可以用於衡量兩個叢集之間的整體相似度或差異度。
叢集中心距離
叢集中心距離是指兩個叢集的中心之間的距離。叢集中心是指叢集中所有觀察值的變數平均值。例如,對於叢集A,叢集中心可以表示為:
xA = [(1/m ∑mi=1 xi)],
其中,xi代表叢集A中的觀察值,m代表叢集A中的觀察值數量。
內容解密:
在上述公式中,max(distance(Ai, Bj))
代表了兩個叢集中最遠的兩個觀察值之間的距離,這可以用於衡量兩個叢集之間的最大差異度。Average(distance(Ai, Bj))
代表了兩個叢集中所有可能的距離的平均值,這可以用於衡量兩個叢集之間的整體相似度或差異度。xA
代表了叢集A的中心,也就是叢集A中所有觀察值的變數平均值。
flowchart TD A[觀察值] --> B[計算距離] B --> C[最大距離] B --> D[平均距離] B --> E[叢集中心距離] C --> F[衡量最大差異度] D --> G[衡量整體相似度] E --> H[衡量叢集中心差異度]
圖表翻譯:
上述Mermaid圖表展示了距離度量在叢集分析中的應用流程。首先,從觀察值開始,計算兩個叢集之間的距離。然後,根據計算出的距離,可以得到最大距離、平均距離和叢集中心距離。這些距離度量可以用於衡量兩個叢集之間的差異度或相似度。最大距離可以用於衡量兩個叢集之間的最大差異度,平均距離可以用於衡量兩個叢集之間的整體相似度或差異度,叢集中心距離可以用於衡量兩個叢集中心之間的差異度。
16.3 測量兩個叢集之間的距離
在叢集分析中,瞭解兩個叢集之間的距離是非常重要的。這個距離可以用來評估叢集之間的相似度或差異度。有幾種方法可以用來計算兩個叢集之間的距離,包括最小距離、最大距離和質心距離。
最小距離
最小距離是指兩個叢集之間的最短距離。它是由兩個叢集中最接近的兩個點之間的距離決定。例如,假設我們有兩個叢集A和B,A叢集中有一個點x_A,B叢集中有一個點x_B,那麼最小距離就是x_A和x_B之間的距離。
最大距離
最大距離是指兩個叢集之間的最長距離。它是由兩個叢集中最遠的兩個點之間的距離決定。例如,假設我們有兩個叢集A和B,A叢集中有一個點x_A,B叢集中有一個點x_B,那麼最大距離就是x_A和x_B之間的距離。
質心距離
質心距離是指兩個叢集的質心之間的距離。質心是指叢集中所有點的平均位置。例如,假設我們有兩個叢集A和B,A叢集中有一些點{x_A1, x_A2,…, x_An},B叢集中有一些點{x_B1, x_B2,…, x_Bm},那麼A叢集的質心就是(x_A1 + x_A2 +… + x_An)/n,B叢集的質心就是(x_B1 + x_B2 +… + x_Bm)/m,質心距離就是這兩個質心之間的距離。
範例
假設我們有兩個叢集A和B,A叢集中有一些點{x_A1, x_A2},B叢集中有一些點{x_B1, x_B2, x_B3}。使用歐幾裡得距離計算每個距離,我們得到:
- 最小距離:0.76(Arizona和Commonwealth之間的距離)
- 最大距離:3.02(Arizona和Consolidated之間的距離)
- 平均距離:1.44
- 質心距離:A叢集的質心是[-0.516, -0.020],B叢集的質心是[(-0.7017 + 0.0839 - 1.5814)/3,…],質心距離就是這兩個質心之間的距離。
這些距離可以用來評估叢集之間的相似度或差異度。例如,如果兩個叢集之間的最小距離很小,那麼這兩個叢集可能很相似。如果兩個叢集之間的最大距離很大,那麼這兩個叢集可能很不同。
內容解密:
上述範例使用了歐幾裡得距離計算每個距離。歐幾裡得距離是指兩個點之間的直線距離。它是由以下公式計算:
d = sqrt((x2 - x1)^2 + (y2 - y1)^2)
其中d是兩個點之間的距離,(x1, y1)和(x2, y2)是兩個點的坐標。
圖表翻譯:
圖16.2展示了兩維空間中幾種不同的距離測量方法,包括最小距離、最大距離和質心距離。這些測量方法可以用來評估叢集之間的相似度或差異度。
flowchart TD A[計算最小距離] --> B[計算最大距離] B --> C[計算質心距離] C --> D[評估叢集相似度] D --> E[評估叢集差異度]
圖表說明:
上述流程圖展示了計算兩個叢集之間的距離的步驟。首先,計算最小距離和最大距離。然後,計算質心距離。最後,評估叢集相似度和差異度。
16.4 層級聚類別法(Hierarchical Clustering)
層級聚類別法是一種從個別觀察值開始,逐步合併最接近的聚類別,直到所有觀察值被合併成一個單一聚類別的過程。這種方法可以幫助我們瞭解資料之間的層級結構。
層級聚類別法演算法
- 初始化:每個觀察值作為一個單獨的聚類別。
- 合併:找到距離最小的兩個聚類別,並將它們合併成一個新的聚類別。
- 重複:重複步驟2,直到所有觀察值被合併成一個單一的聚類別。
單連結法(Single Linkage)
單連結法使用最小距離作為聚類別之間的距離衡量標準。也就是說,兩個聚類別之間的距離是由這兩個聚類別中最接近的兩個觀察值之間的距離來定義的。
層級聚類別法的優點
- 能夠處理非球形的聚類別。
- 能夠處理具有不同密度的聚類別。
- 能夠提供層級結構的視覺化。
層級聚類別法的缺點
- 計算複雜度高。
- 對初始值敏感。
- 難以選擇合適的距離衡量標準。
範例
假設我們有五個觀察值,分別是Arizona、Boston、Central、Commonwealth和Consolidated。使用層級聚類別法,我們可以得到以下結果:
- 初始化:每個觀察值作為一個單獨的聚類別。
- 合併:Arizona和Commonwealth被合併成一個新的聚類別,因為它們之間的距離最小。
- 合併:Boston和Central被合併成一個新的聚類別。
- 合併:Consolidated被合併到Arizona和Commonwealth的聚類別中。
- 合併:Boston和Central的聚類別被合併到Arizona、Commonwealth和Consolidated的聚類別中。
最終,我們得到一個單一的聚類別,包含所有五個觀察值。
16.4 層級(凝聚)聚類別法
在層級聚類別法中,我們首先計算每個觀察值之間的距離。以我們的公用事業例子為例,我們會計算 {Boston}、{Central} 和 {Consolidated} 與 {Arizona, Commonwealth} 之間的距離,以建立一個 4x4 的距離矩陣,如表 16.4 所示。
表 16.4:距離矩陣(Arizona 和 Commonwealth 合併後)
Arizona-Commonwealth | Boston | Central | Consolidated | |
---|---|---|---|---|
Arizona-Commonwealth | 0 | min(2.01,1.58) | min(0.77,1.02) | min(3.02,2.57) |
Boston | min(2.01,1.58) | 0 | 1.47 | 1.01 |
Central | min(0.77,1.02) | 1.47 | 0 | 2.43 |
Consolidated | min(3.02,2.57) | 1.01 | 2.43 | 0 |
接下來,我們會合併 {Central} 和 {Arizona, Commonwealth},因為這兩個群組之間的距離最短。然後,我們會重新計算距離矩陣(這次是 3x3),以此類別推。
這種方法傾向於在早期階段將彼此距離遙遠的觀察值聚類別在一起,因為它們之間有一系列中間觀察值。這種聚類別方式會產生長條狀的「香腸」形狀。
完全連結法
在完全連結法中,兩個群組之間的距離是最遠的觀察值之間的距離。如果我們使用完全連結法來處理五個公用事業的例子,重新計算的距離矩陣將與表 16.4 相同,除了「min」函式會被「max」取代。
這種方法傾向於在早期階段產生觀察值彼此之間距離範圍狹窄的群組。如果我們將這些群組視覺化為空間中的物體,它們的形狀將近似於球體。
平均連結法(ASDM:「群組平均連結法」)
平均連結法是根據群組之間所有可能觀察值對的平均距離。如果我們使用平均連結法來處理五個公用事業的例子,重新計算的距離矩陣將與表 16.4 相同,除了「min」函式會被「average」取代。
這種方法也被稱為未加權的配對群組方法使用平均值(UPGMA)。
重心連結法
重心連結法是根據重心距離,群組由其均值向量代表。兩個群組之間的距離是這兩個向量之間的距離。在平均連結法中,每一對觀察值的距離都會被計算,並計算所有這些距離的平均值。相比之下,在重心距離聚類別法中,只有一個距離被計算:群組均值之間的距離。
Ward 法
Ward 法也是凝聚法,它逐漸將觀察值和群組合併在一起,以產生越來越大的群組,但其運作方式與上述方法略有不同。Ward 法考慮當觀察值被聚類別在一起時所發生的「資訊損失」。當每個群組只有一個觀察值時,沒有資訊損失,所有個別值仍然可用。當觀察值被合併在一起並代表為群組時,個別觀察值的資訊被替換為群組均值。
Ward 法使用「誤差平方和」(ESS)來衡量個別觀察值和群組均值之間的差異。這最容易透過單變數資料來理解。例如,考慮數值 (2, 6, 5, 6, 2, 2, 2, 2, 0, 0, 0) 的均值為 2.5。其 ESS 等於:
(2 - 2.5)^2 + (6 - 2.5)^2 +… + (0 - 2.5)^2
這個過程會持續進行,直到所有觀察值都被合併成一個單一的群組。
16.4 層級式(凝聚式)聚類別法
層級式聚類別法是一種從個別觀察值開始,逐步合併相似觀察值的方法。這種方法可以用於建立一個樹狀圖(dendrogram),以顯示聚類別過程和結果。
資訊損失與聚類別
當我們將觀察值分組時,會有一定的資訊損失。資訊損失是指在合併觀察值時,丟失了原始觀察值之間的差異性。例如,假設我們有10個觀察值,分別為0、0、0、2、2、2、2、5、6、6。如果我們將這些觀察值分成一個群組,則資訊損失為50.5。
現在,假設我們將這10個觀察值分成四個群組:(0, 0, 0)、(2, 2, 2, 2)、(5)、(6, 6)。則資訊損失為0,因為每個群組中的觀察值都相等於該群組的均值。
沃德法(Ward’s Method)
沃德法是一種層級式聚類別法,它試圖在合併群組時,盡量減少資訊損失。這種方法傾向於產生凸形群組,且群組大小大致相等。
###樹狀圖(Dendrogram)
樹狀圖是一種樹狀結構的圖表,用於顯示聚類別過程和結果。在樹狀圖的底部是個別觀察值或群組。在上面的例子中,我們可以看到樹狀圖中有10個子群組。
聚類別過程
聚類別過程可以透過樹狀圖來顯示。最初,每個觀察值都是一個單獨的群組。然後,根據距離的大小,相似的觀察值被合併成一個群組。這個過程繼續進行,直到所有觀察值被合併成一個群組。
子群組的形成
子群組的形成過程可以透過樹狀圖來顯示。例如,在上面的例子中,觀察值12和21首先被合併成一個子群組(sub-cluster 1)。然後,觀察值10和13被合併成另一個子群組(sub-cluster 10)。這個過程繼續進行,直到所有觀察值被合併成一個群組。
結果
最終的結果是一個樹狀圖,顯示了聚類別過程和結果。透過樹狀圖,我們可以看到不同子群組之間的距離和相似性。這有助於我們瞭解資料之間的關係和結構。
內容解密:
- 層級式聚類別法是一種從個別觀察值開始,逐步合併相似觀察值的方法。
- 資訊損失是指在合併觀察值時,丟失了原始觀察值之間的差異性。
- 沃德法是一種層級式聚類別法,它試圖在合併群組時,盡量減少資訊損失。
- 樹狀圖是一種樹狀結構的圖表,用於顯示聚類別過程和結果。
圖表翻譯:
下面的Mermaid圖表顯示了層級式聚類別法的過程:
graph LR A[個別觀察值] --> B[合併相似觀察值] B --> C[形成子群組] C --> D[繼續合併] D --> E[最終形成一個群組]
這個圖表顯示了層級式聚類別法的基本過程,從個別觀察值開始,逐步合併相似觀察值,最終形成一個群組。
從技術架構視角來看,本文探討了多種計算變數間相似度、權重及叢集距離的方法,涵蓋連續變數、二元變數和非二元類別變數等不同資料型別。文章詳細闡述了最小距離、最大距離、平均距離、質心距離以及單連結法、完全連結法、平均連結法、重心連結法和 Ward 法等多種層級聚類別法,並分析了各自的優缺點和適用場景。然而,這些方法並非萬能,例如單連結法易受「鏈式效應」影響,而完全連結法則可能導致過於緊密的叢集。此外,距離度量的選擇也會顯著影響聚類別結果,需要根據實際資料特性謹慎選擇。展望未來,隨著資料規模和複雜度的提升,更高效、更魯棒的叢集分析演算法將成為研究熱點,例如根據密度的聚類別方法和根據圖的聚類別方法等。對於資料科學家而言,深入理解不同叢集分析方法的原理和侷限性,並結合實際應用場景選擇合適的演算法和距離度量,才能更好地挖掘資料價值,避免分析陷阱。