十個(gè)技巧,讓你成為“降維”專家
大數(shù)據(jù)文摘出品
來源:PLOS
編譯:啤酒泡泡、劉兆娜、李雷、sirin、邢暢、武帥、錢天培
在分析高維數(shù)據(jù)時(shí),降維(Dimensionality reduction,DR)方法是我們不可或缺的好幫手。
作為數(shù)據(jù)去噪簡(jiǎn)化的一種方法,它對(duì)處理大多數(shù)現(xiàn)代生物數(shù)據(jù)很有幫助。在這些數(shù)據(jù)集中,經(jīng)常存在著為單個(gè)樣本同時(shí)收集數(shù)百甚至數(shù)百萬個(gè)測(cè)量值的情況。
由于“維度災(zāi)難”(curse of dimensionality)的存在,很多統(tǒng)計(jì)方法難以應(yīng)用到高維數(shù)據(jù)上。雖然收集到的數(shù)據(jù)點(diǎn)很多,但是它們會(huì)散布在一個(gè)龐大的、幾乎不可能進(jìn)行徹底探索的高維空間中。
通過降低數(shù)據(jù)的維度,你可以把這個(gè)復(fù)雜棘手的問題變得簡(jiǎn)單輕松。除去噪音但保存了所關(guān)注信息的低維度數(shù)據(jù),對(duì)理解其隱含的結(jié)構(gòu)和模式很有幫助。原始的高維度數(shù)據(jù)通常包含了許多無關(guān)或冗余變量的觀測(cè)值。降維可以被看作是一種潛在特征提取的方法。它也經(jīng)常用于數(shù)據(jù)壓縮、數(shù)據(jù)探索以及數(shù)據(jù)可視化。
雖然在標(biāo)準(zhǔn)的數(shù)據(jù)分析流程中已經(jīng)開發(fā)并實(shí)現(xiàn)了許多降維方法,但它們很容易被誤用,并且其結(jié)果在實(shí)踐中也常被誤解。
本文為從業(yè)者提供了一套有用的指南,指導(dǎo)其如何正確進(jìn)行降維,解釋其輸出并傳達(dá)結(jié)果。
技巧1:選擇一個(gè)合適的方法
當(dāng)你想從現(xiàn)有的降維方法中選擇一種進(jìn)行分析時(shí),可用的降維方法的數(shù)量似乎令人生畏。事實(shí)上,你不必拘泥于一種方法;但是,你應(yīng)該意識(shí)到哪些方法適合你當(dāng)前的工作。
降維方法的選擇取決于輸入數(shù)據(jù)的性質(zhì)。比如說,對(duì)于連續(xù)數(shù)據(jù)、分類數(shù)據(jù)、計(jì)數(shù)數(shù)據(jù)、距離數(shù)據(jù),它們會(huì)需要用到不同的降維方法。你也應(yīng)該用你的直覺和相關(guān)的領(lǐng)域知識(shí)來考慮收集到的數(shù)據(jù)。通常情況下,觀測(cè)可以充分捕獲臨近(或類似)數(shù)據(jù)點(diǎn)之間的小規(guī)模關(guān)系,但并不能捕獲遠(yuǎn)距離觀測(cè)之間的長(zhǎng)期相互作用。對(duì)數(shù)據(jù)的性質(zhì)和分辨率的考慮是十分重要的,因?yàn)榻稻S方法可以還原數(shù)據(jù)的整體或局部結(jié)構(gòu)。一般來說,線性方法如主成分分析(Principal Component Analysis, PCA)、對(duì)應(yīng)分析(Correspondence Analysis, CA)、多重對(duì)應(yīng)分析(Multiple Correspondence Analysis, MCA)、經(jīng)典多維尺度分析(classical multidimensional scaling, cMDS)也被稱為主坐標(biāo)分析(Principal Coordinate Analysis, PCoA) 等方法,常用于保留數(shù)據(jù)的整體結(jié)構(gòu);而非線性方法,如核主成分分析(Kernel Principal Component Analysis, Kernel PCA)、非度量多維尺度分析(Nonmetric Multidimensional Scaling, NMDS)、等度量映射(Isomap)、擴(kuò)散映射(Diffusion Maps)、以及一些包括t分布隨機(jī)嵌入(t-Distributed Stochastic Neighbor Embedding, t-SNE)在內(nèi)的鄰近嵌入技術(shù),更適合于表達(dá)數(shù)據(jù)局部的相互作用關(guān)系。NE技術(shù)不會(huì)保留數(shù)據(jù)點(diǎn)之間的長(zhǎng)期相互作用關(guān)系,其可視化報(bào)告中的非臨近觀測(cè)組的排列并沒有參考價(jià)值。因此,NE的圖表不應(yīng)該被用于數(shù)據(jù)的大規(guī)模結(jié)構(gòu)的推測(cè)。有關(guān)線性和非線性降維方法的綜述可分別參考如下兩篇文章。
相關(guān)鏈接:
- https://scholar.google.com/scholar?q=Linear+Dimensionality+Reduction%3A+Survey%2C+Insights%2C+and+Generalizations+Cunningham+2015
- https://arxiv.org/abs/1803.02432)
如果你的觀測(cè)值帶有類別標(biāo)簽,并且你的目標(biāo)是將觀測(cè)值分類到已知的與其最匹配的類別中去時(shí),則可以考慮使用監(jiān)督降維技術(shù)。監(jiān)督降維技術(shù)包括偏最小二乘法(Partial Least Squares, PLS)、線性判別分析(Linear Discriminant Analysis, LDA)、近鄰成分分析(Neighborhood Component Analysis)和Bottleneck神經(jīng)網(wǎng)絡(luò)分類器。與之前提到的非監(jiān)督降維方法不同的是,非監(jiān)督方法并不知道觀測(cè)值所屬的類別,而監(jiān)督降維方法可以直接利用類別信息把相同標(biāo)簽的數(shù)據(jù)點(diǎn)聚集到一起。
對(duì)于收集多領(lǐng)域數(shù)據(jù)的情況,例如基因表達(dá)、蛋白質(zhì)組學(xué)以及甲基化的數(shù)據(jù),你可能需要先將降維技術(shù)分別應(yīng)用到每張數(shù)據(jù)表中,然后再使用普魯克變換(Procrustes transformation,相關(guān)鏈接:https://onlinelibrary.wiley.com/doi/abs/10.1002/bs.3830070216)或是其他可以將多個(gè)數(shù)據(jù)集整合的方法,如用于多個(gè)表的聯(lián)合分析方法(稱為STATIS);和用于多個(gè)距離矩陣的聯(lián)合分析(稱為DisTATIS,相關(guān)鏈接:)(詳細(xì)信息請(qǐng)參考技巧9)。表1給出了降維技術(shù)的基本屬性的分類和總結(jié)。為了幫助從業(yè)者,我們也把本文討論過的降維技術(shù)的實(shí)現(xiàn)方法總結(jié)到表2中。
表1.降維方法
表2.案例實(shí)現(xiàn)
技巧2:對(duì)連續(xù)型和計(jì)數(shù)型輸入數(shù)據(jù)進(jìn)行預(yù)處理
在應(yīng)用降維技術(shù)之前,先對(duì)數(shù)據(jù)進(jìn)行適當(dāng)?shù)念A(yù)處理通常十分必要。例如,數(shù)據(jù)中心化,變量的觀測(cè)值減去該變量觀測(cè)值的平均值,就是主成分分析處理連續(xù)數(shù)據(jù)的必要步驟,并且在大多數(shù)標(biāo)準(zhǔn)實(shí)現(xiàn)中是默認(rèn)應(yīng)用的。另一種常用的數(shù)據(jù)轉(zhuǎn)換方法則是縮放,將變量的每一個(gè)測(cè)量值乘以一個(gè)縮放因子,使得縮放后的變量的方差為1??s放處理保證了每一個(gè)變量都產(chǎn)生等價(jià)的貢獻(xiàn),這對(duì)于那些包含具有高度可變范圍或不同單位異構(gòu)的數(shù)據(jù)集尤其重要,如患者臨床數(shù)據(jù),環(huán)境因素?cái)?shù)據(jù)等。
當(dāng)所有變量的單位都相同時(shí),如在高通量測(cè)定中,則不建議進(jìn)行方差標(biāo)準(zhǔn)化,因?yàn)檫@會(huì)導(dǎo)致強(qiáng)信號(hào)特征的收縮以及無信號(hào)特征的膨脹。根據(jù)具體的應(yīng)用、輸入數(shù)據(jù)的類型、使用的降維方法,可能會(huì)需要用到其他的數(shù)據(jù)變換方法。舉個(gè)例子,如果數(shù)據(jù)的變化具有可乘性,比如你的變量測(cè)定的是百分比的增加或減少,那么你應(yīng)該考慮在使用主成分分析之前對(duì)該其進(jìn)行對(duì)數(shù)變換。在處理基因組測(cè)序數(shù)據(jù)時(shí),需要先解決兩個(gè)問題,才能進(jìn)行數(shù)據(jù)降維。***個(gè)問題:每個(gè)序列樣本都有一個(gè)大小不同的庫(也稱為測(cè)序深度),這是一個(gè)人為的區(qū)分觀測(cè)值的討厭參數(shù)。為了讓觀測(cè)值之間可比較,需要先使用特定的方法(如DESeq2,edgeR)估算出一個(gè)樣本大小的因子,然后用對(duì)應(yīng)的樣本中的每個(gè)觀測(cè)值去除以這個(gè)因子,將樣本標(biāo)準(zhǔn)化;第二個(gè)問題:分析數(shù)據(jù)往往會(huì)表現(xiàn)出均值-方差的正相關(guān)趨勢(shì),即高均值意味著高方差。該情況下,需要使用方差穩(wěn)定變換去調(diào)節(jié)這種影響,使其避免傾向于較多的特征。對(duì)于那些服從負(fù)二項(xiàng)分布的計(jì)數(shù)數(shù)據(jù),如序列計(jì)數(shù),則推薦使用反雙曲函數(shù)正弦變換或者類似的方法[28-30]。對(duì)于高通量數(shù)據(jù),樣本標(biāo)準(zhǔn)化和方差穩(wěn)定化相結(jié)合的辦法是高吞吐量數(shù)據(jù)的有效的預(yù)處理步驟。
技巧3:正確處理含有分類變量的輸入數(shù)據(jù)
在許多情況下,可用的測(cè)量不是數(shù)值的,而是定性的或分類的。對(duì)應(yīng)的數(shù)據(jù)變量表示類別,而不是數(shù)值數(shù)量,例如表型、隊(duì)列成員、樣本測(cè)序運(yùn)行、調(diào)查應(yīng)答評(píng)級(jí)等。當(dāng)關(guān)注點(diǎn)是兩個(gè)分類變量的水平(不同的值)之間的關(guān)系時(shí),對(duì)應(yīng)分析(CA)會(huì)用于分析列聯(lián)表中類別的共現(xiàn)頻率。如果有兩個(gè)以上的分類變量時(shí),多重對(duì)應(yīng)分析(MCA)可以用來分析觀測(cè)點(diǎn)之間的關(guān)系以及變量類別之間的聯(lián)系。多重對(duì)應(yīng)分析是對(duì)應(yīng)分析的泛化,其本質(zhì)就是將對(duì)應(yīng)分析應(yīng)用到一個(gè)將分類變量獨(dú)熱編碼(one-hot encoding)的指示矩陣中。當(dāng)輸入數(shù)據(jù)既包括數(shù)值變量又包括分類變量時(shí),則有兩種策略可用。如果只有少數(shù)幾個(gè)分類變量,那么可以對(duì)數(shù)值變量進(jìn)行主成分分析處理,分類變量每個(gè)水平的平均值則可以通過投影為補(bǔ)充點(diǎn)(不加權(quán))。另一方面,如果這個(gè)混合數(shù)據(jù)集包含大量的分類變量,則可以使用多因子分析法(MFA)。這個(gè)方法是對(duì)數(shù)值變量使用主成分分析,對(duì)分類變量使用多因子分析,然后加權(quán)并合并變量組的結(jié)果。
處理分類或混合數(shù)據(jù)的另一種方法是采用“***量化”的思想,利用PCA(即主成分分析法,下文直接采用PCA)對(duì)變量進(jìn)行轉(zhuǎn)換。由于目標(biāo)是***化方差,故傳統(tǒng)PCA只能對(duì)數(shù)值型變量實(shí)行降維,不能作用在分類變量上。要想對(duì)定類(無序)或定序(有序)分類變量實(shí)行PCA降維,一種方式是將方差替換成由基于各類別的頻數(shù)計(jì)算出的卡方距離(如在對(duì)應(yīng)分析中),或者可以在執(zhí)行PCA之前進(jìn)行適當(dāng)?shù)淖兞孔儞Q。這里提供兩種變量變換的方式:一種是將分類變量虛擬化編碼為二分類特征;另一種是使用***縮放分類主成分分析法(CATPCA)。***縮放法的原理是將原有的分類變量進(jìn)行類別量化,從而轉(zhuǎn)換成新變量的方差***化。通過***縮放可以將分類主成分分析轉(zhuǎn)化成***化問題,通過成分得分、成分加載和成分量化的交替變換,經(jīng)過不斷迭代使得量化后的數(shù)據(jù)和主成分之間的平方差最小。
***縮放的一個(gè)優(yōu)點(diǎn)是它無需預(yù)先假定變量之間存在線性關(guān)系。 實(shí)際上,即使輸入數(shù)據(jù)都是數(shù)值型時(shí),分類主成分分析法在處理變量之間非線性關(guān)系的能力也很重要。 因此,當(dāng)變量之間存在非線性關(guān)系且標(biāo)準(zhǔn)PCA只能解釋方差的低比例時(shí),***縮放法提供了可能的補(bǔ)救措施。
技巧4:使用嵌入方法降低輸入數(shù)據(jù)的相關(guān)性和相異性
在既沒有可用的定量特征也沒有可用的定性特征時(shí),用相異性(或相關(guān)性)度量的數(shù)據(jù)點(diǎn)之間的關(guān)系可以采用低維嵌入的方法進(jìn)行降維。即使可以進(jìn)行可變測(cè)量,計(jì)算相異性和使用基于距離的方式也是一種有效的方法。但要,你要確保你選擇了一個(gè)能夠***地概括數(shù)據(jù)特征的相異度量標(biāo)準(zhǔn)。例如,如果源數(shù)據(jù)是二進(jìn)制的,那就不能使用歐幾里德距離,這時(shí)選擇曼哈頓距離更好。但是,如果特征是稀疏,則應(yīng)該優(yōu)選Jaccard距離。
經(jīng)典多尺度分析(cMDS)、主坐標(biāo)分析(PCoA)和非度量多尺度分析(NMDS)使用成對(duì)數(shù)據(jù)之間的差異性來找到歐幾里德空間中的嵌入,從而實(shí)現(xiàn)對(duì)所提供距離的***近似。盡管經(jīng)典多尺度分析(cMDS)是一種類似于主成分分析(PCA)的矩陣分解方法,但非度量多尺度分析(NMDS)是一種力求僅保留相異性排序的優(yōu)化技術(shù)。當(dāng)對(duì)輸入距離值的置信度較低時(shí),后一種方法更適用。當(dāng)相異性數(shù)據(jù)是非標(biāo)準(zhǔn)的、定性數(shù)據(jù)時(shí),可以使用更專業(yè)的序數(shù)嵌入方法,可以參考Kleindessner和von Luxburg的詳細(xì)討論。當(dāng)使用基于優(yōu)化的多維縮放(MDS)時(shí),可以選擇僅通過局部交互將最小化問題限制在從數(shù)據(jù)點(diǎn)到其鄰居(例如,k-最近鄰)的距離。該方法稱為“局部”MDS。
相異性也可以用作t分布隨機(jī)嵌入(t-SNE)的輸入。與局部MDS類似,t分布隨機(jī)嵌入(t-SNE)專門用于于表示短程交互。然而,該方法通過使用小尾的高斯核函數(shù)將所提供的距離轉(zhuǎn)換為鄰近度量,從而以不同的方式實(shí)現(xiàn)了局部性。目前,已經(jīng)開發(fā)了一種基于神經(jīng)網(wǎng)絡(luò)的詞向量(word2vec) 方法,該方法使用相似性數(shù)據(jù)(共現(xiàn)數(shù)據(jù))來生成連續(xù)歐幾里德空間中的對(duì)象的向量嵌入。 事實(shí)證明,這項(xiàng)技術(shù)在從由文本語料庫衍生的數(shù)據(jù)中生成單詞嵌入方面非常有效。 但是,這些高級(jí)計(jì)算方法的魯棒性尚未在很多生物數(shù)據(jù)集上進(jìn)行廣泛測(cè)試。
技巧5:有意識(shí)地決定要保留的維數(shù)
在對(duì)數(shù)據(jù)進(jìn)行降維時(shí),關(guān)鍵問題是選擇一個(gè)合適的新維度的數(shù)量。這一步?jīng)Q定了能否在在降維后的數(shù)據(jù)中捕獲到感興趣的信號(hào),降維時(shí)維度數(shù)量的選擇在統(tǒng)計(jì)分析或機(jī)器學(xué)習(xí)任務(wù)如聚類之前的數(shù)據(jù)預(yù)處理步驟中尤為重要。即使你的主要目標(biāo)是進(jìn)行數(shù)據(jù)可視化,但是由于可視化時(shí)一次只能顯示兩個(gè)或三個(gè)軸,你仍要選擇降維后要保留的合適的新維度數(shù)量。例如,如果前兩個(gè)或三個(gè)主成分對(duì)方差的解釋不足時(shí),就應(yīng)該保留更多的成分,在這種時(shí)候就需要對(duì)成分的多種組合進(jìn)行可視化(例如,成分1與成分2,成分2與成分4,成分3與成分5之間的對(duì)比等)。在某些情況下,***信息是一個(gè)復(fù)雜的因子,并且有用的信息被高階成分捕獲。在這種情況,就必須使用高階成分來顯示其模式。
要保留的***維度數(shù)很大程度上取決于數(shù)據(jù)本身。在了解數(shù)據(jù)之前,您無法確定正確的輸出維度數(shù)。請(qǐng)記住,***的維度數(shù)量是數(shù)據(jù)集中記錄數(shù)(行數(shù))和變量數(shù)(列數(shù))的最小值。例如,如果你的數(shù)據(jù)集包含10,000個(gè)基因的表達(dá)式,但只有10個(gè)樣本,則降維時(shí)行不能超過10個(gè)(如果輸入數(shù)據(jù)已居中,則為9個(gè))。對(duì)于基于光譜分解的降維方法,例如主成分分析(PCA)或主坐標(biāo)分析(PCoA),你可以根據(jù)特征值的分布情況來進(jìn)行維度的選擇。在實(shí)踐中,人們?cè)谧鰶Q定時(shí)通常依賴于碎石圖“scree plot”(見圖1)和“肘部法則(也稱為拐點(diǎn)法則)”。碎石圖直觀展示了輸出結(jié)果中的每個(gè)特征的值,或者等價(jià)地展示,每個(gè)特征如一個(gè)成分對(duì)方差的解釋比例。通過觀察圖形,你能夠找到一個(gè)拐點(diǎn),這個(gè)位置的特征的值比它之前緊挨著它的位置的值顯著下降?;蛘?,你可以觀察特征值的直方圖,并從所有特征中找出“脫穎而出”的值比較大的特征。馬爾琴科—巴斯德分布(Marchenko-Pastur distribution)在形式上近似地模擬了大量隨機(jī)矩陣的奇異值的分布。因此,對(duì)于記錄數(shù)量和特征數(shù)量都很大的數(shù)據(jù)集,你使用的規(guī)則是只保留擬合的馬爾琴科—巴斯德分布支持之外的特征值;但請(qǐng)記住,這僅在數(shù)據(jù)集至少包含數(shù)千個(gè)樣本和數(shù)千個(gè)特征的情況下才可用。
圖1.碎石圖
根據(jù)優(yōu)化方法,特征值可用于確定保留多少維度是充分的。根據(jù)“肘部規(guī)則”,可以選擇要保留的維度的數(shù)量。在上面的示例中,你應(yīng)該保留前五個(gè)主成分。
對(duì)于非優(yōu)化方法,通常在降維之前預(yù)先指定成分的數(shù)量。當(dāng)使用這些方法時(shí),可以通過迭代的方法不斷增加維度的數(shù)量,并評(píng)估每次迭代中增加的維度是否能夠使損失函數(shù)顯著減小,來最終選擇降維時(shí)要保留的成分的數(shù)量。例如t分布隨機(jī)嵌入的情況下,由KL散度(KL)定義的輸入變量和輸出變量之間的轉(zhuǎn)換概率。理想情況下,你肯定愿意你的發(fā)現(xiàn)(例如,可視化中觀察到的模式)對(duì)維度數(shù)量的選擇具有魯棒性。
技巧6:在可視化時(shí)使用正確的寬高比
可視化是數(shù)據(jù)探索過程的重要組成部分。因此,你生成的DR圖能否準(zhǔn)確反映降維方法的輸出至關(guān)重要。關(guān)于可視化,一個(gè)重要但經(jīng)常被忽視的屬性是其寬高比。2D(和3D)圖的高度和寬度(以及深度)之間的比例關(guān)系可以強(qiáng)烈影響你對(duì)數(shù)據(jù)的感知; 因此,DR圖應(yīng)遵循與顯示的輸出軸所解釋的相對(duì)信息量相一致的寬高比。
在PCA或PCoA的情況下,每個(gè)輸出維度都具有相應(yīng)特征值,該特征值與其所代表的方差值成比例。如果圖表的高寬比是任意的,則不能獲得數(shù)據(jù)的完整圖像。由于用于分析生物數(shù)據(jù)的流行軟件通常默認(rèn)生成方形(2D)或立方形(3D)的圖形,因此高寬相等的二維PCA圖很常見,但也經(jīng)常使人產(chǎn)生誤解。其實(shí),PCA圖表的高寬比應(yīng)與相應(yīng)特征值之間的比率相一致。由于特征值反映了相關(guān)主成分坐標(biāo)的變化,因此只需要確保在圖表中,一個(gè)PC方向上的單位長(zhǎng)度與另一PC方向單位長(zhǎng)度相同。(如果你使用ggplot2 R軟件包來生成圖表,添加+ coords_fixed(1)將確保正確的寬高比。)
我們用圖2所示的模擬示例來說明寬高比問題。在矩形(圖2A)和正方形(圖2B)圖中,寬高比與PC1和PC2坐標(biāo)的方差不一致; 結(jié)果是明顯地將數(shù)據(jù)點(diǎn)(錯(cuò)誤地)分組到圖表的頂部和底部。相反,圖2C,垂直兩軸的長(zhǎng)度比與相應(yīng)特征值之間的比率一致,因此可以顯示正確的分組,與真實(shí)的分類一致。
圖2. PCA圖的寬高比
兩個(gè)模擬高斯群集投射在***和第二個(gè)主成分上。矩形(a)和方形(b)圖中的寬高比不正確。將(c,d)圖中的寬高比進(jìn)行校正,其中調(diào)整圖表的高度和寬度以匹配PC1和PC2坐標(biāo)中的方差。(d)圖中顯示的顏色表示真正的高斯分組關(guān)系。Dim1,維度1; Dim2,維度2; PC,主成分; PCA,主成分分析。
在許多基于優(yōu)化的降維方法中,維度的排序沒有意義。例如,在t-SNE的情況下,你可以在生成新的數(shù)據(jù)表示之前選擇輸出維度的個(gè)數(shù)(通常為兩個(gè)或三個(gè))。與主成分不同,t-SNE的各維度是無序且同等重要的,因?yàn)樗鼈冊(cè)谕ㄟ^優(yōu)化算法的最小化損失函數(shù)中具有相同的權(quán)重。因此,對(duì)于t-SNE,通常的做法是使投影圖形為正方形或立方形。
技巧7:理解新維度的含義
許多線性DR方法,包括PCA和CA,都為觀測(cè)值和變量提供了約化表示。特征映射(Feature maps)或相關(guān)性圓圖(correlation circles)可用于確定哪些原始變量彼此相互關(guān)聯(lián),或與新生成的輸出維度相關(guān)聯(lián)。特征向量之間的夾角或與PC軸之間的夾角包含如下信息:兩個(gè)夾角大約在0°(180°)的向量,其相應(yīng)的變量間的關(guān)系也是是密切正(或負(fù))相關(guān)的,而具有90°夾角的兩個(gè)向量可以看作相對(duì)獨(dú)立的。
圖3A展示了具有變量投影的縮放坐標(biāo)的相關(guān)性圓圖。該圖表明PC1的高值表示“Flav”(類黃酮)和“Phenols”(總酚類)中的低值以及“Malic Acid”( 蘋果酸)和“AlcAsh”(灰分的堿度)中的高值。此外,“AlcAsh”(灰分的堿度)水平似乎與“NonFlav Phenols”(非黃烷類酚)密切負(fù)相關(guān)并且與“Alcohol”(酒精)水平無關(guān)。
圖3.變量的投影
葡萄酒數(shù)據(jù)集上的PCA顯示了怎樣用變量的表示來理解新維度的含義。相關(guān)性圓圖(a)和PC1貢獻(xiàn)圖(b)。AlcAsh,灰分的堿度; Dim1,維度1; Dim2,維度2; Flav,黃酮類; NonFlav Phenols,非黃烷類酚類; OD,OD280 / OD315稀釋的葡萄酒; PC,主成分; PCA,主成分分析; Phenols,總酚類; Proa,原花青素。
可以用貢獻(xiàn)條形圖來展示原始變量對(duì)新維度的重要性。變量對(duì)給定新軸線的貢獻(xiàn)為其坐標(biāo)平方(在此軸線上)與相應(yīng)的所有變量總和之比; 該比率通常用百分比表示。許多程序?qū)⒆兞康呢暙I(xiàn)作為標(biāo)準(zhǔn)輸出; 不僅可以為單個(gè)軸線定義貢獻(xiàn)值,還可以通過對(duì)選定成分相對(duì)應(yīng)的值求和為多個(gè)DR軸定義貢獻(xiàn)值。圖3B顯示的是變量對(duì)PC1的百分比貢獻(xiàn); 請(qǐng)注意,百分比貢獻(xiàn)不包含關(guān)聯(lián)方向的信息。當(dāng)使用高通量分析等高維數(shù)據(jù)集時(shí),數(shù)千個(gè)或更多變量的貢獻(xiàn)條圖就不實(shí)用了; 相反,你可以限制圖表的取值,僅顯示具有***貢獻(xiàn)的前幾個(gè)(例如,20個(gè))特征。
變量和觀測(cè)值可以包含在同一圖形中 - 稱為“雙時(shí)隙”。這個(gè)術(shù)語是由Kuno Ruben Gabriel 于1971年創(chuàng)造的,但是Jolicoeur和Mosimann早在1960年就提出了類似的觀點(diǎn)。如圖4所示的雙時(shí)隙圖可以同時(shí)展示數(shù)據(jù)樣本和特征的趨勢(shì); 同時(shí)查看兩者,你可能會(huì)發(fā)現(xiàn)類似(近距離)觀察的組,這些觀測(cè)值對(duì)于某些測(cè)量變量具有高值或低值(更多詳細(xì)信息,請(qǐng)參見技巧8)。
圖4. 主成分雙標(biāo)圖
葡萄酒數(shù)據(jù)集的單時(shí)隙圖將樣本和變量的投影組合到前兩個(gè)主成分中。AlcAsh,灰分的堿度; Dim1,維度1; Dim2,維度2; Flav,黃酮類; NonFlav Phenols,非黃烷類酚類; OD,OD280 / OD315稀釋的葡萄酒; PCA,主成分分析; Phenols,總酚類; Proa,原花青素。
技巧8:找到隱藏的信號(hào)
降維的主要目標(biāo)是壓縮數(shù)據(jù),同時(shí)保留大部分有意義的信息。數(shù)據(jù)壓縮簡(jiǎn)化了理解數(shù)據(jù)的過程,因?yàn)楹?jiǎn)化的數(shù)據(jù)表達(dá)可以更有效地獲知數(shù)據(jù)變化的主要來源。其目的是找到能夠成功揭示數(shù)據(jù)底層結(jié)構(gòu)的“隱藏變量”。最常見的潛在模式是離散集群或連續(xù)梯度。
在前一種情況下,相似的觀察結(jié)果遠(yuǎn)離其他群體。圖***顯示了一個(gè)模擬集群數(shù)據(jù)集的例子。當(dāng)執(zhí)行聚類分析時(shí),目的是分析樣本的組別,通常的做法是首先應(yīng)用主成分分析。更具體地說,實(shí)踐者經(jīng)常使用一組頂部的PC(例如,50個(gè))作為集群算法的輸入。主成分分析所帶來的維度的減少是一個(gè)數(shù)據(jù)降噪步驟,因?yàn)轫敳刻卣飨蛄繎?yīng)該包含所有感興趣的信號(hào)。遺憾的是,該屬性并未擴(kuò)展到所有降維方法。鄰域嵌入技術(shù)(如t-SNE)產(chǎn)生的輸出不應(yīng)用于聚類,因?yàn)樗鼈兗炔荒鼙3志嚯x也不能保持密度——這兩個(gè)量在解釋聚類輸出時(shí)都非常重要。
圖5.潛在結(jié)構(gòu)
主成分分析圖中的觀測(cè)值可分為組(a)或遵循連續(xù)梯度(b)。Dim1,維度1;Dim2,維度2;PCA即主成分分析法
與離散集群不同,數(shù)據(jù)中的連續(xù)變化不太容易被識(shí)別。了解如何識(shí)別和準(zhǔn)確解釋潛在梯度非常重要,因?yàn)樗鼈兘?jīng)常出現(xiàn)在與未知連續(xù)過程相關(guān)的生物數(shù)據(jù)中。當(dāng)數(shù)據(jù)點(diǎn)沒有分離成不同的聚類,而是從一個(gè)極端向另一個(gè)極端逐漸移動(dòng)時(shí),梯度就出現(xiàn)了;它們通常在數(shù)據(jù)降維的可視化中以平滑曲線的形式出現(xiàn)。值得注意的是,當(dāng)PCA和cMDS(PCoA)應(yīng)用于涉及線性梯度的數(shù)據(jù)時(shí),數(shù)據(jù)點(diǎn)通常以呈現(xiàn)出馬蹄形或弓形。當(dāng)相關(guān)特征向量由于計(jì)算中使用的數(shù)據(jù)協(xié)方差或距離矩陣的性質(zhì)而呈現(xiàn)特定形式時(shí),特別是當(dāng)這些矩陣可以表示為中心對(duì)稱的Kac-Murdock-Szego矩陣時(shí),PCA和cMDS圖中就會(huì)出現(xiàn)“馬蹄效應(yīng)”。
你可以在圖5B中看到具有潛在梯度的模擬數(shù)據(jù)的這種模式的示例。當(dāng)觀測(cè)隨著時(shí)間的推移而進(jìn)行時(shí),經(jīng)常會(huì)遇到連續(xù)躍遷;例如,細(xì)胞發(fā)育的文獻(xiàn)中有大量介紹分析pseudotime的方法的文章,pseudotime是細(xì)胞分化或發(fā)育過程中觀察到的一種梯度??梢杂卸鄠€(gè)梯度影響數(shù)據(jù),在不同方向可以記錄一個(gè)穩(wěn)定的變化。然而,觀測(cè)到的連續(xù)梯度背后的變量可能是未知的。在這種情況下,你應(yīng)該通過檢查任何可用的外部協(xié)變量的值之間的差異,集中精力找出梯度端點(diǎn)(極值)處的觀測(cè)值之間的差異(參見技巧7)。否則,你可能需要收集關(guān)于數(shù)據(jù)集中樣本的其他信息,以研究這些差異的解釋。
其他連續(xù)測(cè)量值(不用于數(shù)據(jù)降維計(jì)算的測(cè)量值)通常是根據(jù)數(shù)據(jù)集中包含的觀測(cè)值獲取的。額外的信息可以用來提高對(duì)數(shù)據(jù)的理解。使用外部協(xié)變量的最簡(jiǎn)單和最常見的方法是將它們包含在數(shù)據(jù)降維的可視化中——它們的值被編碼為繪圖上相應(yīng)點(diǎn)的顏色、形狀、大小甚至透明度。這方面的一個(gè)例子如圖6A所示:葡萄酒屬性數(shù)據(jù)集的主成分分析嵌入,其中數(shù)據(jù)點(diǎn)按葡萄酒類別著色,這是數(shù)據(jù)降維所忽視的一個(gè)變量。觀察到的葡萄酒分組表明,用于降維的13種葡萄酒特性可以很好地表征葡萄酒類別。“葡萄酒數(shù)據(jù)集”可從加州大學(xué)歐文分校(University of California Irvine ,UCI)機(jī)器學(xué)習(xí)數(shù)據(jù)庫中獲取。
圖6.使用外部信息
(a)對(duì)葡萄酒數(shù)據(jù)集的PCA樣本投影顯示,根據(jù)葡萄酒的特性,葡萄酒往往與葡萄品種分類一致:內(nèi)比奧羅(Nebbiolo)、格里諾利諾(Grignolino)和巴貝拉(Barbera)。(b)主成分分析雙標(biāo)圖(biplot)可以用來找出哪一組葡萄酒具有較高的哪一種性質(zhì)。Dim1,維度1;Dim2,維度2;主成分分析。
有時(shí),根據(jù)新計(jì)算的特征直接繪制外部變量是顯示數(shù)據(jù)變化趨勢(shì)的有效方法。例如,連續(xù)變量(例如患者的年齡或體重)的散點(diǎn)圖與所選輸出維度的坐標(biāo)之間的關(guān)系顯示所選協(xié)變量與新特征之間的相關(guān)性。如果外部信息是分類的而不是連續(xù)的,則可以為變量的每一級(jí)生成PC坐標(biāo)的箱線圖(例如PC1、PC2或其他)。
外部信息也可以合并到雙標(biāo)圖(bioplots)中。圖6B顯示了將觀察到的外部信息與根據(jù)原始變量對(duì)新坐標(biāo)軸的解釋相結(jié)合 (如技巧7所述)。你可以發(fā)現(xiàn)“Barbera”葡萄酒往往含有較高的“蘋果酸”和較低的“黃烷酸”,而“Grignolinos”往往含有較低的“灰分”和“酒精”含量。
此外,外部信息可用于發(fā)現(xiàn)批次效應(yīng)。批次效應(yīng)是技術(shù)或系統(tǒng)的變異來源,它掩蓋了感興趣的主要信號(hào)。它們經(jīng)常出現(xiàn)在測(cè)序數(shù)據(jù)中,其中來自相同測(cè)序運(yùn)行(lane)的樣品聚集在一起。因?yàn)榕涡?yīng)會(huì)混淆感興趣的信號(hào),所以在進(jìn)行進(jìn)一步的下游分析之前,***檢查它們的存在,如果發(fā)現(xiàn),則將其移除。你可以通過數(shù)據(jù)降維嵌入圖來檢測(cè)技術(shù)或系統(tǒng)變化,該嵌入圖中的數(shù)據(jù)點(diǎn)按批次成員資格進(jìn)行著色,例如按測(cè)序運(yùn)行、籠號(hào)、研究隊(duì)列進(jìn)行著色。如果發(fā)現(xiàn)批次效應(yīng),你可以通過移動(dòng)所有觀察值來移除它,方法是每個(gè)批處理的質(zhì)心(組的重心)移動(dòng)到繪圖的中心(通常是坐標(biāo)系的原點(diǎn))。
技巧9:利用多域數(shù)據(jù)
有時(shí),我們對(duì)于對(duì)于同一組樣本,會(huì)獲取一組以上的測(cè)量值;例如,高通量基因組研究就經(jīng)常涉及到多個(gè)領(lǐng)域的數(shù)據(jù)。對(duì)于相同的生物樣品,我們可以獲取到它的微陣列基因表達(dá)、微核糖核酸表達(dá)、蛋白質(zhì)組學(xué)和脫氧核糖核酸甲基化等一系列數(shù)據(jù)。通過集成多個(gè)數(shù)據(jù)集,你可以獲得更精確的高階交互表示,并評(píng)估與之相關(guān)的可變性。由于不同區(qū)域的數(shù)據(jù)受到不同的變動(dòng)率或波動(dòng)率的影響,樣本往往表現(xiàn)出不同程度的不確定性。
處理“多域”數(shù)據(jù)(也可稱作為“多模態(tài)”、“多向”、“多視角”或“多組學(xué)”數(shù)據(jù))的一種方法是分別對(duì)每個(gè)數(shù)據(jù)集執(zhí)行數(shù)據(jù)降維,然后使用普魯克變換將它們對(duì)齊在一起—平移、縮放和旋轉(zhuǎn)的組合,以盡可能緊密地將不同數(shù)據(jù)結(jié)構(gòu)對(duì)齊。許多更先進(jìn)的方法也被開發(fā)出來,例如STATIS和DiSTATIS分別是PCA和經(jīng)典MDS的推廣。這兩種方法都用于分析在同一組觀測(cè)數(shù)據(jù)上獲取的多個(gè)數(shù)據(jù)集,并且都基于將數(shù)據(jù)集組合成一個(gè)稱為“折中”的共同共識(shí)結(jié)構(gòu)的思想。
所以的數(shù)據(jù)集都可以投影到這個(gè)共識(shí)空間。單個(gè)數(shù)據(jù)集的投影可以幫助觀察來自不同領(lǐng)域的數(shù)據(jù)所描述的觀察中的不同模式。圖7顯示了DiSTATIS在5個(gè)模擬距離表上對(duì)20個(gè)合成數(shù)據(jù)點(diǎn)的使用示例。不同的顏色對(duì)應(yīng)不同的數(shù)據(jù)點(diǎn),不同的形狀對(duì)應(yīng)不同的距離表。數(shù)據(jù)表之間的“折中點(diǎn)”用較大的菱形標(biāo)記表示。有關(guān)多表數(shù)據(jù)分析的詳細(xì)研究,重點(diǎn)是生物多組學(xué)數(shù)據(jù)集,可以請(qǐng)參見Meng及其同事的相關(guān)研究結(jié)果。
圖7.多域數(shù)據(jù)
為同一觀測(cè)值定義的多個(gè)距離表上的DiSTATIS。可以從不同的數(shù)據(jù)類型(例如,基因表達(dá)、甲基化、臨床數(shù)據(jù))或從已知的數(shù)據(jù)生成分布中重新采樣的數(shù)據(jù)來計(jì)算多個(gè)距離。
技巧10:檢查結(jié)果的魯棒性并量化不確定性
如圖8所示,對(duì)于某些數(shù)據(jù)集而言,PCA的 PC定義是不明確的,即連續(xù)兩個(gè)或多個(gè)PC可能具有非常相似的方差,并且相應(yīng)的特征值也幾乎完全相同,如圖8所示。盡管由這些分量共同組成的子空間是有意義的,但特征向量(即PC)并不能單獨(dú)提供信息,而且它們的載荷也不能單獨(dú)解釋,因?yàn)榧词故且粋€(gè)觀察點(diǎn)中的微小變化也會(huì)導(dǎo)致完全不同的特征向量集。在這種情況下,我們說這些pc是不穩(wěn)定的。相似特征值對(duì)應(yīng)的維度應(yīng)該一起理解而不能單獨(dú)解釋。
圖8.不穩(wěn)定的特征值
當(dāng)多個(gè)特征值近乎相等時(shí),PCA表示是不穩(wěn)定的。PCA,principal component analysis,即主成分分析。
使用需要指定參數(shù)的技術(shù)時(shí),還應(yīng)根據(jù)不同的參數(shù)設(shè)置檢查結(jié)果的穩(wěn)定性。例如,在運(yùn)行t-SNE時(shí),你需要為困惑度選擇一個(gè)值,不同的值甚至可能定性地改變結(jié)果。當(dāng)困惑度被設(shè)置為非常小的值時(shí),常會(huì)形成“人工聚類”。不應(yīng)該使用t-SNE目標(biāo)函數(shù)的值即KL散度作為選擇“***困惑度”的標(biāo)準(zhǔn),因?yàn)殡S著困惑度值的增加,KL散度總是單調(diào)減小。對(duì)于t-SNE,Cao和Wang在提出了用于選擇困惑度的貝葉斯信息準(zhǔn)則(BIC)類型規(guī)則。然而由于t-SNE的穩(wěn)定性理論還沒有開發(fā)出來,在實(shí)踐中,應(yīng)該針對(duì)一系列輸入?yún)?shù)重復(fù)降維計(jì)算,并直觀地評(píng)估所發(fā)現(xiàn)的模式在不同規(guī)格中是否一致。尤其是當(dāng)困惑度值的微小增加導(dǎo)致聚類模式消失時(shí),你得到的分類可能只是參數(shù)選擇不合適帶來的錯(cuò)誤結(jié)果。
另一個(gè)需要關(guān)注的問題是方法面對(duì)異常值時(shí)的穩(wěn)定性。一般來說,遠(yuǎn)離中心的觀察點(diǎn)對(duì)PC的影響要大于靠近中心的觀察點(diǎn);有時(shí)數(shù)據(jù)中的一小部分樣本幾乎決定了PC。
你應(yīng)該注意這樣的情況,并驗(yàn)證降維方法捕獲的結(jié)構(gòu)是否能代表大部分?jǐn)?shù)據(jù),而不僅僅是少數(shù)異常值。在降維圖中,異常值是遠(yuǎn)離大多數(shù)觀測(cè)值的點(diǎn)。在PCA和其他線性方法中,如果樣本投影圖中的所有點(diǎn)都位于原點(diǎn)即圖的中心附近,只有一兩個(gè)點(diǎn)位于很遠(yuǎn)的地方,降維結(jié)果將被異常值控制。應(yīng)該使用特定數(shù)據(jù)質(zhì)量控制指標(biāo)對(duì)這些點(diǎn)進(jìn)行檢驗(yàn),并考慮將其刪除。
如果刪除了樣本,則需要重新進(jìn)行降維計(jì)算,并且應(yīng)注意輸出表示中的更改。通過比較去除異常值前后的降維可視化,觀察觀察點(diǎn)的變化。你不僅應(yīng)該考慮刪除異常值,還應(yīng)該考慮刪除異常組,即與多數(shù)數(shù)據(jù)有很大不同的異常類。除去異常組并重新進(jìn)行降維計(jì)算,得到適合大部分?jǐn)?shù)據(jù)的模式。另一方面,如果數(shù)據(jù)集中包含許多異常觀測(cè),則應(yīng)使用穩(wěn)定的方法,比如健壯的核主成分分析。
此外,可以通過構(gòu)建“引導(dǎo)”數(shù)據(jù)集來估計(jì)與觀察點(diǎn)相關(guān)的不確定性,即用替換方法重采樣觀察點(diǎn)以生成數(shù)據(jù)的隨機(jī)子集。“引導(dǎo)”集可以看作是多路數(shù)據(jù),使用技巧8中描述的STATIS或Procrustes對(duì)齊方法匹配隨機(jī)子集。當(dāng)數(shù)據(jù)的真實(shí)噪聲模型可用時(shí),可以生成數(shù)據(jù)點(diǎn)的副本,而不需要使用自舉子樣本。通過擾動(dòng)樣本的測(cè)量值,并應(yīng)用技巧9中提到的STATIS或DiSTATIS方法生成“折中方案”和每個(gè)受干擾的數(shù)據(jù)副本的坐標(biāo)。獲取每個(gè)數(shù)據(jù)點(diǎn)的多個(gè)估計(jì)值后就可以估計(jì)它的不確定性。你可以使用密度等值線或通過將每個(gè)引導(dǎo)程序投影中的所有數(shù)據(jù)點(diǎn)繪制到折中方案上來顯示DR嵌入圖上每個(gè)樣本的不確定性。圖9表示兩個(gè)模擬數(shù)據(jù)集的PCA投影的Procrustes比對(duì)。彩色線表示自舉子集輸出坐標(biāo)的密度等值線,菱形標(biāo)記對(duì)應(yīng)于全部數(shù)據(jù)的投影坐標(biāo)。圖中繪制了20個(gè)合成數(shù)據(jù)點(diǎn),這些數(shù)據(jù)點(diǎn)分別來自2維高斯分布和5維高斯分布,均正交投影到10維。我們可以觀察到低秩數(shù)據(jù)點(diǎn)的不確定性要小得多,即前2個(gè)PC能更好地代表***個(gè)數(shù)據(jù)集。
圖9.數(shù)據(jù)點(diǎn)的不確定性
每個(gè)數(shù)據(jù)點(diǎn)的降維輸出坐標(biāo)的穩(wěn)定性。 使用Procrustes變換將兩個(gè)10維模擬數(shù)據(jù)集的bootstrap樣本投影到前兩個(gè)PC對(duì)齊,其中(a)中數(shù)據(jù)秩為2、(b)中數(shù)據(jù)秩為5。 較小的圓形標(biāo)記對(duì)應(yīng)于每個(gè)bootstrap試驗(yàn),較大的菱形標(biāo)記是整個(gè)數(shù)據(jù)集的坐標(biāo)。DR,dimensionality reduction,即降維;PC,principal component,即主成分。
結(jié)語
在分析高維數(shù)據(jù)時(shí),降維非常有用,有時(shí)甚至是必不可少的。盡管降維方法被廣泛采用,但經(jīng)常被誤用或誤解?,F(xiàn)有方法的降維方法五花八門,更不用說其中一些方法還有著各種不同的相異度指標(biāo)和參數(shù)設(shè)置。這十項(xiàng)技巧可以為從業(yè)者提供一個(gè)檢查表或作為一個(gè)非正式的指南。我們描述了執(zhí)行有效降維的一般步驟,并給出了正確解釋和充分理解降維算法輸出的方法。這里討論的大部分建議都適用于所有降維方法,但部分建議是針對(duì)特定降維方法的。
除了上述內(nèi)容,我們還想提供一條額外的建議:跟蹤你所做出的的所有決策,包括選擇的方法、選擇的距離或內(nèi)核以及使用的參數(shù)值。R、IPython和Jupyter notebook允許生成包含敘述文本、代碼及其輸出的完整分析報(bào)告,是保存所有步驟以及獲得結(jié)果方便的方法。記錄你的選擇是可重復(fù)研究的關(guān)鍵部分;它允許其他人復(fù)制你所獲得的結(jié)果,并在你下次處理類似數(shù)據(jù)時(shí)加快分析過程。我們提供了在S1 Text文本中使用R-markdown生成的可重現(xiàn)報(bào)告的示例和其代碼文件。
相關(guān)報(bào)道:
https://journals.plos.org/ploscompbiol/article id=10.1371/journal.pcbi.1006907
【本文是51CTO專欄機(jī)構(gòu)大數(shù)據(jù)文摘的原創(chuàng)文章,微信公眾號(hào)“大數(shù)據(jù)文摘( id: BigDataDigest)”】