天天看點

走進大資料之拓撲資料分析方法

拓撲資料分析(tda),顧名思義,就是把拓撲學與資料分析結合的一種分析方法,用于深入研究大資料中潛藏的有價值的關系。

相比于主成分分析、聚類分析這些常用的方法,tda不僅可以有效地捕捉高維資料空間的拓撲資訊,而且擅長發現一些用傳統方法無法發現的小分類。這種方法也是以曾在基因與癌症研究領域大顯身手。

走進大資料之拓撲資料分析方法

1.什麼是拓撲資料分析

拓撲學研究的是一些特殊的幾何性質,這些性質在圖形連續改變形狀後還能繼續保持不變,稱為“拓撲性質”。而在複雜的高維資料内部也存在着類似的結構性質,我們可以形象地稱之為資料的形狀(特征)。

和通常研究的成對關系相比,這種互相關系的形狀之中可能潛藏了巨大的研究價值。要了解資料的形狀,就必須求助于拓撲學。tda所做的就是抽取這種形狀并進行分析。

那麼到底如何來刻畫資料的形狀呢?下圖是一個簡單的例子:

走進大資料之拓撲資料分析方法

左邊是一隻手的采樣資料點,宏觀看來像一隻手。右邊則是經過拓撲資料分析得到的圖,有點像一隻手的骨架。從左邊到右邊,就是一次形狀重構的過程。這種重構用了很少量的點和邊去刻畫原始資料集,同時保留了原始資料的基本特征。

2.拓撲資料分析的三個要點

1)tda的輸入可以是一個距離矩陣,表示任意兩資料點之間的距離。

它研究的是與坐标無關的形狀,完全不受坐标的限制。這也意味着拓撲形狀的建構依賴于距離函數的定義,或者說相似度概念的定義。坐标無關的特性,使得tda可以整合來自不同平台的資料,盡管這些資料的結構不太一樣,你隻需要給出合理的距離函數。這是tda的一個優點,通用性。

舉個例子,tda在癌症分析領域的成功,這種通用性是一個重要原因。因為不同癌症資料集的名額、結構都不盡相同,而tda可以輕松整合。

2)tda研究的資料形狀,可以容忍資料小範圍的變形與失真。

想象在一塊橡皮上寫了一個字母”a”,你用力擠壓拉扯這塊橡皮,字母”a”雖然有點扭曲變形,但是“一個三角形帶兩個腳”這樣的基本特征仍然存在。從上面“手”的例子也可以看出,tda對小誤差的容忍度很大。

3)如果我們要粗略的描繪一個湖泊輪廓,最簡潔的就是使用一個多邊形。

拓撲處理的是抽象的形狀,最典型的例子就是用六邊形來表示圓,這隻需要用到6個點和6條邊。

tda使用這種形式壓縮資料,用有限的點和邊來表示大量的資料,并且保留了資料重要的特征。

3.拓撲資料分析的主要步驟

用一個濾波函數對每個資料點計算一個濾波值。這個濾波函數可以是資料矩陣的線性投影,比如pca。也可以是距離矩陣的密度估計或者中心度名額,比如l-infinity(l-infinity的取值是該點到離它最遠的點的距離,是一個中心度名額)。

資料點按照其濾波值,從小到大被分到不同的濾波值區間裡。參照下圖中“手”被切成等寬的塊。但需要注意的是,相鄰的濾波值區間設定有一定的重疊區域,也就是重疊區域的點同時屬于兩個區間(這一點很重要)。

對每個區間裡的資料分别做聚類。

把上一步驟中各區間聚類的得到的小類放在一起,每一個小類用一個大小不同的圓表示。若兩個類之間存在相同的原始資料點(這就是區間需要互相重疊的原因),則在它們之間加上一條邊。

對上述圓和邊組成的圖形施加一層力學布局,讓其達到平衡,就得到最終的“資料圖形”。

下圖是一個簡單的示意圖,便于了解:

走進大資料之拓撲資料分析方法
走進大資料之拓撲資料分析方法

4.案例:ayasdi公司關于nba球員的研究

有一份關于nba球員的資料集,這份資料集編碼了球員在場上表現的各個方面,包括籃闆、助攻、失誤、搶斷、封鎖、犯規、得分等各項名額的每分鐘頻率。對這份資料集進行拓撲化後,得到了下面這張圖。

走進大資料之拓撲資料分析方法

籃球運動員的位置一般分為控球後衛、得分後衛、小前鋒、大前鋒、中鋒。然而在上圖的網絡中,我們看到了比傳統的五個位置更為精細的結構。比如在網絡的左側,守衛被細分成了三個組,攻擊守衛、防守守衛、擊球守衛。在網絡的中下部我們可以看到三個比較小的塊,其中有“nba全明星”(allstar nba) 和“nba全明星第二梯隊”(allstar nba 2nd team)。

“nba全明星”這個組幾乎由nba曆史上最優秀的球員組成,“第二梯隊”雖然也都是由全能的優秀球員組成但表現上可能不如全明星組。

有意思的是,在全明星組中還有一些不太知名的球員,這些球員也許就是潛在的未來明星球員。

本文作者:楊曉東

來源:51cto

繼續閱讀