見識資料分析的「獨孤九劍」 | 說人話的統計學·協和八
原創 張之昊 協和八
資料分析的獨孤九劍——
貝 葉 斯 統 計 學
在上一集裡,我們展示了一個也許有些嚇人的事實:
即便你的科學假說經受住了p<0.05的考驗,它真的成立的概率卻是一個跟p值沒太大關係的數字。
它可能很大,也可能很小,具體會是多大的一個數取決於一些其他因素。
然而,很多時候情況並不樂觀(上一集的例子就是一個相當具有一般性的情形),你引以為豪的科學發現也許只是個假陽性結果,也就是俗稱的“詐和”了。
更糟糕的是,當今學術界的文化、科學文獻的審查和出版機制存在著種種弊端,這些都會給魚龍混雜的文獻注入更多的水分,使得假陽性結果進一步增多。
這也是為什麼有人雖有些危言聳聽卻又不無根據地疾呼:絕大多數科研成果都是假的!(回顧5《你的科研成果都是真的嗎?》)
看完了上一集,你也許會說:好吧,學術界自己的這些問題咱們就先不說了,可是那些個統計學家幹嘛一上來就把事情搞得那麼糾結呢?
什麼p值啊、原假設啊、功效啊,一個個定義都繞得要死,弄得我們頭都大了,為什麼不發明一些統計檢驗直接算出假設成立的可能性呢?
答案是,
那樣的統計學方法是有的!
而且值得一提的是,那一套由貝葉斯(Bayes)、拉普拉斯(Laplace)兩位數學大神在18世紀就發展起來的統計學理論,相比起近幾十年來才流行起來的由p值唱主角兒的“頻率學派”假設檢驗方法,歷史要悠久得多。
於是你更奇怪了:那既然貝葉斯學派資格老,還容易理解,為什麼統計學家後來還要另闢蹊徑弄出一套完全不同的東西?
為什麼現在似乎大多數人學的、用的不是貝葉斯統計學?
為了解答這個問題,我們今天就來研究一下貝葉斯統計學到底是怎麼一回事,看看我們是不是也能玩得轉這統計學中的“獨門秘器”。
條件概率 與 貝葉斯定理
環顧各式各樣的概率論和統計學入門書,你會發現滿眼都是t檢驗、方差分析、線性回歸等等“頻率學派”的統計學方法。
然而有意思的是,這些書幾乎都會用不少的篇幅來講一個叫做貝葉斯定理的東西,可是講完之後似乎又再沒什麼下文了。
這個定理和我們今天要講的主題都被冠上了貝葉斯的大名,這可不是出於巧合——貝葉斯定理恰恰就是整個貝葉斯統計學的理論基礎,我們在上一集的例子中計算得到顯著結果的藥物到底有多大可能真的有效,實際上用的也是它(如果你在閱讀上一集時就已經反應過來,“哎喲我去,這不就是貝葉斯定理嘛!”,那麼不妨直接跳到下一節)。
貝葉斯定理是一條關於條件概率的定理。
所謂概率,就是用0和1之間的數來表示某件事情發生的可能性大小,如果我們感興趣的事件用A表示,那麼它的概率就寫成P(A)。
概率為0就是不可能事件,概率為1就是必然事件,而在這兩者之間,概率越大則可能性越大。
(其實“頻率派”和“貝葉斯派”在概率的定義上就開始吵了,這也是兩者最根本的分歧,我們暫時按下不表,只採用比較籠統的理解。)
條件概率指的是,在某件事情A發生的前提下,另一件事情B發生的概率,用P(B | A)表示(注意在分隔號後面的是條件,前面的是我們感興趣的事件)。
比如說,東單某著名醫學院一共有1000個學生,其中400個男生,600個女生。
我們知道女生裡頭有一半穿裙子,一半穿褲子,而在男生中,不知道出於什麼原因也有40個穿裙子,剩下的男生則都是穿褲子。
如果我們想知道男生中穿裙子的比例,那麼這就是條件概率P(裙|男)。
這個條件概率怎麼算呢?
這好辦,我們就數數在所有人裡有多少個穿裙子的男生,然後除以男生的總數就行了。根據上述條件,有:
用類似的方法我們可以算出P(褲 | 男) = 0.9,P(裙 | 女) = P(褲 | 女) = 0.5。
因此,條件概率的一般公式是:
簡單來說,就是條件A之下B發生的概率等於A和B同時發生的概率除以B發生的概率。
如果等式兩邊同時乘以P(B),我們還可以得到:
現在問題來了,某一天,重度近視的你忘了戴眼鏡,朦朦朧朧間你看見一個穿裙子的身影翩然而至,可是你怎麼也看不清來人到底是男是女。
那麼,眼前這人是男生的概率是多少?
用數學的語言來說,現在你想知道的是,在已知眼前這人穿裙子的前提下,此人是男生的條件概率,也就是P(男 | 裙)。
可是,我們之前算過的只是把性別作為條件、穿著作為事件的概率,比如說P(裙 | 男)。
怎樣能把這個次序翻過來呢?
根據條件概率的定義((2)式),我們可以寫出:
先看右邊的分子,P(男 & 裙)是“一個人是男生”和“一個人穿裙子”這兩個事件同時發生的概率,根據(3)式我們可以把它改寫成含有條件概率的形式。
記住,我們已經知道條件概率P(裙 | 男)的值,因此,我們套用(3)式把右邊的分子拆開:
現在你會發現,等式右邊分子上相乘的兩項都是已知的了,所以我們只剩下分母P(裙)了。
它實際上就是在所有學生裡穿裙子的人的比例。
怎麼算呢?
你一定很快就能想到,根據男女生的人數和各自穿裙子的比例,算出穿裙子的男生人數和穿裙子的女生人數,然後除以總人數不就行了?
沒錯!
如果把這個思路寫成數學式子,實際上就是把P(裙)拆成P(男&裙)與P(女&裙)之和,然後再分別套用一次(3)式:
如果我們把(6)代入(5),所有的項就都是已知的了,由此我們就能算出眼前這個穿裙子的同學是男生的概率:
拋開這個具體的例子,把前面得到的(5)式寫成一般的形式:
這就是大名鼎鼎的貝葉斯定理了!
推導出了貝葉斯定理,我們立刻就來用它驗證一下上一集藥物有效性的例子。
如果我們把一個藥物實際有效和無效分別用√和X表示,而實驗結果有無統計學顯著性分別用+和-表示,那麼當我們得到顯著結果時藥物真正有效的可能性就是條件概率P(√ | +)。
回顧顯著性和功效的定義,
顯著性是原假設成立(即藥物無效)時錯誤地得到顯著結果的概率,即P(+ | X) = 0.05;
功效是假設的效應真實存在(即藥物有效)時正確地得到顯著結果的概率,即P(+ | √)=0.8。
而且,在我們的例子裡,100種被測試藥物中只有5種實際有效,也就是P(√) = 5/100 = 0.05,P(X)=95/100=0.95。
用貝葉斯公式我們可以寫出:
把已知條件代入,我們會算出45.7%,和上一集我們用數格子的辦法得到的結果相同(算出來的數值有細微的差別是因為上一集我們把4.75種假陽性藥物四捨五入成了5種)。
從 貝葉斯定理 到 貝葉斯統計學
你也許要說:So what?
從小到大,什麼定理我沒見過?
英國的牛頓、美國的愛因斯坦,比貝葉斯不知道有名多少倍,我在中學課堂上就跟他們談笑風生了,這定理有啥了不起?
貝葉斯定理牛掰的地方,不僅在於它獨力撐起了一整個統計學流派,也不只因為它是現在最火熱的“大資料”機器學習的核心,還在於它與我們人類的思維方法十分貼近。
在日常生活中,我們總是在不斷觀察周圍的環境,然後把觀察到的現象用某種假說來解釋。
我們如何知道這種假說有多大可能成立呢?
注意到在(7)式中,A和B只是抽象的符號,可以代表任何的事物。
因此,我們把“假說”和“現象”分別代替A和B,就能得到:
於是,貝葉斯定理就搖身一變,從一條關於條件概率的定理變成了描述人們認知規律的工具。
它告訴我們,在觀察到某個現象之後,某一假說成立的概率(即等式左邊的P(假說 | 現象),又稱為“後驗概率”)由三個因素決定:
一、在這個假說成立的前提下產生這麼一個現象的可能性P(現象 | 假說),或者說是現象有多符合假說的預測,我們稱為
“似然”(likelihood);
二、這個假說本身成立的可能性大小,由於這是對觀察到現象之前來說的,因此我們稱為
“先驗概率”(prior probability);
三、在萬事萬物中出現這一現象本身的可能性P(現象),我們稱為
“證據”(evidence)。
假設我們只考慮兩種解釋,分別稱為“假說1”和“假說2”。於是我們把兩種解釋分別套進上面的(9)式裡,就寫出了兩條式子:
注意到兩式右邊的分母都是一樣的,所以我們實際上是要比較P(現象 | 假說1)*P(假說1)和P(現象 | 假說2)*P(假說2)這兩個乘積哪個大。比如說,我們看到數列 -1, 3, 7, 11,你說它是一個以4為公差的等差數列呢,還是
-X3 / 11 + 9/11*X2 + 23/11
每項把前項作為 X 代入後算出來的數列?
我們稍微計算一下,就會發現這兩個假說都可以完美地解釋看到的數列(也就是說觀察到的數列在兩個假說之下的似然分別都是1)。
但是你一定會說,雖然數字上都說得通,可是這後一種說法簡直太扯了,誰沒事折騰一這麼複雜的多項式呢?
在這時,你實際上就是在比較這兩種假說的先驗概率P(假說1)和P(假說2)。
所以,貝葉斯定理只不過是把我們習慣的思考方式用數學語言表達出來而已。
在這裡我們也可以回想上一集說過的“基數謬誤”,為什麼在具有顯著結果的藥物中真正有效的比例並不高呢?
這恰恰就是因為藥物有效的先驗概率(100種裡只有5種)太低了,儘管得到的顯著結果與藥物有效這個假說看起來十分符合(即“似然”很大),得到的後驗概率仍然不大。
說了這麼多,我們離貝葉斯統計學只有一步之遙了。
我們剛剛講過,貝葉斯定理可以描述現象與假說之間的關係。
那麼在統計學的眼裡,
現像是什麼呢?
自然是我們做研究得到的資料了。
那麼假說呢?
既然統計學是一門定量的學問,我們同樣需要量化的方法來描述我們的假說。
比如說,你想研究一個區域的人均期望壽命, 或者不同幹預手段對病人存活率的影響,又或者是家庭收入與某種疾病發病年齡的相關關係,所有這些假說都需要有特定的數量來表述,這些數量我們稱為“參數”。
統計學的目的,就是考察在既有的資料之下,以某些參數來表示的假說成立的可能性。
因此,我們再把貝葉斯定理改頭換面一下:
這就是貝葉斯統計學所有方法追根溯源的核心了!
通過這樣的分析,我們可以算出在給定我們當前已有資料的前提下,某個假說(由一系列參數表示)成立的概率。
瞭解了貝葉斯統計學的思想方法,它和當今主流的頻率學派統計學的區別在哪裡?
既然說是“獨孤九劍”,為何它又曾沉寂多時?
我們能在自己的資料分析中運用貝葉斯統計學嗎?
所有這些問題,諸位看官請聽下回分解。
✪
查看本系列全部文章。
第 1 章 高屋建築看統計
你真的懂p值嗎?
做統計,多少資料才算夠?(上)
做統計,多少資料才算夠?(下)
提升統計功效,讓評審心服口服!
你的科研成果都是真的嗎?
見識資料分析的「獨孤九劍」
參考文獻:
1. Kruschke, J. (2014). Doing Bayesian data analysis: A tutorial with R, JAGS, and Stan. Academic Press.
2. 劉未鵬 《平凡而又神奇的貝葉斯方法》http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/
3. MacKay, D. J. (2003). Information theory, inference and learning algorithms. Cambridge university press.
4. Carlin, B. P., & Louis, T. A. (2008). Bayesian methods for data analysis. CRC Press.
作者:張之昊
編輯:燈盞細辛