Proximity(鄰近)是聚類中一個重要的概念。拿到一個n*p的數據矩陣后(n個
為了得到鄰近度(proximity),可以通過直接和間接的方法。所謂直接的方法,
我們得分別考慮分類數據,連續數據,和混合數據。
首先是categorical data(分類數據),這類數據中的變量的取值是離散的有限個。其中最特殊的是二分的數據,即各個變量的取值非零即一。計算較為簡單,兩個樣本的各個變量的比較無非四種情況:1-1,1-0,0-1,0-0。分別計數成 a,b,c,d。其中唯一需要注意的是0-0是否要被算作“相同”,基于不同情況可以
對于連續數據,就需要定義一個距離(distance, dissimilarity)的量度了。這個量度d(i,j)需要滿足三角不等式。即對于任何的樣本點i,j,m有 :d(i,j)+d(j,m)>=d(i,m),而d(i,i)=0。常用的量度方法
最后是混合數據的情況。當連續數據和分類數據混合在一起的時候,有兩種對策:一是將各個變量二分,然后使用二分數據計算相似性量度的方法;二是,對每種變量,分別構建一個相異性的量度,然后可以結合權重或不結合,將它們混在一起構成一個系數。值得記下來的是Gower的general similarity measure:
s_{ij}=frac{sum_{k=1}^{p}w_{ijk}s_{ijk}}{sum_{k=1}^{p}w_{ijk}}其中w_{ijk}是權重,一般設為0或1,代表該數據點是否可用。s_{ijk}是
s_{ij}=1-|x_{ik}-x_{jk}|/R_{k}R_{k}是第k個變量的幅度(range)。這個general similarity measure在沒有丟失數據的情況下可以使用3.6公式對應為歐幾里得的距離矩陣。
?
接下來的議題是如何計算組與組之間的鄰近度。有兩個基本的方法可供選擇。
一是,從鄰近矩陣出發,利用兩組的樣本之間的距離值來計算。比如用兩組間最小的樣本距離值來表示(nearest neighbour distance),最大的距離值(furthest neighbour distance),或者用兩組樣本之間所有距離的平均值來表示。這三種技術分別對應于single linkage(單連鎖)聚類,complete linkage(全連鎖)聚類和group average(組平均)聚類。
另一種方法是,通過組內數據的統計性質得到一個可以代表該組的觀察量,然后用它們之間的距離表示組與組之間的距離。最容易想到的方法是計算各個變量的平均值,以它們來表示整個組。更合適的做法是利用上組內的統計性質。如 Mahalanobis距離(P46,公式3.13),它利用了兩組數據內部的協方差
關于權重的選擇。給變量加上權重相當于指定變量的重要性。這種指定可以是由研究者給出或者由數據矩陣數據中(not 距離矩陣)計算得出。對后者的最普遍的想法是讓權重反比于對應變量可變化性。這個可變化性(variability)可
方法一:通過估算類內部的變化性來決定權重的方法。這種方法是權重選擇中效果最好的。當得到估計的類內部的變化性后,比如協方差矩陣后,可以方便地使用前面提到的Mahalanobis公式計算兩點間的距離。由Art等人于1982年提出
方法二:后來Gnanadesikan 于1995年進一步發展了這個方法,估算一個類間的協方差矩陣B^{*},用diag(B^{*})(diag(W^{*}))^{
方法三:De Soete提出這樣為每個變量找到權重,使權重后的歐幾里得距離最小化某個標準使得其偏離超測度(ultrametricity)。這種方法傾向于優
方法四:變量選擇。主旨是找出一個原來變量的子集進行后續的聚類研究。這種做法的例子是Fowlkes等在1988年發明的正向選擇方法。結果是對于選中的
Gnanadesikan等在1995年的評價中指出:1、相同的權重,標準差權重,
對權重選擇的一些建議:1、主觀的確定變量的權重往往反映了數據已存在的分類,因此對聚類分析沒有幫助;2、沒有一個絕對好的權重選擇方法,方法的好壞往往取決于未知的類結構,盡管如此,大多數時候應該選擇上面提到的方法二,而流行的一股腦的把所有的變量都放進分析中(相同權重)或是使用標準差計算權重的方法似乎沒有效果。
另一個重要的問題是標準化,因為常常各個變量是在不同的測度不同的單位和標準下測量的。當所有的變量都是連續的測度下測得的,常常計算變量的標準差,然后簡單的使各個變量單位化再進行分析(autoscaling,or standard scoring)。另一個方法則是對每個變量除以它們各自的變化范圍(range),
關于鄰近度度量方法的選擇。方法太多了,沒有一個絕對的適用于任何情況的選擇,但有些注意點得記住:1、數據的性質會很強的影響到量度方法的選擇;2、數據的測度影響方法的選擇,如是否是二分的數據,是樣本的大小(size) 重要還是形狀(shape)重要等等;3、聚類方法與系數的選取存在聯系。
在多變量研究中常遇到的問題是,某些數據會有遺失。最簡單(但最好的)的處理方法是只是用沒有數據遺失的那些樣本進行聚類分析。另一種方法是使用 Gower′s general similarity measure來構建鄰近度矩陣,但如果單個樣本遺失的數據較多,這樣建立的鄰近度矩陣就變得不可信,最好還是扔掉這個樣本!根據統計信息估算丟失的值不是值得推薦的辦法。為了估計這些值,用全局的統計信息是不合適的,最好當然是使用類內部的統計信息,因此有了步進的流程來計算這些值。先使用沒有丟失數據的樣本聚類,然后將丟失數據的樣本歸入某些類中(e.g.依據可以使用的那些變量),接著計算類內部的統計性質,給丟失的數據賦值,最后再拿這所有的樣本變量聚類并重復最后的兩步直到賦的值和類結構不再變化。實際應用中可以使用多種估算方法,如果各種方法給出的值差不多,則可以有信心的使用估算丟失值的處理方法。
凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
、轉載請注明來處和原文作者。非常感謝。