要做 t 檢驗,這兩口毒奶可喝不得!| 協和八
原創 張之昊
作者有話講 我們這個「說人話的統計學」系列,自從開講 t 檢驗以來,從 t 檢驗的原理一路講到了分析結果的報告與視覺化,到現在這一部分也差不多該告一段落了,你現在是不是該對 t 檢驗胸有成竹了呢?作為最基礎的統計檢驗,t 檢驗說難不難,說易也不易,我們今天就再來講一講在做 t 檢驗前後容易犯的錯誤。
在我們之前的文章裡,已經和大家提到過一些對 t 檢驗的誤用誤讀,比如說該用成對資料的 t 檢驗卻用了獨立資料的 t 檢驗啦,把 t 檢驗用在不能滿足抽樣分佈的正態假設的資料上啦,把統計學意義上的顯著性等同于實際意義上的顯著性啦,光說顯著性不說效應大小啦,林林總總不一而足,相信你一定已經耳熟能詳,不會再掉進這些坑裡了。
但我們今天要著重說的不是這些,而是兩種不那麼顯而易見的錯誤——儘管稍稍有些隱蔽,它們在學術文獻(即便是頂級期刊)中出現的機會卻相當不少!
想要自己的 t 檢驗無懈可擊?快來和我們一起看看這兩口毒奶長什麼樣吧!
毒奶 No.1 顯著性的差異 vs. 差異的顯著性
話說暑假到了,藍精靈們都放假玩耍去了,校園裡格外冷清,食堂裡格格巫的包子視窗生意也十分慘澹。
為了幫補家用,格格巫來到樓上大嘴教授的實驗室,當上了臨時技術員。作為蘑菇研究泰斗的大嘴教授,自然是有點嫌棄格格巫的黃油手,不過聽說格格巫在智鬥藍精靈(準確地說應該是被藍精靈智鬥)的過程中,增長了不少統計學知識,決定給他一個機會。
大嘴教授給格格巫分配了一個小課題,讓他研究白蘑菇湯和褐蘑菇湯對降低血壓的作用有沒有什麼區別。
沒過幾天,格格巫就興沖沖地跑到大嘴教授的辦公室,得意洋洋地宣佈:「白蘑菇湯比褐蘑菇湯的降壓效果更好!」
大嘴教授一聽,心想這小子果然有兩把刷子啊,真是沒看錯人!心情一好,他平時的架子也無影無蹤:「哎呀真是辛苦了,坐坐坐,喝杯茶然後把資料給我講講?」
格格巫掏出實驗記錄本,送到大嘴教授跟前:
「您看啊,白蘑菇湯對血壓的平均降低作用是 10 毫米汞柱,平均值的標準誤差為 4 毫米汞柱。
因為我們是要研究蘑菇湯能否降低血壓,所以我們的原假設就是「蘑菇湯對血壓的降低作用為0 」。
因此,我把白蘑菇湯的資料做以 0 為標準值的單樣本 t 檢驗,得到了小於 0.01 的 p 值,說明結果具有統計學意義上的高度顯著性,也就是說白蘑菇湯能夠顯著降低血壓。」
「而褐蘑菇湯對血壓的平均降低作用是 4 毫米汞柱,平均值的標準誤差也是 4 毫米汞柱,同樣進行單樣本 t 檢驗,p 值為 0.28,遠大於 0.05,也就是說從統計學意義上講褐蘑菇湯不能顯著降低血壓。」
「所以,白蘑菇湯有顯著性,而褐蘑菇湯沒有,自然白蘑菇湯比褐蘑菇湯的降壓效果更好!」
聽了格格巫的一席話,有沒有感覺很有道理?
如果你的回答是肯定的,那麼再讀一遍找找茬?
其實呢,一直到最後一句之前,格格巫說的話都是沒有錯的,唯獨是最後這一句話猛地悶了一口毒奶。
這口毒奶到底是什麼呢?
讓我們先暫時忘掉格格巫說了啥,想想如果我們自己來分析這個資料會怎樣做。
無論做什麼統計分析,我們要記住的一個重要原則是,統計測試的選用必須要從我們想要瞭解的實際問題出發。
大嘴教授感興趣的是兩種蘑菇湯的降壓作用有沒有區別,而我們手頭上有這兩種蘑菇湯各自的降壓作用的資料。
一般來說,這兩組資料都是獨立的(因為如果在同一組受試者上先後使用兩種湯藥,就可能無法在同一個起跑線上測量兩者的作用),因此,最合適的檢驗就是獨立樣本的 t 檢驗(如果你不太確定的話,不妨回顧12.就是要實用!t 檢驗的七十二變)。
如果我們來做這樣一個檢驗,我們就會得到相當大的 p 值(大概在 0.5 左右)。
換言之,白蘑菇湯和褐蘑菇湯的降壓作用並沒有顯著區別。
當然,我們之前也講過,光看 p 值是不夠的。
對於這個例子來說,從兩組平均值上看,降壓作用有一定的區別,這種區別既可能僅僅是由抽樣隨機性導致的,也有可能暗示著真實存在的區別。
然而,就現有的資料來說,我們無法推翻白蘑菇湯與褐蘑菇湯降壓作用沒有區別的原假設。
顯然,這個結論和格格巫的說法是矛盾的。
問題出在哪裡?
我們回過頭來看看:
格格巫之所以作出白蘑菇湯比褐蘑菇湯更有作用的結論,是基於兩個單樣本 t 檢驗的顯著性的差別——白蘑菇湯有顯著性,而褐蘑菇湯沒有。
但是格格巫並沒有直接對他們本來需要瞭解的問題——兩者有沒有差別——進行有針對性的檢驗。
他的結論並非出自檢驗本身,而只是字面意義上的「差別」而已。
所以,我們希望強調的是,兩組資料各自進行某個檢驗,其顯著性的差別並不代表這兩組資料的差別具有顯著性。
要試圖研究某個問題(比如說兩組資料均值有沒有差別),就必須找到能直接回答這個問題的相應檢驗方法,而不能通過比較這兩組資料其他某個檢驗結果顯著性的差別來下結論。
同樣的道理,在蘑菇湯這個例子裡,如果有兩組資料各自做單樣本 t 檢驗都有顯著性,也不能代表它們之間就沒有差別。
假設格格巫又研究了第三種湯藥灰蘑菇湯,它對血壓的平均降低作用是 3 毫米汞柱,平均值的標準誤差是 0.8 毫米汞柱。
因此,灰蘑菇湯本身有統計學上顯著(但實際上很微小)的降血壓作用(單樣本 t 檢驗 p 值小於 0.001)。
但如果我們用獨立樣本的 t 檢驗比較都有顯著性的白蘑菇湯和灰蘑菇湯的區別,依然會得到顯著的結果。
值得一提的是,這口毒奶並不只在 t 檢驗中出現,將來講到線性回歸等話題時,我們還會再次給大家提個醒兒。
毒奶 No.2 資料點的獨立性
所謂吃一塹長一智,格格巫又漲了新姿勢。
大嘴教授又發問了:「小格呀,你再跟我說說你用在 t 檢驗裡的資料都是怎麼收集的?」
格格巫打起精神,回答道:「我白蘑菇湯組和褐蘑菇湯組分別用了 10 只小鼠,每只小鼠我分別將處理後的血壓降低值重複測量了 3 遍,所以兩組各自有 10×3=30 個資料點。
然後,我就可以用這些資料點做單樣本 t 檢驗或者獨立樣本 t 檢驗了。」
我們再次把畫面停住,你能發現這裡又有什麼問題嗎?
相信你一定記得,所有統計學核對總和模型都對資料本身的性質和產生的物理過程有一定的假設和要求,只有當這些假設滿足(或近似滿足)時,統計檢驗才能給我們正確、可靠的結論。
我們之前討論過 t 檢驗的其中一個重要假設,即抽樣分佈的正態性(回顧13.不是正態分佈,t 檢驗還能用嗎?;14.只有15個標本,也能指望 t 檢驗嗎?)。
t 檢驗還有一個很關鍵的假設,就是要求各組內的資料點之間是互相獨立的。
這是什麼意思呢?
在概率論裡,獨立性有嚴格的定義,這裡我們不必糾結具體的理論。
簡單來說,就是不同的資料點的產生過程沒有關聯。
換個角度來講,如果一堆資料點是獨立的,那麼知道其中某一個的數值不能使我們更好地猜測另外那些資料點的數值。
那麼我們回想一下,格格巫的資料點是否具有這樣的性質?
恐怕不然。
因為在一組 30 個資料中,來自同一只小鼠的 3 個資料點是有聯繫的。
如果我們知道了某只小鼠的一個數據點,那麼相比起其他小鼠的資料,我們能夠對這一隻小鼠的另外兩個資料點作出更有針對性的猜測。
也就是說,格格巫這樣的資料並不獨立。
為什麼不獨立的資料做 t 檢驗會有問題?
我們之前講過,t 檢驗的顯著性取決於效應大小以及樣本量。
同樣的效應大小,樣本量越大,就越有統計學意義上的顯著性( p 值越低)。
但當樣本中的資料不獨立時,由於資料點之間的關聯,實際上「有效」的樣本量就會比表面上的資料點個數少。
具體少多少取決於來自同一個單元的資料點的相互關聯程度。
想像一種極端情況,如果在格格巫的例子裡,每只小鼠的 3 次重複測量值都完全相同(即它們完全不獨立),實際上樣本量就只有 10 了。
通常來說,同一個單元的多個數據點仍然會有一些波動,所以「有效」的樣本量將會在 10 和 30 之間。
然而,當 t 檢驗在根據 t 統計量和自由度計算 p 值時,仍然會把 30 當成樣本量,因此算出來的 t 值就會偏大,而 p 值則會偏小(戳此處回顧 11.想玩轉t檢驗?你得從這一篇看起)。那麼,我們就會傾向于把本來達不到顯著水準的結果認為是顯著的,也就是犯更多的第一類錯誤( type 1 error )了(第一類錯誤和第二類錯誤的定義可回顧2.做統計,多少資料才算夠?(上))。
需要指出的是,在這個例子裡,資料之間不獨立的原因是因為有些資料點來源於同一個個體(小鼠)。
但是,這並不是產生不獨立性的唯一原因。
在科研實踐中,只要某兩個資料點之間存在某種已知的、與它們和其他資料點之間不同的聯繫,它們就是不獨立的,比如來自同一個家庭的幾個受試者、來自同一所學校同一個班級的幾個學生、在同一個醫院接受治療的幾個病人、來自同一只動物的幾個細胞等等。
一般來說,只要資料的結構是有「嵌套」( nested )關係的,都會具有相互不獨立的特徵。
比方說,我們希望分析江蘇省居民的可支配收入,同時我們還記錄了所有江蘇省居民住在哪個社區、哪個城市, 這樣就形成了一個具有嵌套關係的樣本,因為每個社區都包含了若干個居民資料點(居民被「嵌套」在社區裡),而每個城市又包含了若干社區(社區被「嵌套」在城市裡)。
顯然,在居民這一層,各個數據點並不是獨立的,因為兩個都住在南京市某個社區的居民的收入情況會受到一些共同因素的影響(例如這個社區的房價、所處地段、是否為某單位的大院),而兩個住在南京市不同的兩個社區的居民的收入之間的關聯一般來說就少一些。
如果我們往上走一層來到社區這一級,江蘇省全省各社區居民的平均收入同樣不是獨立的,因為這些小區分屬不同的城市,兩個在同一個城市的社區收入狀況一般來說就會相近一些,因為它們都會受到所在城市的各種社會經濟發展情況的影響。
而一個南京的社區和一個連雲港的社區之間的相似性則會小一些(但依然不會完全獨立,因為它們都屬於同一個省份和國家)。
認識了這第二口毒奶,我們怎麼樣可以不喝?
對於有嵌套關係的資料,通常有兩種解決方法。
第一,我們可以選定嵌套關係中的某一層,以該層為單位將不同的資料點取平均,這樣一來,這一層的每個單元就只有一個數據點,在有些條件下它們之間可以認為是相互獨立的。
在上面這個例子裡,格格巫可以先把每只小鼠的 3 個血壓降低值取平均,然後再對兩組(每組 10 個資料點)資料做 t 檢驗。
這樣做的優點是讓我們回到基本的 t 檢驗等方法,容易掌握和解讀,但缺點則是損失了原始資料中的一部分資訊(每只小鼠重複測量的波動性的差別),因而會在一定程度上降低統計效能。
而更好、也更複雜的解決方法,是使用多層模型( multilevel models,又稱分層模型 hierarchical models )。
這是一類專門為具有嵌套關係的資料發展出來的統計學方法,能夠把資料收集過程中的不同層次、不同單元考慮進來,而不需要提前取平均,避免了前一種方法損失效能的問題。
這一類模型尤其在生物醫學研究中有極為廣泛的應用價值,但需要相對複雜一些的方法和技巧。
我們「說人話的統計學」專欄將會在介紹完方差分析( ANOVA )和線性回歸( linear regression )之後再為大家一一道來。
參考文獻
1. Gelman, A., & Stern, H. (2006). The difference between “significant” and “not significant” is not itself statistically significant. The American Statistician,60(4), 328-331.
2. Aarts, E., Verhage, M., Veenvliet, J. V., Dolan, C. V., & van der Sluis, S. (2014). A solution to dependency: using multilevel analysis to accommodate nested data. Nature neuroscience, 17(4), 491-496.
本系列全部文章
第 1 章 高屋建築看統計
1.你真的懂p值嗎?
2.做統計,多少資料才算夠?(上)
3.做統計,多少資料才算夠?(下)
4.提升統計功效,讓評審心服口服!
5.你的科研成果都是真的嗎?
6.見識資料分析的「獨孤九劍」
7.貝葉斯vs頻率派:武功到底哪家強?
第 2 章 算術平均數與正態分佈
8.數據到手了,第一件事先幹啥?
9.算術平均數:簡單背後有乾坤
10.正態分佈到底是怎麼來的?
第 3 章 t 檢驗:兩組平均數的比較
11.想玩轉t檢驗?你得從這一篇看起
12.就是要實用!t 檢驗的七十二變
13.不是正態分佈,t 檢驗還能用嗎?
14.只有15個標本,也能指望 t 檢驗嗎?
15.樣本分佈不正態?數據變換來救場!
16.數據變換的萬能鑰匙:Box-Cox變換
17. t 檢驗用不了?別慌,還有神奇的非參數檢驗
18.只講 p 值,不講效應大小,都是耍流氓!
19.找出 t 檢驗的效應大小,對耍流氓 say no!
20.用置信區間,就是這麼(不)自信!
21.如何確定 t 檢驗的置信區間
22.優雅秀出你的 t 檢驗,提升Paper!
23.要做 t 檢驗,這兩口毒奶可喝不得!
編輯:黑草烏葉