前言
在microbiome analysis中梨睁,有著大量的A触机,諸如PCA,PCoA,RDA,CCA,ICA之類的棵帽,網(wǎng)上介紹每一種的文章都十分的多,但是將它們放在一起比較并且講得比較明白的文章卻比較少渣玲,而且其中哪一些區(qū)別有一些比較顯著性的差異逗概,甚至有一些在了解的人看來比較愚蠢的回答,例如MDS的解釋成分是多少之類的忘衍?
那么在這里著重和大家一起來介紹一下逾苫。先是各個(gè)的介紹,然后才是進(jìn)行比較枚钓,以及提及一些重點(diǎn)铅搓,在每個(gè)的介紹中也會(huì)提到這些差異點(diǎn)。
共同點(diǎn)
大部分的A都圍繞著一個(gè)點(diǎn)搀捷,也就是降維星掰。
如何降維?
如何用數(shù)學(xué)原理保證降維后的信息基本不變指煎?
如何與降維前的數(shù)據(jù)關(guān)聯(lián)起來蹋偏?
PCA(Principal Component Analysis)主成分分析
PCA大概是其中最為常見的一種,由于其較為簡單的原理以及與降維前的數(shù)據(jù)關(guān)聯(lián)性比較好至壤,所以應(yīng)用的范圍也是十分的廣泛威始,但是由于其過于簡單的假設(shè),也導(dǎo)致了在許多實(shí)際應(yīng)用中的降維效果受到了限制像街。
拓展:什么是降維黎棠?
簡單直白的說晋渺,就是減少描述性的變量(特征)。例如脓斩,你要描述一個(gè)物體的形狀木西,你可以用它的長寬高去描述,也就是三個(gè)變量(互相之前理所應(yīng)當(dāng)?shù)氖窍嗷オ?dú)立的)随静。但是你也可以用一個(gè)正方體去描述八千,也就是變成了一個(gè)變量(丟掉了長度的信息),但是你也已經(jīng)描述了長寬高相等的一個(gè)形狀信息燎猛。
所以很自然的可以得到一個(gè)結(jié)論恋捆,降維是很有可能會(huì)丟失信息的,降維后描述的信息在大多數(shù)的時(shí)候是少于等于之前的信息的重绷。(等于的情況比較少見沸停,可能只有在一些比較少的特殊的情況中,才有機(jī)會(huì)昭卓。例如之前的例子愤钾,由于其實(shí)正方體,可能我只需要兩個(gè)信息候醒,例如長寬高相等能颁,長等于多少,也就是2個(gè)描述性變量即可以描述之前3個(gè)描述性變量的信息倒淫。)
根本原則:使降維后的值盡可能分散(方差最大)劲装。
PCA中降維的手段是通過變換基向量的方法實(shí)現(xiàn)的〔颍基向量即n維空間中相互垂直的向量的集合占业。(二維空間中可以說xy軸為基向量,也可以說y=x和y=-x為基向量纯赎。)
假設(shè)我們用一個(gè)n-1維的基向量去表示一個(gè)n維數(shù)據(jù)谦疾,也就是實(shí)現(xiàn)了降維了。而這個(gè)過程也可以稱之為投影(如同三維世界的人犬金,投影到墻上(二維世界)的影子一樣)由于N維到N-1維仍然有很多個(gè)基向量念恍,不可能保證每個(gè)基向量方向的方差都最大(否則都是同一個(gè)方向),所以我們需要保證每個(gè)基向量的線性獨(dú)立晚顷,這個(gè)可以用協(xié)方差為0保證峰伙。
綜上所述,我們就可以用一句話來描述PCA所做的事情该默。
將N維的數(shù)據(jù)投影到K維的空間中瞳氓,K維空間的基向量相互獨(dú)立,且其中存在降維后方差最大的基向量栓袖。
從大的原則上我們已經(jīng)把PCA講完匣摘,細(xì)節(jié)上的數(shù)學(xué)實(shí)現(xiàn)店诗,我們這里不加贅述,可以查看一下參考中的文章PCA的數(shù)學(xué)原理音榜,大體上都是線性代數(shù)里的各種矩陣的運(yùn)算庞瘸。
最好能夠理解數(shù)學(xué)中的原理,才能夠與其他的A進(jìn)行比較赠叼。以下挑出一些比較重要的特點(diǎn)的本質(zhì)描述(與數(shù)學(xué)較為密切)擦囊。
PCA的特點(diǎn)
-
若原始數(shù)據(jù)為,行為特征嘴办,列為樣本霜第。
由于上述的特性,可以成功的將一個(gè)數(shù)據(jù)矩陣的方差和協(xié)方差相互聯(lián)系起來户辞。
PCA的特征值:投影后的各維度的方差大小。(肯定都為正)
PCA的特征向量:使原來的數(shù)據(jù)矩陣進(jìn)行投影的癞谒,一個(gè)每一行為一個(gè)基向量的變換矩陣底燎。每一行對(duì)應(yīng)一個(gè)將原來的特征線性組合的系數(shù),同時(shí)也對(duì)應(yīng)一個(gè)特征值(方差大械狻)双仍。
PCA的百分比(解釋程度):即用特征值/特征值之和。
PCoA(Principal coordinates analysis)
PCoA也是一個(gè)十分有趣的東西桌吃,由于其名字與PCA的類似性朱沃,導(dǎo)致也有很多人混淆。而且它還有一個(gè)別名即茅诱,CMDS(Classical multidimensional scaling)逗物,注意,不是MDS(MDS分兩種瑟俭,Metric和Non-Metric翎卓,PCoA算是Metric里面的一個(gè)子類)。這里簡單的介紹一下摆寄,希望不再混淆失暴。
在CMDS中,大多數(shù)時(shí)候使用歐幾里得距離微饥,并且由于歐幾里得距離進(jìn)行推導(dǎo)出下列過程逗扒。
根本原則:接收樣本與樣本間得到距離矩陣,在保證歐幾里得距離變化最小的情況下投影到N-1維的空間中欠橘。
-
對(duì)原始的距離矩陣進(jìn)行雙中心化(double centering)矩肩,一方面假設(shè)投影后的矩陣的樣本之間的歐幾里得距離,是一個(gè)中心化的矩陣肃续,用這樣的一個(gè)中心化操作來保證與原始的距離保持差異最小(此處損失函數(shù)的的定義)蛮拔。由于投影后的坐標(biāo)矩陣的幾何距離矩陣為中心化了述暂,所以會(huì)有。即
-
得到投影后矩陣的對(duì)角化矩陣B艺配,接下來就是算特征值和特征向量了。
PCoA的特點(diǎn)
- 一般使用的為歐幾里得距離衍慎,但你也可以輸入別的距離矩陣转唉。但中心化過程是適用于歐幾里得距離的,所以可能使得特征值出現(xiàn)負(fù)數(shù)稳捆。
- 特征值:為B中的對(duì)角線上的值
- 特征向量:為Q’矩陣中的每一行
- Q向量中的特征向量則為構(gòu)成投影后新的空間的基向量赠法。
- PCoA的解釋程度(百分比):同樣的由特征值/特征值之和。(貢獻(xiàn)的解釋乔夯,理解為在該軸上數(shù)據(jù)的分散程度)(如果出現(xiàn)負(fù)數(shù)特征值砖织,其特征值之和需要轉(zhuǎn)化為所有特征值絕對(duì)值之和。)
- 特征值末荐,需要注意的是侧纯,其與PCA的意義不大相同。假設(shè)的前提中是距離矩陣為歐幾里得距離甲脏,但是大部分情況下并不是眶熬。但由于CMDS使用的就是歐幾里得距離的假設(shè)從而得到的推導(dǎo)(B與D的關(guān)系),所以在特征值分解B的過程中块请,可能會(huì)由于D本身的問題娜氏,得到一系列的負(fù)數(shù)的特征值。
- 當(dāng)應(yīng)用非歐氏矩陣或者更一般的非相似性矩陣(dissimilarity matrix)時(shí)墩新,特征值向量eigvals中會(huì)出現(xiàn)負(fù)值牍白。需要注意的是,當(dāng)eigen vals中負(fù)值較大的情況下計(jì)算出來的低維幾何表示就沒有意義了抖棘。
- 對(duì)于應(yīng)用面更廣的Metric multidimensional scaling茂腥,是需要指定投影后空間的維度的,通過權(quán)衡計(jì)算后的Strees(損失函數(shù))切省,2.5%為非常好最岗,需要增加投影后空間的維度重新進(jìn)行優(yōu)化計(jì)算,直到得到更滿意的Strees值朝捆。
A principal coordinate analysis of the distance matrices produced by these coefficients may generate negative eigenvalues; these eigenvalues indicate the non-Euclidean nature of the distance matrix (Gower 1982). They measure the amount of variance that needs to be added to the distance matrix to obtain a full Euclidean representation
--from Ordination written by Lengendre & Birks 2012
Metric MDS
大致上和PCoA的一個(gè)原則是一樣的般渡,但是由于是應(yīng)用于非歐式距離矩陣的,所以不滿足Classical MDS中的假設(shè),所以只能通過解決一個(gè)最優(yōu)化問題去求解驯用。
即通過求解一個(gè)叫Strees的偏離度來求解投影后的點(diǎn)的坐標(biāo)脸秽。
一般來說,Metric MDS會(huì)要求使用者輸入降維后所需要的維度蝴乔,例如sklearn中的MDS记餐。
為了最優(yōu)化這個(gè)Stress要比較多而且繁復(fù)的高數(shù)內(nèi)容,這里不加講解薇正。有興趣的可以看
MDS的數(shù)值優(yōu)化方法
CA(Correspondence analysis)對(duì)應(yīng)分析
也叫RA(reciprocal averaging)由于CA片酝、PCA、PCoA都屬于利用eigenvalues的ordination方法挖腰,所以也就放在一起講雕沿,像MDS的另外一種NMDS,也就放在后面再來加以描述猴仑。
CA是一種類似于PCA的方法审轮,但是其更多的用于類型變量的數(shù)據(jù)而不是連續(xù)變量的數(shù)據(jù),本質(zhì)上是為了從整體上探索兩組變量之間的關(guān)系辽俗。即在兩組變量中疾渣,尋找若干個(gè)具有代表性的變量的線性組合,用這些線性組合的相關(guān)關(guān)系來表示兩組變量間的相關(guān)關(guān)系榆苞。
直白的說,就是將行的編號(hào)以及列的編號(hào)在一個(gè)二維坐標(biāo)軸中做出相應(yīng)的點(diǎn)霞捡,可以看到行編號(hào)以及列編號(hào)對(duì)應(yīng)的距離關(guān)系來看行之間坐漏,列之間,行與列之間的關(guān)系碧信,距離越近赊琳,關(guān)系越密切,同時(shí)根據(jù)特征值砰碴,來判斷某個(gè)點(diǎn)對(duì)整個(gè)數(shù)據(jù)的貢獻(xiàn)情況躏筏。
基本步驟:
- 隨機(jī)一個(gè)樣本的排序值(只要有大小關(guān)系的一系列值)
- 對(duì)每個(gè)特征的每個(gè)樣本進(jìn)行加權(quán)平均,得到一個(gè)各特征的排序值
- 再用各特征的排序值呈枉,對(duì)每個(gè)樣本進(jìn)行加權(quán)平均值求樣本的排序值
- 對(duì)樣本的排序值進(jìn)行標(biāo)準(zhǔn)化
- 回到第二步重復(fù)進(jìn)行迭代趁尼,直到結(jié)果變化很小
- 求第二個(gè)投影軸,方法差不多猖辫,僅僅需要保證與第一個(gè)投影軸正交
其中各樣本的排序值即在投影上的坐標(biāo)酥泞,各特征也有一個(gè)排序值,所以在投影上也有坐標(biāo)啃憎。
缺點(diǎn):
就是CA/RA的第二排序軸在許多情況下是第一軸的二次變形芝囤,即所謂的“弓形效應(yīng)”(Arch effect)或者“馬蹄形效應(yīng)”(horse—shoe effect)
DCA(Detrended Correspondence Analysis)
由于是為了去除CA第二軸產(chǎn)生的弓形效應(yīng)的影響,所以其大體和CA是一致的。
僅僅在求第二軸的坐標(biāo)值時(shí)悯姊,采用一個(gè)將第一軸分成一系列區(qū)間羡藐,在每個(gè)區(qū)間內(nèi)將平均數(shù)定為零,從而消除了弓形效應(yīng)悯许。
弓形效應(yīng)如下圖的X的點(diǎn)的形狀仆嗦。
即在求第二軸時(shí),不需要進(jìn)行正交化岸晦,取而代之的是除趨勢(shì)欧啤。即將第一軸分成數(shù)個(gè)區(qū)間,在每一區(qū)間內(nèi)對(duì)第二軸的排序值分別進(jìn)行中心化启上。用經(jīng)過除趨勢(shì)處理的樣本的排序值邢隧,再進(jìn)行加權(quán)平均求新的特征排序值。后跟第一軸的求法一樣冈在,不斷的迭代倒慧。
CCA (canonical correspondence analusis)典范對(duì)應(yīng)分析
Canonical也是一個(gè)十分常見的修飾詞,也存在CPCA包券,CCA纫谅。其中CPCA即PCA與多元回歸的一個(gè)結(jié)合,即在PCA分析中的每一步都與環(huán)境變量進(jìn)行多元回歸溅固,再將回歸得到的系數(shù)結(jié)合到下一步的計(jì)算中付秕。(這句話也是十分奇怪。侍郭。询吴。但是由于CPCA的內(nèi)容十分少,無法考證亮元。)
而CCA則是把CA/RA和多元回歸結(jié)合起來猛计,每一步計(jì)算結(jié)果都與環(huán)境因子進(jìn)行回歸。即在每次得到樣本的排序值時(shí)爆捞,將其余樣本對(duì)應(yīng)的解釋變量的表格進(jìn)行多元線性回歸奉瘤。
基本步驟為:
- 隨機(jī)一個(gè)樣本的排序值(只要有大小關(guān)系的一系列值)
- 對(duì)每個(gè)特征的每個(gè)樣本進(jìn)行加權(quán)平均,得到一個(gè)各特征的排序值
- 再用各特征的排序值煮甥,對(duì)每個(gè)樣本進(jìn)行加權(quán)平均值求樣本的排序值(以上等同于CA)
- 用排序值作為Y去進(jìn)行多元線性回歸盗温,得到一個(gè)回歸系數(shù)。
- 用回歸后的系數(shù)和方程求得新的樣本的排序值
- 對(duì)樣本的排序值進(jìn)行標(biāo)準(zhǔn)化
- 回到第二步成肘,重復(fù)以上過程肌访,直至得到穩(wěn)定值為止
得到的圖大概就是類似于CA的結(jié)果。
類似于envfit(vegan)
RDA (Redundancy Analysis)
RDA在現(xiàn)在的生信分析中也不是十分的多見艇劫。也許是由于其可以算的上是一種特別的PCA(constrained Version)吼驶,所以其原理上也十分的類似惩激。這里也簡單的介紹一下。
RDA主要做的事情是在響應(yīng)變量中提取出一些能被解釋變量解釋的變量蟹演,(can be explained == linear relationships with)
RDA之所以被認(rèn)為是constrained version of PCA风钻,是因?yàn)橥队暗淖鴺?biāo)軸,一方面是由響應(yīng)變量線性組合而成酒请,但又必須是解釋變量的線性組合(通過多重線性回歸來擬合)骡技。
RDA的基本步驟
由于RDA的原理講解也是比較少,那么直接從結(jié)果解讀來揭示更多的信息羞反。
以上的圖就是一個(gè)典型的RDA的結(jié)果布朦,其中紅色的箭頭是解釋變量(例如說PH、BMI之類的)的一個(gè)特征昼窗,其長度表示該特征與樣本分布間相關(guān)程度的大小是趴,連線越長,相關(guān)性越大澄惊,反之越小唆途。箭頭連線和排序軸的夾角以及箭頭連線之間的夾角表示相關(guān)性,銳角表示成正相關(guān)關(guān)系掸驱。藍(lán)色的點(diǎn)為原始數(shù)據(jù)降維后的投影(這個(gè)投影與PCA的結(jié)果是相近的)肛搬。
特點(diǎn)與注意事項(xiàng)
RDA 或者CCA是基于對(duì)應(yīng)分析發(fā)展而來的一種排序方法,將對(duì)應(yīng)分析與多元回歸分析相結(jié)合毕贼,每一步計(jì)算均與環(huán)境因子進(jìn)行回歸温赔,又稱多元直接梯度分析(Multivariate direct gradient analysis )。此分析是主要用來反映菌群與環(huán)境因子之間關(guān)系鬼癣。RDA是基于線性模型陶贼,CCA 是基于單峰模型。
RDA 或CCA 模型的選擇原則:先用species-sample 數(shù)據(jù)(97%相似性的樣品OTU 表)做DCA 分析扣溺,看分析結(jié)果中Lengths of gradient 的第一軸的大小骇窍,如果大于4.0瓜晤,就應(yīng)該選CCA锥余,如果3.0-4.0 之間,選RDA 和CCA均可痢掠,如果小于3.0驱犹,RDA 的結(jié)果要好于CCA。參考自:非文獻(xiàn)足画,慎用雄驹。
NMDS(Non-metric multidimensional scaling)
對(duì)于metric MDS而言,一般是使cost function最小化淹辞,也就是叫Stress的(residual sum of squares)医舆。簡單地說就是距離矩陣的距離減去投影后的歐式距離的平方和的開平方。但是對(duì)于很多的距離矩陣來說,你使用一個(gè)歐氏距離的公式(即使是應(yīng)用在投影后的距離上)蔬将,是十分難以衡量原來距離矩陣的差異的爷速。
而非度量的MDS就是使用了一個(gè)不一樣的Stress,先對(duì)距離矩陣進(jìn)行一個(gè)變換(這個(gè)變換多種多樣)霞怀,然后再與投影后的歐氏距離進(jìn)行差值的平方和再開平方惫东。這個(gè)變換僅僅保持距離矩陣中的大小關(guān)系,而忽略其數(shù)值大小的差異毙石,即為單調(diào)函數(shù)廉沮。所以在不同的尺度上會(huì)有不同的大小。
基本的步驟為
- 隨機(jī)找一堆點(diǎn)的徐矩,例如通過在正態(tài)分布上進(jìn)行采樣滞时。
- 計(jì)算點(diǎn)之間的幾何距離
- 根據(jù)計(jì)算原先距離矩陣中的大小關(guān)系。對(duì)新的點(diǎn)點(diǎn)之間的幾何距離進(jìn)行一個(gè)保序回歸(isotonic regression)得到新的距離矩陣
- 將新的的距離矩陣丧蘸,代入Stress公式漂洋,通過優(yōu)化計(jì)算,得到更新的投影后的點(diǎn)的坐標(biāo)
- 若Stress小于閾值力喷,則停止迭代刽漂。
DbRDA(distance-based Redundancy Analysis)
屬于RDA的拓展,也就是當(dāng)響應(yīng)變量屬于距離矩陣的時(shí)候弟孟,那么就應(yīng)該先用PCoA的來進(jìn)行一次投影贝咙,從而得到一個(gè)新的坐標(biāo)數(shù)據(jù)。后面的過程即將這個(gè)坐標(biāo)數(shù)據(jù)當(dāng)做RDA中接受的響應(yīng)變量拂募,進(jìn)行一次RDA的分析庭猩,得到一個(gè)新的坐標(biāo)軸以及箭頭之類的。
結(jié)語
其實(shí)講到上面那里應(yīng)該就已經(jīng)把大部分的A都講完了陈症,當(dāng)然還有一些拓展的例如dbRDA蔼水、ICA、DCA這些其實(shí)都還算是上面的一部分录肯,但如果硬要這么說的話趴腋,其實(shí)上述的A們都應(yīng)該用一個(gè)共同的名字去描述,即Ordination analysis论咏,中文大概叫排序分析(我個(gè)人是不喜歡這個(gè)名字的...)优炬。所以一般用Ordination稱呼就好。
而且還有一些A是不屬于Ordination厅贪,例如LDA蠢护,屬于機(jī)器學(xué)習(xí)的范疇。剩下的那些也就不加贅述养涮。
大致就這樣的葵硕。
至于上面各種A之間的比較用圖進(jìn)行闡釋眉抬。
其中MDS與環(huán)境因子的關(guān)聯(lián)同樣的可以用多元線性回歸進(jìn)行解決(雖然也是感覺十分的奇怪,僅僅為了通過投影后的坐標(biāo)關(guān)聯(lián)出的環(huán)境因子的結(jié)果懈凹。)R包:Vegan:envfit吐辙。
參考
PCA的數(shù)學(xué)原理
Multidimensional scaling
http://www.stat.pitt.edu/sungkyu/course/2221Fall13/lec8_mds_combined.pdf
https://stats.stackexchange.com/questions/68680/how-to-interpret-variation-explained-by-principal-coordinates
MDS的數(shù)值優(yōu)化方法
RDA
GUide to STatistical Analysis in Microbial Ecology (GUSTA ME)
CCA