導航:首頁 > 源碼編譯 > pam演算法聚類

pam演算法聚類

發布時間:2022-05-28 08:39:06

㈠ 某生活污水處理廠日處理污水2000噸,其污泥脫水採用陽離子PAM進行調節

根據經驗估算:
1、每1萬t污水產含水率80%污泥6t-10t(取6t)。
2、2000t污水每天產含水率80%污泥1.2t。
3、含水率為80%的污泥1.2t,那絕干污泥為1.2*(1-0.8)=0.24t。
4、PAM加葯量估算:絕干污泥的2-3‰(取3‰)。2000t生活污水每天PAM使用量為:0.24t*0.003=0.00072t=0.72kg
5、PAM費用約2-30000元/t(取30000),污泥加葯成本為:30000元/t*0.00072t=21.6元。
以上是經驗演算法,供參考。

㈡ 求英語達人翻譯

The main body of a book cluster-algorithm applies PAM to the wine classification field , make use of the person to no sensitive , no easy to be affected by exceeding data , very effective against minor data collection characteristic of isolated point , wine is gathered for three do , partly sweet , sweet kinds , display and the classification giving a consumer , making a domestic consumer also can know wine very simplely visually.

㈢ PAM的演算法簡介

如今數據挖掘的理論越來越廣泛的應用在商業、製造業、金融業、醫葯業、電信業等等許多領域。數據挖掘的目標之一是進行聚類分析。聚類就是把一組個體按照相似性歸成若干類別,它的目的是使得屬於同一類別的個體之間的差別盡可能的小,而不同種類別上的個體間的差別盡可能的大。PAM聚類演算法是眾多聚類演算法的之一。PAM演算法的優勢在於:PAM演算法比K-平均演算法更健壯,對「雜訊」和孤立點數據不敏感;它能夠處理不同類型的數據點;它對小的數據集非常有效。

㈣ 如何運用聚類分析法

聚類分析法是理想的多變數統計技術,主要有分層聚類法和迭代聚類法。聚類通過把目標數據放入少數相對同源的組或「類」(cluster)里。分析表達數據,(1)通過一系列的檢測將待測的一組基因的變異標准化,然後成對比較線性協方差。(2)通過把用最緊密關聯的譜來放基因進行樣本聚類,例如用簡單的層級聚類(hierarchical clustering)方法。這種聚類亦可擴展到每個實驗樣本,利用一組基因總的線性相關進行聚類。(3)多維等級分析(multidimensional scaling analysis,MDS)是一種在二維Euclidean 「距離」中顯示實驗樣本相關的大約程度。(4)K-means方法聚類,通過重復再分配類成員來使「類」內分散度最小化的方法。

聚類方法有兩個顯著的局限:首先,要聚類結果要明確就需分離度很好(well-separated)的數據。幾乎所有現存的演算法都是從互相區別的不重疊的類數據中產生同樣的聚類。但是,如果類是擴散且互相滲透,那麼每種演算法的的結果將有點不同。結果,每種演算法界定的邊界不清,每種聚類演算法得到各自的最適結果,每個數據部分將產生單一的信息。為解釋因不同演算法使同樣數據產生不同結果,必須注意判斷不同的方式。對遺傳學家來說,正確解釋來自任一演算法的聚類內容的實際結果是困難的(特別是邊界)。最終,將需要經驗可信度通過序列比較來指導聚類解釋。

第二個局限由線性相關產生。上述的所有聚類方法分析的僅是簡單的一對一的關系。因為只是成對的線性比較,大大減少發現表達類型關系的計算量,但忽視了生物系統多因素和非線性的特點。

從統計學的觀點看,聚類分析是通過數據建模簡化數據的一種方法。傳統的統計聚類分析方法包括系統聚類法、分解法、加入法、動態聚類法、有序樣品聚類、有重疊聚類和模糊聚類等。採用k-均值、k-中心點等演算法的聚類分析工具已被加入到許多著名的統計分析軟體包中,如SPSS、SAS等。
從機器學習的角度講,簇相當於隱藏模式。聚類是搜索簇的無監督學習過程。與分類不同,無監督學習不依賴預先定義的類或帶類標記的訓練實例,需要由聚類學習演算法自動確定標記,而分類學習的實例或數據對象有類別標記。聚類是觀察式學習,而不是示例式的學習。
從實際應用的角度看,聚類分析是數據挖掘的主要任務之一。就數據挖掘功能而言,聚類能夠作為一個獨立的工具獲得數據的分布狀況,觀察每一簇數據的特徵,集中對特定的聚簇集合作進一步地分析。
聚類分析還可以作為其他數據挖掘任務(如分類、關聯規則)的預處理步驟。
數據挖掘領域主要研究面向大型資料庫、數據倉庫的高效實用的聚類分析演算法。

聚類分析是數據挖掘中的一個很活躍的研究領域,並提出了許多聚類演算法。
這些演算法可以被分為劃分方法、層次方法、基於密度方法、基於網格方法和
基於模型方法。
1 劃分方法(PAM:PArtitioning method) 首先創建k個劃分,k為要創建的劃分個數;然後利用一個循環
定位技術通過將對象從一個劃分移到另一個劃分來幫助改善劃分質量。典型的劃分方法包括:
k-means,k-medoids,CLARA(Clustering LARge Application),
CLARANS(Clustering Large Application based upon RANdomized Search).
FCM
2 層次方法(hierarchical method) 創建一個層次以分解給定的數據集。該方法可以分為自上
而下(分解)和自下而上(合並)兩種操作方式。為彌補分解與合並的不足,層次合
並經常要與其它聚類方法相結合,如循環定位。典型的這類方法包括:
第一個是;BIRCH(Balanced Iterative Recing and Clustering using Hierarchies) 方法,它首先利用樹的結構對對象集進行劃分;然後再利
用其它聚類方法對這些聚類進行優化。
第二個是CURE(Clustering Using REprisentatives) 方法,它利用固定數目代表對象來表示相應聚類;然後對各聚類按照指定
量(向聚類中心)進行收縮。
第三個是ROCK方法,它利用聚類間的連接進行聚類合並。
最後一個CHEMALOEN,它則是在層次聚類時構造動態模型。
3 基於密度方法,根據密度完成對象的聚類。它根據對象周圍的密度(如
DBSCAN)不斷增長聚類。典型的基於密度方法包括:
DBSCAN(Densit-based Spatial Clustering of Application with Noise):該演算法通過不斷生長足夠高密
度區域來進行聚類;它能從含有雜訊的空間資料庫中發現任意形狀的聚類。此方法將一個聚類定義
為一組「密度連接」的點集。
OPTICS(Ordering Points To Identify the Clustering Structure):並不明確產生一
個聚類,而是為自動交互的聚類分析計算出一個增強聚類順序。。
4 基於網格方法,首先將對象空間劃分為有限個單元以構成網格結構;然後利
用網格結構完成聚類。
STING(STatistical INformation Grid) 就是一個利用網格單元保存的統計信息進行基
於網格聚類的方法。
CLIQUE(Clustering In QUEst)和Wave-Cluster 則是一個將基於網格與基於密度相結合的方
法。
5 基於模型方法,它假設每個聚類的模型並發現適合相應模型的數據。典型的
基於模型方法包括:
統計方法COBWEB:是一個常用的且簡單的增量式概念聚類方法。它的輸入對象是采
用符號量(屬性-值)對來加以描述的。採用分類樹的形式來創建
一個層次聚類。
CLASSIT是COBWEB的另一個版本.。它可以對連續取值屬性進行增量式聚
類。它為每個結點中的每個屬性保存相應的連續正態分布(均值與方差);並利
用一個改進的分類能力描述方法,即不象COBWEB那樣計算離散屬性(取值)
和而是對連續屬性求積分。但是CLASSIT方法也存在與COBWEB類似的問題。
因此它們都不適合對大資料庫進行聚類處理.

㈤ 請幫我翻譯一下「文本聚類」的摘要

第二段:
Copies of as a cluster of machines unsupervised learning methods, clustering process because it does not require training, and not advance to the text manually tagging category, it must have the flexibility and high throughput automation, has become the text information effectively organize and summary and an important means of navigation, more and more research attention.
第三段:
This paper introced the text clustering basic knowledge and the general process of the realization of the three basic types of clustering algorithm : K-means clustering algorithm, PAM clustering algorithm and a simple rallying clustering algorithm. Papers on eight categories of the 1360 version for testing, comparison and analysis of the three advantages of clustering algorithm .

㈥ PAM的演算法性能

(1) 消除了k-平均演算法對於孤立點的敏感性。
(2) K-中心點方法比k-平均演算法的代價要高
(3) 必須指定k
(4) PAM對小的數據集非常有效,對大數據集效率不高。特別是n和k都很大的時候。

㈦ 如何對混合型數據做聚類分析

如何對混合型數據做聚類分析
利用聚類分析,我們可以很容易地看清數據集中樣本的分布情況。以往介紹聚類分析的文章中通常只介紹如何處理連續型變數,這些文字並沒有過多地介紹如何處理混合型數據(如同時包含連續型變數、名義型變數和順序型變數的數據)。本文將利用 Gower 距離、PAM(partitioning around medoids)演算法和輪廓系數來介紹如何對混合型數據做聚類分析。
R語言
本文主要分為三個部分:
距離計算
聚類演算法的選擇
聚類個數的選擇
為了介紹方便,本文直接使用 ISLR 包中的 College 數據集。該數據集包含了自 1995 年以來美國大學的 777 條數據,其中主要有以下幾個變數:
連續型變數
錄取率
學費
新生數量
分類型變數
公立或私立院校
是否為高水平院校,即所有新生中畢業於排名前 10% 高中的新生數量佔比是否大於 50%
本文中涉及到的R包有:
In [3]:
set.seed(1680) # 設置隨機種子,使得本文結果具有可重現性
library(dplyr)
library(ISLR)
library(cluster)
library(Rtsne)
library(ggplot2)

Attaching package: 『dplyr』

The following objects are masked from 『package:stats』:

filter, lag

The following objects are masked from 『package:base』:

intersect, setdiff, setequal, union

構建聚類模型之前,我們需要做一些數據清洗工作:
錄取率等於錄取人數除以總申請人數
判斷某個學校是否為高水平院校,需要根據該學校的所有新生中畢業於排名前 10% 高中的新生數量佔比是否大於 50% 來決定

In [5]:

college_clean <- College %>%
mutate(name = row.names(.),
accept_rate = Accept/Apps,
isElite = cut(Top10perc,
breaks = c(0, 50, 100),
labels = c("Not Elite", "Elite"),
include.lowest = TRUE)) %>%
mutate(isElite = factor(isElite)) %>%
select(name, accept_rate, Outstate, Enroll,
Grad.Rate, Private, isElite)

glimpse(college_clean)

Observations: 777
Variables: 7
$ name (chr) "Abilene Christian University", "Adelphi University", "...
$ accept_rate (dbl) 0.7421687, 0.8801464, 0.7682073, 0.8369305, 0.7564767, ...
$ Outstate (dbl) 7440, 12280, 11250, 12960, 7560, 13500, 13290, 13868, 1...
$ Enroll (dbl) 721, 512, 336, 137, 55, 158, 103, 489, 227, 172, 472, 4...
$ Grad.Rate (dbl) 60, 56, 54, 59, 15, 55, 63, 73, 80, 52, 73, 76, 74, 68,...
$ Private (fctr) Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes,...
$ isElite (fctr) Not Elite, Not Elite, Not Elite, Elite, Not Elite, Not...
距離計算
聚類分析的第一步是定義樣本之間距離的度量方法,最常用的距離度量方法是歐式距離。然而歐氏距離只適用於連續型變數,所以本文將採用另外一種距離度量方法—— Gower 距離。
Gower 距離
Gower 距離的定義非常簡單。首先每個類型的變數都有特殊的距離度量方法,而且該方法會將變數標准化到[0,1]之間。接下來,利用加權線性組合的方法來計算最終的距離矩陣。不同類型變數的計算方法如下所示:
連續型變數:利用歸一化的曼哈頓距離
順序型變數:首先將變數按順序排列,然後利用經過特殊調整的曼哈頓距離
名義型變數:首先將包含 k 個類別的變數轉換成 k 個 0-1 變數,然後利用 Dice 系數做進一步的計算
優點:通俗易懂且計算方便
缺點:非常容易受無標准化的連續型變數異常值影響,所以數據轉換過程必不可少;該方法需要耗費較大的內存
利用 daisy 函數,我們只需要一行代碼就可以計算出 Gower 距離。需要注意的是,由於新生入學人數是右偏變數,我們需要對其做對數轉換。daisy 函數內置了對數轉換的功能,你可以調用幫助文檔來獲取更多的參數說明。

In [6]:

# Remove college name before clustering

gower_dist <- daisy(college_clean[, -1],
metric = "gower",
type = list(logratio = 3))

# Check attributes to ensure the correct methods are being used
# (I = interval, N = nominal)
# Note that despite logratio being called,
# the type remains coded as "I"

summary(gower_dist)

Out[6]:

301476 dissimilarities, summarized :
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0018601 0.1034400 0.2358700 0.2314500 0.3271400 0.7773500
Metric : mixed ; Types = I, I, I, I, N, N
Number of objects : 777

此外,我們可以通過觀察最相似和最不相似的樣本來判斷該度量方法的合理性。本案例中,聖托馬斯大學和約翰卡羅爾大學最相似,而俄克拉荷馬科技和藝術大學和哈佛大學差異最大。

In [7]:

gower_mat <- as.matrix(gower_dist)

# Output most similar pair

college_clean[
which(gower_mat == min(gower_mat[gower_mat != min(gower_mat)]),
arr.ind = TRUE)[1, ], ]

Out[7]:

In [8]:

# Output most dissimilar pair

college_clean[
which(gower_mat == max(gower_mat[gower_mat != max(gower_mat)]),
arr.ind = TRUE)[1, ], ]

Out[8]:

聚類演算法的選擇

現在我們已經計算好樣本間的距離矩陣,接下來需要選擇一個合適的聚類演算法,本文採用 PAM(partioniong around medoids)演算法來構建模型:

PAM 演算法的主要步驟:

隨機選擇 k 個數據點,並將其設為簇中心點
遍歷所有樣本點,並將樣本點歸入最近的簇中
對每個簇而言,找出與簇內其他點距離之和最小的點,並將其設為新的簇中心點
重復第2步,直到收斂

該演算法和 K-means 演算法非常相似。事實上,除了中心點的計算方法不同外,其他步驟都完全一致 。

優點:簡單易懂且不易受異常值所影響
缺點:演算法時間復雜度為 O(n2)O(n2)

聚類個數的選擇

我們將利用輪廓系數來確定最佳的聚類個數,輪廓系數是一個用於衡量聚類離散度的內部指標,該指標的取值范圍是[-1,1],其數值越大越好。通過比較不同聚類個數下輪廓系數的大小,我們可以看出當聚類個數為 3 時,聚類效果最好。

In [9]:

# Calculate silhouette width for many k using PAM

sil_width <- c(NA)

for(i in 2:10){

pam_fit <- pam(gower_dist,
diss = TRUE,
k = i)

sil_width[i] <- pam_fit$silinfo$avg.width

}

# Plot sihouette width (higher is better)

plot(1:10, sil_width,
xlab = "Number of clusters",
ylab = "Silhouette Width")
lines(1:10, sil_width)

聚類結果解釋
描述統計量

聚類完畢後,我們可以調用 summary 函數來查看每個簇的匯總信息。從這些匯總信息中我們可以看出:簇1主要是中等學費且學生規模較小的私立非頂尖院校,簇2主要是高收費、低錄取率且高畢業率的私立頂尖院校,而簇3則是低學費、低畢業率且學生規模較大的公立非頂尖院校。

In [18]:

pam_fit <- pam(gower_dist, diss = TRUE, k = 3)

pam_results <- college_clean %>%
dplyr::select(-name) %>%
mutate(cluster = pam_fit$clustering) %>%
group_by(cluster) %>%
do(the_summary = summary(.))

print(pam_results$the_summary)

[[1]]
accept_rate Outstate Enroll Grad.Rate Private
Min. :0.3283 Min. : 2340 Min. : 35.0 Min. : 15.00 No : 0
1st Qu.:0.7225 1st Qu.: 8842 1st Qu.: 194.8 1st Qu.: 56.00 Yes:500
Median :0.8004 Median :10905 Median : 308.0 Median : 67.50
Mean :0.7820 Mean :11200 Mean : 418.6 Mean : 66.97
3rd Qu.:0.8581 3rd Qu.:13240 3rd Qu.: 484.8 3rd Qu.: 78.25
Max. :1.0000 Max. :21700 Max. :4615.0 Max. :118.00
isElite cluster
Not Elite:500 Min. :1
Elite : 0 1st Qu.:1
Median :1
Mean :1
3rd Qu.:1
Max. :1

[[2]]
accept_rate Outstate Enroll Grad.Rate Private
Min. :0.1545 Min. : 5224 Min. : 137.0 Min. : 54.00 No : 4
1st Qu.:0.4135 1st Qu.:13850 1st Qu.: 391.0 1st Qu.: 77.00 Yes:65
Median :0.5329 Median :17238 Median : 601.0 Median : 89.00
Mean :0.5392 Mean :16225 Mean : 882.5 Mean : 84.78
3rd Qu.:0.6988 3rd Qu.:18590 3rd Qu.:1191.0 3rd Qu.: 94.00
Max. :0.9605 Max. :20100 Max. :4893.0 Max. :100.00
isElite cluster
Not Elite: 0 Min. :2
Elite :69 1st Qu.:2
Median :2
Mean :2
3rd Qu.:2
Max. :2

[[3]]
accept_rate Outstate Enroll Grad.Rate Private
Min. :0.3746 Min. : 2580 Min. : 153 Min. : 10.00 No :208
1st Qu.:0.6423 1st Qu.: 5295 1st Qu.: 694 1st Qu.: 46.00 Yes: 0
Median :0.7458 Median : 6598 Median :1302 Median : 54.50
Mean :0.7315 Mean : 6698 Mean :1615 Mean : 55.42
3rd Qu.:0.8368 3rd Qu.: 7748 3rd Qu.:2184 3rd Qu.: 65.00
Max. :1.0000 Max. :15516 Max. :6392 Max. :100.00
isElite cluster
Not Elite:199 Min. :3
Elite : 9 1st Qu.:3
Median :3
Mean :3
3rd Qu.:3
Max. :3

PAM 演算法的另一個優點是各個簇的中心點是實際的樣本點。從聚類結果中我們可以看出,聖弗朗西斯大學是簇1 的中心點,巴朗德學院是簇2 的中心點,而密歇根州州立大學河谷大學是簇3 的中心點。

In [19]:

college_clean[pam_fit$medoids, ]

Out[19]:

可視化方法

t-SNE 是一種降維方法,它可以在保留聚類結構的前提下,將多維信息壓縮到二維或三維空間中。藉助t-SNE我們可以將 PAM 演算法的聚類結果繪制出來,有趣的是私立頂尖院校和公立非頂尖院校這兩個簇中間存在一個小聚類簇。

In [22]:

tsne_obj <- Rtsne(gower_dist, is_distance = TRUE)

tsne_data <- tsne_obj$Y %>%
data.frame() %>%
setNames(c("X", "Y")) %>%
mutate(cluster = factor(pam_fit$clustering),
name = college_clean$name)

ggplot(aes(x = X, y = Y), data = tsne_data) +
geom_point(aes(color = cluster))

進一步探究可以發現,這一小簇主要包含一些競爭力較強的公立院校,比如弗吉尼亞大學和加州大學伯克利分校。雖然無法通過輪廓系數指標來證明多分一類是合理的,但是這 13 所院校的確顯著不同於其他三個簇的院校。

In [25]:

tsne_data %>%
filter(X > 15 & X < 25,
Y > -15 & Y < -10) %>%
left_join(college_clean, by = "name") %>%
collect %>%
.[["name"]]

Out[25]:

『Kansas State University』
『North Carolina State University at Raleigh』
『Pennsylvania State Univ. Main Campus』
『SUNY at Buffalo』
『Texas A&M Univ. at College Station』
『University of Georgia』
『University of Kansas』
『University of Maryland at College Park』
『University of Minnesota Twin Cities』
『University of Missouri at Columbia』
『University of Tennessee at Knoxville』
『University of Texas at Austin』

㈧ 分子進化與小進化講了不一樣的故事,兩者的區別和聯系在哪裡

分子進化(Molecular Evolution)(Molecular Evolution)(Molecular Evolution)(Molecular Evolution)與系統發育分析
系統發育學研究的是進化關系,系統發育分析就根據同源性狀的分歧來推斷或者評估這些進化關系。通過系統發育分析所推斷出來的進化關系一般用分枝圖(進化樹) 來描述,這個進化樹描述了分子(基因樹)、物種以及二者之間遺傳關系的譜系。由於「Glade」這個詞(擁有共同祖先的同一譜系)在西臘文中的本意是分支,所以系統發育學有時被稱為遺傳分類學(cladistics) 。
在現代系統發育研究中,重點己不再是生物的形態學特徵或其他特徵,而是生物大分子尤其是序列,對序列的系統發育分析又稱為分子系統學或分子系統發育研究。它的發展得益於大量序列的測定和分析程序的完善。比起許多其他實驗性學科,分子系統學與其他進化研究一樣有其局限,即系統發育的發生過程都是己經完成的歷史,只能在擁有大量序列信息的基礎上去推斷過去曾經發生過什麼,而不能再現。由於系統發育分析不太可能擁有實驗基礎,至多是些模擬實驗或者病毒實驗:如何處理序列從中得到有用信息、如何用計算的辦法得到可信的系統樹、如何從有限的數據得到進化模式成為這個領域的研究熱點。
1進化樹構建
構建進化樹的方法包括兩種:一類是基於序列類似性比較,主要是基於氨基酸/核酸相對突變率矩陣計算不同序列差異性積分作為它們的差異性量度而構建的進化樹;另一類是在難以通過序列比較構建進化樹的情況下,通過蛋白質結構比較包括剛體結構疊合和多結構特徵比較等方法建立的進化樹。
2評估進化樹和數據
現在己經有一些程序可以用來評估數據中的系統發育信號和進化樹的健壯性。對於前者,最流行的方法是用數據信號和隨機數據作對比實驗(偏斜和排列實驗):對於後者,可以對觀察到的數據重新取樣,進行進化樹的支持實驗(非參數自引導和對折方法)。似然比例實驗可以對取代模型和進化樹都進行評估。本文只闡述幾個常用的方法:
偏斜實驗(Skewness Test):統計的臨界值隨著分類群數口的不同和序列中點的不同而不同,對隨機數據集呈現的信號很敏感,可以用來決定系統發育信號是否保留著。
排列實驗(PTP, permutation tail probability):對MP樹的分值和那些通過對每一個位點都進行大量排列組合而得到的數據所推算出來的進化樹的分值進行比較,從而決定在原始數據中是否存在系統發育信號。
自引導評估(bootstrap ): Bootstrap是由Felsenstein (1985)引入分子分類領域的,現己成為分析分子樹置信區間最常用的方法。其原理是假定某序列Ao有N個位點,Bootstrap復制時從Ao中隨機取N個位點。Ao中的某些位點可能被隨機遺漏,而某些位點則可能取到不僅一次,由此組成一個新序列A1。對一組數據復制n次,則可得到Ao衍生的n組數據。由此可構建n個分子樹,根據「多數規則」( majority rule)從這n個分子樹中統計得到一致樹(consensus tree ),一致樹中各分支結構在n個分子樹中出現的比率便表示原始數據對該結構的支持率。
可以對任何建樹方法進行評估。模擬研究表明,在合適的條件下也就是各種替換速率基本相等,樹枝基本對稱的條件下,如果自引導數值大於70,那麼所得的系統發育進化樹能夠反映真實的系統發生史的可能性要大於95 % 。
3 線性樹(Linearized Tree)
在進化中,雖然核酸或氨基酸的替代絕不會是嚴格恆定的,但是在估計序列間分歧時間方面,分子鍾依然有用。當今我們對物種間的分歧時間或基因重復事件發生的時間仍知之甚少,因此為了理解進化過程,即便粗略地估計分歧時間也是十分重要的。排除比平均速率顯著慢或快的譜系,並對剩餘的譜系按分子鍾假說構建進化樹,就有可能估計不同譜系對間或不同序列對間粗略的分歧時間。按此途徑構建的樹稱為線性樹。線性樹始終遵循分子鍾假說。線性樹的構建分如下幾個步驟:(1)用無需速率恆定假說的構樹法對一組序列構建可靠的樹,並用外類群序列定出樹根。(2)對所用序列檢驗速率恆定假說,並刪除與平均速率有顯著偏差的序列。 (3)用速率恆定假說對剩餘的序列重建一棵系統樹。(4)如果己知某一序列對的分歧時間和序列分歧度,則能標定進化時間。
進化樹的構建方法
1 建立數據模型
建立一個比對模型的基本步驟包括:選擇合適的比對程序,然後從比對結果中提取系統發育的數據集,至於如何提取有效數據,取決於所選擇的建樹程序如何處理容易引起歧義的比對區域和插入/刪除序列(即所謂的空位狀態)。一個典型的比對過程包括:首先應用CLUSTALW程序及類似程序,進行多序列比對,最後提交給一個建樹程序。這個過程有如下特徵選項:①部分依賴於計算機;②需要一個先驗的系統發育標准(即需要一個前導樹);③使用先驗評估方法和動態評估方法對比對參數進行評估;④對基本結構(序列)進行比對;⑤應用非統計數學優化。這些特徵選項的取捨依賴於系統發育分析方法。
2 決定替代模型
替代模型既影響比對,也影響建樹。因此需要採用遞歸方法。對於核酸數據而言,可以通過替代模型中的兩個要素進行計算機評估,但是對於氨基酸和密碼子數據而言,沒有什麼評估方案,其中一個要素是鹼基之間相互替代的模型。另外一個要素是序列中不同位點的所有替代的相對速率。還沒有一種簡單的計算機程序可以對較復雜的變數(比如,位點特異性或者系統特異性替代模型)進行評估,同樣,現有的建樹軟體也不可能理解這些復雜變數。
(1)鹼基取代模型。
一般而言,生物化學性質相近的鹼基之間的取代頻率較高。在DNA中,四種轉換(A→G,G→A,C→T,T→C)的頻率比顛換(A→C,A→T,C→G,G→T)以及它們的反向取代的頻率要高。這些偏向會影響兩個序列之間的預計分歧。各殘基之間的相對取代速率一般用矩陣形式給出:對鹼基而言,行和列都是4,對於氨基酸,行和列都是20(如PAM矩陣)。對於密碼子,行和列都是61(除去終止密碼子)。矩陣中對角元素代表不同序列擁有相同鹼基的代價,非對角線元素對應於一個鹼基變為另一個鹼基的相對代價。固定的代價矩陣就是典型的靜態權重矩陣,MP法中使用的就是這種,如圖5。又如在ML法中,代價值是山即時的速率矩陣得到,如圖6,這個矩陣代表了各種取代可能會發生的概率的ML估計值。
圖6中,非對角線兀素an代表一個變化的瞬時速率、不同取代之間的相對速率和目標鹼基的頻率。而對角線兀素是非零值,很有效說明了一種可能性,即序列之間的分歧度越大,越有可能在很偶然的情況下擁有相同的鹼基。還有一種模型稱為「時間可逆」,認為「前進」和「進化」的取代速率相同。任何一種「時間可逆」的核葺酸取代模型都可以用圖2-5的矩陣來刻畫,只用其中任何一個速率和其他任何速率的差異即可,在任意組合中,最多可達6個參數,每個速率參數都是獨立的。圖5 權重矩陣
(2)位點之間取代速率模型。
除了前面取代模型的多元化外,序列中各個不同位點之間的取代速率差異也會對進化樹的結果產生深遠影響。關於位點之間的速率差異(位點異質性),一個最明顯的例子就是在三聯體編碼中,第三個編碼位點比前兩個更加容易發生變化。在分析編碼序列時,許多發育分析都會將第三個位點排除:然而在某些情況下,速率差異模型會更加敏銳,如rRNA的保守序列。對位點差異的取代速率予以估值的方法有非參數模型、不變式模型和Gamma模型。非參數模型在MP法中使用,對ML法被認為在計算上不可行。不變式模型對一定比例的位點進行估值,而這些位點不能自由變化,其餘的位點假定為等概率變化。Gamma模型假定一給定序列變化的概率服從Gamma分布,據此指定位點的取代概率。Gamma分布的形狀決定於其參數,描述了一個序列中各個位點的取代頻率分布。目前DNA的替代模型有十種之多,再加上不變位點參數和形狀分布參數。Gamma,模型更有幾十種之多, 幾種有代表性的替代模型是JC, F81, K80, HKY和GTR。
(3)取代模型的選擇
最好的取代模型並不一定總是擁有最多參數的模型。因為對每一個參數進行估值都會引入一個相關變數,從而使整體的變數增加,有時甚至會對模型起到抑製作用。在PAt中可以對DNA序列的取代模型進行規范一個較好的策略,使用似然法同時評估幾個,可逆的取代速率、gamma分布的形狀參數和不變位點的比例。通過估算的取代參數,可以通過比較較多參數和較少參數分別評估得到的似然分值,決定一個簡化的模型是否合理。目前較好的選擇模型方法是似然比檢驗(LikelihoodRatio Test)
3建樹方法
目前,三種主要的建樹方法分別是距離法(如Neighbor joining , NJ) 、最大簡約(Maximum parsimony, MP )和最大似然(Maximum likelihood ML)。最大似然方法考察數據中序列的多重比對結果,優化出擁有一定拓撲結構和樹枝長度的進化樹,這個進化樹能夠以最大的概率導致考察的多重比對結果。距離法考察數據組中所有序列的兩兩比對結果,通過序列兩兩之間的差異決定進化樹的拓撲結構和樹枝長度。最大簡約方法考察數據組中序列的多重比對結果,優化出的進化樹能夠利用最少的離散步驟去解釋多重比對中的鹼基差異。距離方法簡單地計算兩個序列的差異數量。這個數量被看作進化距離,而其准確大小依賴於進化模型的選擇。然後運行一個聚類演算法,從最相似(也就是說,兩者間的距離最短)的序列開始,通過距離值方陣計算出實際的進化樹,或者通過將總的樹枝長度最小化而優化出進化樹。
用最大節約方法搜索進化樹的原理是要求用最小的改變來解釋所要研究的分類群之間的觀察到的差異。 最大似然方法是評估所選定的進化模型能夠產生實際觀察到的數據的可能性。進化模型可能只是簡單地假定所有核苷酸(或者氨基酸)之間相互轉變的概率一樣。程序會把所有可能的核苷酸輪流置於進化樹的內部節點上,並且計算每一個這樣的序列產生實際數據的可能性(如果兩個姐妹分類群都有核苷酸+ A‑,那麼,如果假定原先的核苷酸是「C",得到現在的「A-』的.可能性比起假定原先就是「A+』的可能性要小得多)。所有可能的再現(不僅僅是比較可能的再現)的幾率被加總,產生一個特定位點的似然值,然後這個數據集的所有比對位點的似然值的加和就是整個進化樹的似然值。
4 進化樹搜索
單一的進化樹的數量會隨著分類群數量的增長而呈指數增長,從而變為一個天文數字。由於計算能力的限制,現在一般只允許對很小一部分可能的進化樹進行搜索。具體的數量主要依賴於分類群的數量、優化標准、參數設定、數據結構、計算機硬體以及計算機軟體。
現在有兩種搜索方法保證可以找到最優化的進化樹:窮舉法(exhaustivealgorithms)和樹枝一跳躍法(BB, branch -and-band)。對於一個很大的數據集,這兩種方法都很不實用。對分類群數量的限制主要取決於數據結構和計算機速度,但是對於超過20個分類群的數據集,BB方法很少會得到應用。窮舉法要根據優化標准,對每一個可能的進化樹進行評估。BB方法提供一個邏輯方法,以確定哪些進化樹值得評估,而另一些進化樹可被簡單屏蔽。因此BB方法通常要比窮舉法快得多。
絕大多數分析方法都使用「啟發式」的搜索。啟發式演算法(heuristic algorithms搜索出相近的次優化的進化樹家族(「島嶼」),然後從中得到優化解(「山頂」)。不同的演算法用不同程度的精確性搜索這些島嶼和山頂。最徹底也是最慢的程序(TBR, treebisection-reconnection,進化樹對分重接)先把進化樹在每一個內部樹枝處劈開,然後以任意方式將劈開的碎片重新組合起來。最快的演算法(NNI , nearest-neighborinterchange)只是檢查一下相鄰終端的不太重要的重新組合。因此,傾向於找到最近的島嶼的山頂。
降低搜索代價的最好方法是對數據集進行剪除。影響優化搜索策略選擇的因素(數據量數據結構,時間量,硬體,分析口的)太復雜,無法推薦一個簡單可行的處方。因此,進行搜索的用戶必須對數據非常熟悉且有明確的口標,了解各種各樣的搜索程序及自己硬體設備和軟體的能力。
除上述當前應用最廣的方法外,還有大量的建立和搜索進化樹的其它方法。這些方法包括Wagner距離方法和親近方法(距離轉化方法):Lake的不變式方法(一個基於特徵符的方法,它選擇的拓撲結構包含一個意義重大的正數以支持顛換):Hadamard結合方法(一個精細的代數方陣方法,對距離數據或者觀察到的特徵符進行修正):裂解方法(這個方法決定在數據中應該支持哪一個基於距離的.IJ選的拓撲結構):四重奏迷惑(Quartet puzzling)方法,該法,可以為ML,建樹方法所應用,這個演算法相對而言是個較快的進化樹搜索演算法。
5 確定樹根
上述的建樹方法所產生的都是無根樹(進化樹沒有進化的極性)。為了評估進化假說,通常必須要確定進化樹的樹根。確定系統發育進化樹的樹根並不是個簡單問題。一種確定樹根的好方法就是分析時加入一個復制的基因。如果來自絕大多數物種或者所有物種的所有的平行基因在分析時都被包含進去,那麼從邏輯上我們就可以把進化樹的樹根定位於平行基因進化樹的交匯處,當然要假定在所有進化樹中都沒有長樹枝問題。

㈨ 什麼叫層次聚類分析

聚類通過把目標數據放入少數相對同源的組或「類」(cluster)里。分析表達數據,(1)通過一系列的檢測將待測的一組基因的變異標准化,然後成對比較線性協方差。(2)通過把用最緊密關聯的譜來放基因進行樣本聚類,例如用簡單的層級聚類(hierarchical clustering)方法。這種聚類亦可擴展到每個實驗樣本,利用一組基因總的線性相關進行聚類。(3)多維等級分析(multidimensional scaling analysis,MDS)是一種在二維Euclidean 「距離」中顯示實驗樣本相關的大約程度。(4)K-means方法聚類,通過重復再分配類成員來使「類」內分散度最小化的方法。
聚類方法有兩個顯著的局限:首先,要聚類結果要明確就需分離度很好(well-separated)的數據。幾乎所有現存的演算法都是從互相區別的不重疊的類數據中產生同樣的聚類。但是,如果類是擴散且互相滲透,那麼每種演算法的的結果將有點不同。結果,每種演算法界定的邊界不清,每種聚類演算法得到各自的最適結果,每個數據部分將產生單一的信息。為解釋因不同演算法使同樣數據產生不同結果,必須注意判斷不同的方式。對遺傳學家來說,正確解釋來自任一演算法的聚類內容的實際結果是困難的(特別是邊界)。最終,將需要經驗可信度通過序列比較來指導聚類解釋。
第二個局限由線性相關產生。上述的所有聚類方法分析的僅是簡單的一對一的關系。因為只是成對的線性比較,大大減少發現表達類型關系的計算量,但忽視了生物系統多因素和非線性的特點。
從統計學的觀點看,聚類分析是通過數據建模簡化數據的一種方法。傳統的統計聚類分析方法包括系統聚類法、分解法、加入法、動態聚類法、有序樣品聚類、有重疊聚類和模糊聚類等。採用k-均值、k-中心點等演算法的聚類分析工具已被加入到許多著名的統計分析軟體包中,如SPSS、SAS等。
從機器學習的角度講,簇相當於隱藏模式。聚類是搜索簇的無監督學習過程。與分類不同,無監督學習不依賴預先定義的類或帶類標記的訓練實例,需要由聚類學習演算法自動確定標記,而分類學習的實例或數據對象有類別標記。聚類是觀察式學習,而不是示例式的學習。
從實際應用的角度看,聚類分析是數據挖掘的主要任務之一。就數據挖掘功能而言,聚類能夠作為一個獨立的工具獲得數據的分布狀況,觀察每一簇數據的特徵,集中對特定的聚簇集合作進一步地分析。
聚類分析還可以作為其他數據挖掘任務(如分類、關聯規則)的預處理步驟。
數據挖掘領域主要研究面向大型資料庫、數據倉庫的高效實用的聚類分析演算法。
聚類分析是數據挖掘中的一個很活躍的研究領域,並提出了許多聚類演算法。
這些演算法可以被分為劃分方法、層次方法、基於密度方法、基於網格方法和
基於模型方法。
1 劃分方法(PAM:PArtitioning method) 首先創建k個劃分,k為要創建的劃分個數;然後利用一個循環
定位技術通過將對象從一個劃分移到另一個劃分來幫助改善劃分質量。典型的劃分方法包括:
k-means,k-medoids,CLARA(Clustering LARge Application),
CLARANS(Clustering Large Application based upon RANdomized Search).
FCM
2 層次方法(hierarchical method) 創建一個層次以分解給定的數據集。該方法可以分為自上
而下(分解)和自下而上(合並)兩種操作方式。為彌補分解與合並的不足,層次合
並經常要與其它聚類方法相結合,如循環定位。典型的這類方法包括:
第一個是;BIRCH(Balanced Iterative Recing and Clustering using Hierarchies) 方法,它首先利用樹的結構對對象集進行劃分;然後再利
用其它聚類方法對這些聚類進行優化。
第二個是CURE(Clustering Using REprisentatives) 方法,它利用固定數目代表對象來表示相應聚類;然後對各聚類按照指定
量(向聚類中心)進行收縮。
第三個是ROCK方法,它利用聚類間的連接進行聚類合並。
最後一個CHEMALOEN,它則是在層次聚類時構造動態模型。
3 基於密度方法,根據密度完成對象的聚類。它根據對象周圍的密度(如
DBSCAN)不斷增長聚類。典型的基於密度方法包括:
DBSCAN(Densit-based Spatial Clustering of Application with Noise):該演算法通過不斷生長足夠高密
度區域來進行聚類;它能從含有雜訊的空間資料庫中發現任意形狀的聚類。此方法將一個聚類定義
為一組「密度連接」的點集。
OPTICS(Ordering Points To Identify the Clustering Structure):並不明確產生一
個聚類,而是為自動交互的聚類分析計算出一個增強聚類順序。。
4 基於網格方法,首先將對象空間劃分為有限個單元以構成網格結構;然後利
用網格結構完成聚類。
STING(STatistical INformation Grid) 就是一個利用網格單元保存的統計信息進行基
於網格聚類的方法。
CLIQUE(Clustering In QUEst)和Wave-Cluster 則是一個將基於網格與基於密度相結合的方
法。
5 基於模型方法,它假設每個聚類的模型並發現適合相應模型的數據。典型的
基於模型方法包括:
統計方法COBWEB:是一個常用的且簡單的增量式概念聚類方法。它的輸入對象是采
用符號量(屬性-值)對來加以描述的。採用分類樹的形式來創建
一個層次聚類。
CLASSIT是COBWEB的另一個版本.。它可以對連續取值屬性進行增量式聚
類。它為每個結點中的每個屬性保存相應的連續正態分布(均值與方差);並利
用一個改進的分類能力描述方法,即不象COBWEB那樣計算離散屬性(取值)
和而是對連續屬性求積分。但是CLASSIT方法也存在與COBWEB類似的問題。
因此它們都不適合對大資料庫進行聚類處理.

㈩ R語言中哪些包是處理混合屬性聚類的

聚類的包,cluster包,裡麵包含了pam,agnes等函數,可以十分方便進行聚類計算。另外有系統自帶的stats包,hclust, kmeans等函數。fpc包做聚類分析,也是可以的。另外,如果需要例子,這些包自帶的文檔裡面都有使用的實例,是很好的學習案例。

閱讀全文

與pam演算法聚類相關的資料

熱點內容
貨拉拉app在哪裡選收藏司機 瀏覽:541
如何從安卓轉移照片到ipad 瀏覽:494
馬士兵java全集 瀏覽:89
農行APP未付款訂單怎麼付 瀏覽:154
生成編譯 瀏覽:591
聯通河南伺服器dns地址 瀏覽:904
如何更改應用加密的畫面 瀏覽:815
河道斷面圖演算法 瀏覽:177
java文件夾監控 瀏覽:352
wapp管理系統源碼 瀏覽:274
我的世界伺服器進去如何從成員調成管理員 瀏覽:888
汽車壓縮機用什麼機油好 瀏覽:838
phpexcel文件上傳 瀏覽:252
如何靜音手機的某個app 瀏覽:889
半導體工藝pdf 瀏覽:782
命令和意願的一致才不會掉鏈 瀏覽:657
設計模式java裝飾模式 瀏覽:694
戀聽app哪裡下載 瀏覽:709
金鏟鏟之戰為什麼一直伺服器滿 瀏覽:74
安卓手機如何像蘋果一樣app資源庫 瀏覽:129