統(tǒng)計(jì)假設(shè)檢驗(yàn) Statistical hypothesis testing
假設(shè)檢驗(yàn)是使用來(lái)自總體的采樣(sampling)提供的信息,做出關(guān)于一個(gè)對(duì)總體的決策。需注意抽樣應(yīng)能夠代表總體。
?對(duì)總體的某種規(guī)律提出一個(gè)假設(shè),通過(guò)樣本數(shù)據(jù)推斷,決定是否拒絕這一假設(shè),這樣的統(tǒng)計(jì)活動(dòng)稱(chēng)為假設(shè)檢驗(yàn)。
假設(shè)檢驗(yàn)的基本步驟
1. 建立檢驗(yàn)假設(shè),確定檢驗(yàn)水準(zhǔn)
2. 選擇并計(jì)算檢驗(yàn)統(tǒng)計(jì)量
3. 確定p值,做出推斷
假設(shè) hypothesis
統(tǒng)計(jì)假設(shè)是一種關(guān)于感興趣的總體的陳述。一般我們有一個(gè)原假設(shè)/零假設(shè)/無(wú)效假設(shè)/H0/ null hypothesis和一個(gè)備擇假設(shè)/替代假設(shè)/HA/alternative hypothesis。無(wú)效假設(shè)通常代表“無(wú)效”的狀態(tài),即“沒(méi)有影響、沒(méi)有效果、沒(méi)有差異”。
例如:H0 性別對(duì)身高沒(méi)有影響/男女平均身高沒(méi)有差異。
p值
A p-value is the probability that random chance generated the data, or something else that is equal or rarer.
p值是生成某數(shù)據(jù)的隨機(jī)機(jī)率,包括三部分:隨機(jī)產(chǎn)生這個(gè)事件的概率,產(chǎn)生與該事件相同概率的其它事件的概率,產(chǎn)生比該事件的概率更小的事件的概率,這三部分概率加起來(lái)就是p值。
統(tǒng)計(jì)假設(shè)檢驗(yàn)的結(jié)果通常用p值來(lái)表示。為了從我們的變量的觀測(cè)值獲得p值,首先需要構(gòu)造一個(gè)測(cè)試統(tǒng)計(jì)量,如果零假設(shè)確實(shí)成立,我們可以從理論上計(jì)算統(tǒng)計(jì)量的分布情況。然后,我們可以將從我們的采樣數(shù)據(jù)中計(jì)算出的值與該分布進(jìn)行比較,并假設(shè)如果零假設(shè)為真,那么將獲得觀測(cè)數(shù)據(jù)或比觀測(cè)數(shù)據(jù)更極端的測(cè)試統(tǒng)計(jì)值的概率是p值。
p值是當(dāng)原假設(shè)成立時(shí),出現(xiàn)目前觀察到的情況的概率、加上出現(xiàn)和目前情況概率相同或概率更低的事件的概率。如果p值比較小,可以認(rèn)為當(dāng)原假設(shè)成立時(shí)出現(xiàn)目前的情況是小概率事件,不太可能發(fā)生,而更有可能是原假設(shè)不成立。
注意:
?p值并不能告訴你零假設(shè)是真的可能性。同樣,它也沒(méi)有告訴你替代假設(shè)是真的可能性。
如果你不能拒絕零假設(shè),你還沒(méi)有證明零假設(shè)是正確的。但簡(jiǎn)單地說(shuō),當(dāng)前的數(shù)據(jù)集沒(méi)有提供足夠的證據(jù)來(lái)拒絕它。
p值只關(guān)心數(shù)據(jù)與原假設(shè)有多么不一致,不能代表你所發(fā)現(xiàn)的效應(yīng)(差異)的大小,更不能告訴我們這種效應(yīng)是否有實(shí)際意義。
顯著性水平α
規(guī)定一個(gè)顯著性水平α,如果p值小于顯著水平,就可以拒絕原假設(shè),認(rèn)為得到的結(jié)果是顯著的。從另一個(gè)角度看,α是在原假設(shè)為真時(shí)拒絕原假設(shè)的概率(假陽(yáng)性錯(cuò)誤),是在大量重復(fù)實(shí)驗(yàn)時(shí)我們能承受的第一類(lèi)錯(cuò)誤的概率的上限。從相同的總體取樣進(jìn)行檢驗(yàn)的p值是均勻分布的,假陽(yáng)性的比率與α值相等。
假設(shè)檢驗(yàn)的兩類(lèi)錯(cuò)誤
第I類(lèi)錯(cuò)誤(type I error):假陽(yáng)性錯(cuò)誤。 把沒(méi)有差異說(shuō)成有差異,把沒(méi)病說(shuō)成有病,把無(wú)效說(shuō)成有效等。
第II類(lèi)錯(cuò)誤(type II error):假陰性錯(cuò)誤。 把有差異說(shuō)成沒(méi)有差異,把有病說(shuō)成沒(méi)病,把有效說(shuō)成無(wú)效等。
多重假設(shè)檢驗(yàn)
如果我們只執(zhí)行一個(gè)測(cè)試(在數(shù)據(jù)集中只有一個(gè)變量),那么使用p值來(lái)解釋統(tǒng)計(jì)測(cè)試的結(jié)果很好。一旦測(cè)試次數(shù)增加,p值作為顯著性度量的有用性就會(huì)降低。
多重比較使假陽(yáng)性的概率大量增加。對(duì)一個(gè)變量進(jìn)行統(tǒng)計(jì)檢驗(yàn),假陽(yáng)性的概率為α=5%,不犯假陽(yáng)性錯(cuò)誤的概率為95%;對(duì)5個(gè)變量一起進(jìn)行檢驗(yàn),不犯假陽(yáng)性錯(cuò)誤的概率為0.95^5=0.77,至少出現(xiàn)一次第I類(lèi)錯(cuò)誤的概率就是1-0.95^5=0.23;如果檢驗(yàn)的次數(shù)m更多,幾乎必然會(huì)有至少1個(gè)假陽(yáng)性錯(cuò)誤。我們把這個(gè)“至少有1個(gè)錯(cuò)誤”的概率稱(chēng)為總體錯(cuò)誤率(Family-Wise Error Rate,F(xiàn)WER),F(xiàn)WER = 1- (1- α)^m。
假設(shè)我們的數(shù)據(jù)集中有10000個(gè)變量,并且對(duì)于每一個(gè)變量,原假設(shè)都是正確的(沒(méi)有差異)?,F(xiàn)在對(duì)每個(gè)變量進(jìn)行統(tǒng)計(jì)檢驗(yàn)。在這個(gè)例子中我們將有大約0.05×10000=500個(gè)變量的p值低于0.05。這些都被稱(chēng)為假發(fā)現(xiàn)或假陽(yáng)性(false discoveries or false positives)。如果數(shù)據(jù)中存在一些確實(shí)有差異的變量,則它們將與假陽(yáng)性混合。在判斷差異表達(dá)基因時(shí),大部分基因都是沒(méi)有明顯變化的,小部分基因是顯著差異的,這樣統(tǒng)計(jì)得到的顯著性結(jié)果中,會(huì)有很大比例的假陽(yáng)性。
p值校正
在進(jìn)行多次假設(shè)檢驗(yàn)的時(shí)候,為了避免增大犯I型錯(cuò)誤的概率,常用bonferroni、fdr(BH) 以及q值等方法對(duì)比較結(jié)果的p值進(jìn)行校正(嚴(yán)格來(lái)說(shuō),q值并不是用來(lái)校正p值的)。
padj
adjust p-values是經(jīng)過(guò)校正后的p值,通過(guò)一些算法,比如Benjamini-Hochberg method,使p值變的更大一些,從而控制假陽(yáng)性的數(shù)量。
bonferroni校正
bonferroni是特別保守的一種多重比較校正方法,它拒絕了所有的假陽(yáng)性結(jié)果發(fā)生的可能性。FWER = 0.05,α = 0.05/m,p<0.05/m時(shí)才拒絕原假設(shè)。相當(dāng)于每一個(gè)檢驗(yàn)做出來(lái)的p值都要乘以m,作為校正后的P值。這樣進(jìn)行10000次檢驗(yàn)后,平均假陽(yáng)性次數(shù)也依然被控制在0.05次。
t.df1$bon <- p.adjust(t.df1$sim_p, method = "bonferroni")
FDR
錯(cuò)誤發(fā)現(xiàn)率(false discovery rate,F(xiàn)DR)是假陽(yáng)性的預(yù)期分?jǐn)?shù),即假陽(yáng)性數(shù)量除以所有認(rèn)為是陽(yáng)性結(jié)果的數(shù)量,FDR=FP/(FP+TP)。
如果FDR<0.05,那么在顯示為顯著性的結(jié)果里,有不到5%為假陽(yáng)性。當(dāng)FDR=0.05時(shí),一共有1805個(gè)陽(yáng)性,但是這些陽(yáng)性樣本中,有5%是假陽(yáng)性,即有90個(gè)是誤診的。
有多種模型用來(lái)從p-value估算FDR值,其中使用的最多的是Benjaminiand Hochberg的方法,簡(jiǎn)稱(chēng) BH法。BH法雖然不夠精確,但是簡(jiǎn)單好用。
Benjamini-Hochberg校正方法
fdr默認(rèn)Benjamini-Hochberg method,仍然略顯保守。它關(guān)注的是所有認(rèn)為是陽(yáng)性的結(jié)果中,假陽(yáng)性的比例,F(xiàn)DR的目的就是要將這個(gè)比例降低到α。
其方法是:把所有的p值從小到大排序并編號(hào)i,然后最大的p值不變,其余的p值調(diào)整后變成 原始p值×(p值總數(shù)m/這個(gè)p值排序的編號(hào)i)??梢詮臄?shù)學(xué)上證明經(jīng)過(guò)BH方法校正后的adjust p-values(即q-values或FDR)可以控制FDR在α以?xún)?nèi)。
實(shí)際上,BH法的原始算法是找到一個(gè)最大的編號(hào)i,滿足P≤i/m*FDR閾值,此時(shí)所有編號(hào)小于i的數(shù)據(jù)就都可以認(rèn)為是顯著的。在實(shí)踐中,為了能夠在比較方便的用不同的FDR閾值對(duì)數(shù)據(jù)進(jìn)行分析,會(huì)計(jì)算所有的FDR,這樣無(wú)論FDR閾值選擇多少,都可以直接根據(jù)FDR的數(shù)值來(lái)直接找到所有顯著的數(shù)據(jù)。
t.df1$fdr <- p.adjust(t.df1$sim_p, method = "fdr")
q值
FDR的控制方法,延伸出了一個(gè)被校正后的p value的概念(比P value更嚴(yán)格),稱(chēng)之為Q value,這個(gè)概念是最早是John Storey(2002)提出的。一般情況下,我們可以認(rèn)為q value = FDR = adjusted p value。據(jù)說(shuō)Storey方法是最流行的FDR control procedure(For details see Storey's paper published on PNAS ,2003)。這是一種利用多重比較結(jié)果中的p value 分布,來(lái)預(yù)估真實(shí)的陽(yáng)性率的方法,從而提高了FDR值預(yù)估的準(zhǔn)確性。
q值是傳統(tǒng)p值的FDR模擬(analog)。對(duì)于給定的變量(p-value = p*),q值估計(jì)p值低于p*的所有變量中錯(cuò)誤發(fā)現(xiàn)的分?jǐn)?shù)。q值表示在檢測(cè)陽(yáng)性個(gè)體中,假陽(yáng)性個(gè)體所占的比例。取q=0.05,假陽(yáng)性/(假陽(yáng)性+真陽(yáng)性)=0.05。此時(shí)p值并不是0.05(可能是0.058)。
t.q1 <- qvalue(t.df1$sim_p)
t.df1$qval <- t.q1$qvalue
獨(dú)立篩選 independent filtering
FDR控制了假陽(yáng)性,但是也丟失了很多真正有差異的結(jié)果。所以還有獨(dú)立篩選(independent filtering)減少假陰性。獨(dú)立篩選認(rèn)為表達(dá)量很低的基因可能不能提供有用信息,可以先把它們?nèi)サ?,減少參與分析的基因總數(shù),從而減少丟失的真陽(yáng)性結(jié)果。