本文是對 孟浩巍
生物信息學入門課:學習生信你需要了解的統(tǒng)計學課程的學習臂港。
五. 假設(shè)檢驗
1. 假設(shè)檢驗基本介紹
K.Pearson——Sir Ronald Aylmer Fisher(女士品茶,F(xiàn)isher線性判別浑娜,極大似然估計棚愤,試驗設(shè)計)——Neyman and E Pearson.
Fisher的女士品茶提出來的小概率標準為0.05宛畦。
什么是假設(shè)揍移?:通過MT和TM的假設(shè)確定總體的一些參數(shù)踏施;什么是檢驗:判斷假設(shè)是否成立畅形,是否為小概率事件诉探。
假設(shè)檢驗的一般步驟:
- 提出原假設(shè)H0和備擇假設(shè)H1
- 確定適當?shù)臋z驗統(tǒng)計量(t檢驗/卡方/F檢驗)
- 計算出抽樣結(jié)果的PValue
- 如果PValue很小(0.01/0.05)肾胯,拒絕H0接受H1
2. PValue的計算
R中計算PValue的相關(guān)函數(shù):
- Beta分布——二項分布——柯西分布——卡方分布——指數(shù)分布——F分布——Gamma分布——幾何分布——超幾何分布——邏輯斯特分布——Log Normal分布——負二項分布——正態(tài)分布——泊松分布——T分布——均勻分布——威泊爾分布
- p(probability)概率分布竖席,累計分布概率
- q(quantile)分位數(shù)計算,確定99%的分位數(shù)
- d(density)概率密度函數(shù)(概率密度函數(shù)y軸坐標取值)
- r(random)取對應(yīng)分布的隨機數(shù)
##確定分位數(shù)
qnorm(0.99,mean=0,sd=1) ##確定99%的分位數(shù)值
## 確定概率
pnorm(-1.96,mean = 0, sd =1) ## 0.024
pnorm(0,mean = 0, sd =1) ## 0.5
##概率密度函數(shù)曲線
plot(dnorm(seq(-10,10,length.out = 1000),mean = 0,sd = 1))
##模擬取值
rnorm(10,mean=5,sd=2)
###設(shè)置隨機種子保證rnorm里取值一致敬肚。
sed.seed(2019)
rnorm(10,mean=5,sd=2)
在生物信息里的例子:
-
某次測序全基因組平均突變率為0.003毕荐,某個位點中檢測到帶有C的reads10條,帶有T的reads為3條艳馒,那么該位點是否為一個甲基化位點憎亚?(background:原始的C,被清洗后不帶甲基化位點為T,帶甲基化(C被保護)位點為C)
- 二項分布:n=13, p=0.003
- 具體R中
pbinom(q=3,size = 13,prob = 0.003)
-
MACS2中call peak認為reads count在基因組某個區(qū)域的分布服從泊松分布虽填,估算某一段區(qū)域中的Possion分布的參數(shù)?假設(shè)已經(jīng)估算出lambda=5第献,如果一段區(qū)域內(nèi)出現(xiàn)了20條reads衫樊,那么pvalue應(yīng)該是多少臀栈?
- lambda估算:一段區(qū)域的reads count數(shù)出來,平均?或者估算整體基因組的lambda。
- x=20,21,22...出現(xiàn)抽樣結(jié)果或者比抽樣結(jié)果更極端的情況。加起來一起的pvalue即為次pvalue
- 具體R中計算
ppois(20,lambda=5)
為累計概率。>20的pvalue1-ppois(20,lambda=5)
3. 統(tǒng)計功效和假設(shè)檢驗的兩類錯誤
兩類錯誤和統(tǒng)計功效:
1類錯誤假陽性,2類錯誤假陰性。α去真概率,β納偽概率。
當樣本量確定時,α和β是一個balance。α是定義的顯著性水平,如0.01踩衩,pvalue實際是很小。而α定的十分小的情況下,β的犯錯概率就大了浑侥。所以具體再平衡的過程中需要進一步考慮伶选。例如在癌癥檢測時陨簇,會盡可能把H1都找出來荷鼠,所以寧愿假陽性高牍疏,假陰性低厦滤,cutoff 甚至0.1羽峰。而相反的在call peak時要找到最真的peak
提高統(tǒng)計功效:加大樣本量(較簡單)坯汤,更改統(tǒng)計方法妈橄。
4. 使用Pvalue常見的錯誤
1. 在任何時候都以0.05或者0.01作為金標準
- 有些統(tǒng)計檢驗如Fisher Exact test類(GO/KEGG/Motif計算)容易出現(xiàn)非常小的pvalue。一般會取10-4枫疆,認為取小于10e-4才算顯著。
2. 設(shè)定Pvalue閾值時忽略了2類錯誤的犯錯可能辆亏。
- 比如在病理確診時 H0代表沒病,H1代表有病恍箭。二類錯誤的假陰性更嚴重,所以設(shè)置α提高0.1/0.2置森,假陰性β就會降低呛凶。
3. 計算Pvalue過程中把兔,忽略了使用假設(shè)檢驗的基本條件暖混。
- 比如t檢驗(服從正態(tài)分布贮配,兩個樣本方差齊叼旋。如果不服從原假設(shè)基本要求衫冻,而應(yīng)用其它的如非參數(shù)檢驗)
4. 在使用PValue的時候,會忽略了假設(shè)檢驗的原假設(shè)呜象。
- 僅能說是根據(jù)Pvalue發(fā)現(xiàn)有相關(guān)關(guān)系膳凝,但相關(guān)關(guān)系不大。
回歸分析時恭陡,原假設(shè)的兩個變量是不是有相關(guān)關(guān)系(沒有/有 )蹬音,而具體相關(guān)關(guān)系的大小,歸到回歸中解釋休玩。
4. T檢驗相關(guān)內(nèi)容
主要圍繞正態(tài)分布進行著淆。大樣本Z-test,小樣本T-test
1. Z-score和Z變換
- Z變換是已知了總體方差和總體均值的情況拴疤。其中在α=0.05時永部,Z=+-1.96,所以按公式計算完Z值之后再通過pnorm(z,mean=0,sd=1)轉(zhuǎn)換呐矾。
2. 為什么有了Z test之后還要T test苔埋?:因為通常情況下我們很難獲得總體方差(最多獲得總體均值的估計),往往就想通過樣本方差來代替總體方差蜒犯。
## R中T-test值轉(zhuǎn)換為Pvalue
1-pt(q=14.16,df=10-1)
- (當X均值-樣本均值)/(樣本方差/根號n)组橄,它是服從自由度n-1的student-T-test。自由度越高越服從正態(tài)分布愧薛,n越大越服從z test大樣本統(tǒng)計。
- 大樣本統(tǒng)計的n至少>=30(50)衫画,所以在一般情況下大都是進行T-test
3. T-test兩種最常見的情況:
- 有一組試驗樣本數(shù)據(jù)毫炉,與已知標準均值去做比較
### 已知A基因在總體均值中為15,觀察5個人中A(13.1,16.2,14.9,15.8,17.7),分析該病人基因A有無顯著升高削罩。
res <- c(13.1,16.2,14.9,15.8,17.7)
t.test(res,mu = 15,alternative = "greater") ##單端變大瞄勾,所以alternative="greater"
- 兩批獨立隨機試驗結(jié)果费奸,需要比較是否有差異(已知樣本均值,樣本方差相等)
- 兩個樣本是獨立的隨機樣本(一般儀器測量的屬于正態(tài)分布进陡,有多個因素影響愿阐,而沒有主效因素影響同屬于正態(tài)分布)
- 兩個總體都是正態(tài)分布
-
兩個總體方差未知但相等(兩批實驗組內(nèi)的variation不能過大)
### 2. compare two sample
geneB.ctrl <- c(12.33,7.56,11.47,9.82,9.14)
geneB.deoxy <- c(10.41,14.82,14.13,15.81,13.62)
t.test(geneB.ctrl,geneB.deoxy)
- 配對樣本的均值比較T-test(如同組實驗樣本的前后進行比較趾疚,一個group比較用藥前和用藥后)作差缨历,如果沒差異的話是根0比較接近。即可根據(jù)公式進行檢驗糙麦。得出的T-test值后查表
### 3. paired t.test
before.fitness=c(94,101,110,103,97,88,96,101,104,116.5)
after.fitness <-
- 2組獨立隨機試驗結(jié)果辛孵,在方差不相等的情況下做比較(應(yīng)該首先用F檢驗來檢查方差是否相等,在方差不相等的情況下赡磅,應(yīng)該使用t'檢驗或者是Wilcox秩和檢驗)
### 4. compare two sample ,方差不相等
geneB.ctrl <- c(12.33,7.56,11.47,9.82,9.14)
geneB.deoxy <- c(3.41,14.82,14.13,15.81,4.62)
## 先F檢驗var.test檢測兩個樣本內(nèi)方差是否相等
var.test(geneB.ctrl,geneB.deoxy)
## t.test
t.test(geneB.ctrl,geneB.deoxy,var.equal = F)
## wilcox test
wilcox.test(geneB.ctrl,geneB.deoxy)
5. 列聯(lián)表檢驗
生物信息中常見的列聯(lián)表檢驗問題即GO/KEGG富集分析問題
- 利用R語言中的
chisq.test
函數(shù)
# chisq test 2
ratio_vec = c(335,125,160)
prob_vec = c(9,3,4) / 16
chisq.test(ratio_vec,p = prob_vec)
- 大樣本水平下魄缚,我們認為K近似服從卡方分布,從而進行卡方檢驗焚廊。小樣本情況冶匹,即表格中理論頻數(shù)小于5,加和樣本總數(shù)n<40咆瘟,應(yīng)該使用Fisher exact test精準檢驗嚼隘。而當理論頻數(shù)大于5時,進行卡方檢驗
- Fisher exact test本質(zhì)上是超幾何分布檢驗搞疗,在生物信息上如富集分析嗓蘑,判斷某位點是否為突變位點。
# fisher test
test_mat = matrix(c(55,200,200,19800),ncol = 2,nrow = 2)
fisher.test(test_mat)