空間聚類分析法C語言高程點 深入淺出介紹聚類分析

2021-10-16 10:20:37 字數 1936 閱讀 4115

聚類方法有很多,常用的有以下幾個:

下圖的例子展示的是,差異表達基因集的聚類熱圖。

多是基於 r 語言 heatmap.2 函式繪製(gplots 程式包),該函式預設使用的聚類方法是計算歐式距離(euclidean distance)進行層次聚類(hierarchical cluster)。

這個圖的是什麼意思呢?我們來解釋一下。

每個小方格表示乙個基因,顏色則表示該基因的表達量;

每一行表示同乙個基因在不同樣本的表達情況;

每列表示乙個樣本中不同基因的表達情況;

上方的聚類是表示對來自不同樣本的聚類結果;

左側的樹狀圖是表示對來自不同樣本的不同基因的聚類分析結果。

什麼是距離?

首先,我們先明確下什麼是歐式距離(euclidean distance):

歐式距離,也稱歐幾里得距離,是衡量多維空間的兩個點之間的絕對距離,

(1)    二維平面,兩點 a(x1,y1),b(x2,y2) 歐式距離的計算公式為:

(2)    三維空間,歐式距離的計算公式為:

(3)    n維空間,歐式距離的計算公式為:

那麼,體現在基因表達量的矩陣上,則如下:

(1)   首行為樣本名;

(2)   首列為基因名;

(3)   數字則為基因在相應樣本中的表達量(一般使用標準化後的表達量矩陣)

gene1 與 gene2 的歐式距離為:

gene1 與 gene3 的歐式距離為:

gene1 與 gene4 的歐式距離為:

聚類的過程

計算出所有基因兩兩之間的歐式距離之後,就可以進行聚類啦:

找出歐式距離最近的兩個基因首先形成一簇 cluster1。由於,gene1 與 gene2 的歐式距離要小於 gene1 與 gene3,gene4 的歐式距離,gene1 與 gene2 會形成一簇 cluster1;

將 cluster1 作為乙個整體,計算其與其他基因兩兩之間的歐式距離,並且尋找歐式距離最近的兩個基因(或者 cluster)形成新的 cluster2。例如,可算得 gene3 和 gene4 的歐式聚類也小於同其他基因的歐式距離,gene3 和 gene4 也會形成一簇 cluster2;

如此反覆,直到所有的聚類完成。

cluster 之間的聚類,則有3種方法:

r 語言中 hclust 函式的預設方法為最長距離法(complete-linkage)。

以上的聚類過程即稱之為層級聚類

層級聚類一般伴隨著系統聚類圖,系統聚類圖分支的長短也體現 cluster 形成的早晚,分支越短,形成的越早,基因表達模式也越相近。

總結 聚類分析將基因劃分為不同的基因集合,用於反映不同實驗條件下樣品差異表達基因的變化模式。

功能相關的基因在相同條件下通常具有相似的表達模式,例如被共同的轉錄因子調控的基因,或其產物構成同乙個蛋白複合體的基因,或參與相同生物學過程的基因。對這些基因集進行分析往往可以獲得比單基因分析更為可靠的結果。

審稿:童蒙

R語言 AHP層次分析法

ahp求權重有兩種方法,和積法和方根法,方根法比較好實現所以用方根法求解。輸入 judgematrix 判斷矩陣 round 結果約分位數 輸出 權重 weight function judgematrix,round 3 判斷矩陣的一致性檢驗用於檢驗,你的判斷矩陣是否科學合理,ri值只查到了位數達...

編譯原理 遞迴下降分析法 c程式部分的分析

實驗三 語法分析程式實驗 專業 商軟2班 姓名 黃仲浩 學號 201506110166 一 實驗目的 編制乙個部分文法分析程式。二 實驗內容和要求 輸入 源程式字串 輸出 正確或者錯誤 三 實驗方法 步驟及結果測試 源程式名 遞迴下降分析.c 可執行程式名 遞迴下降分析.c 原理分析及流程圖 inc...

R語言 AHP層次分析法 如何驗證矩陣一致性

如何構建ahp層次分析法矩陣可參看知乎這個回答 主要解決驗證矩陣一致性問題 定義乙個函式,讀取貼上板 從複製excel複製 getmatrix function 判斷 輸入 judgematrix 判斷矩陣 round 結果約分位數 輸出 權重 weight 注 crtest呼叫了weight函式 ...