Note:

因為blogger會有很多廣告留言,所以我有設留言管制。大家留言留一次就好,只要不是廣告,我都會定期去後檯把留言給撿回來。

造成麻煩還請大家多多見諒。

2013年8月21日 星期三

樣本夠大不夠大?

最近因為農委會說要測試狂犬病病毒(rabies virus)對狗的傳染力強不強,因此要用米格魯(beagle)做動物實驗,在網路上引起軒然大波,各種良莠不齊的正反意見蜂擁而至。其中,有一派反對的說法,指稱農委會只用14隻米格魯,樣本數太少,恐怕證明不了什麼事情。

這一類說法的精髓,可由臺大葉立森教授以下的說法做個總結:

"葉力森說,就算這14隻狗不會感染,也不代表病毒不會感染狗,因為實驗的數量不夠大;若要真的做實驗證明,至少需要上百隻的狗"(中央社,新聞常常會被砍掉,以下截圖為證)




葉力森教授的說法,整體來說方向是對的,但實際上的統計內涵卻是相當不精確的,這篇文章將針對這部分做一點處理。

在報導裡,葉教授提到了實驗數量不夠大的問題。這個問題,用比較統計的名詞來說,就是樣本數(sample size)不夠。

樣本數不夠會帶來什麼問題呢?

第一個問題,是你取到的樣本可能不夠俱有代表性(representativeness)。舉例來說,假設今天你從下面A和B兩個各有10個數字的母體(population)隨機抽個一個數字當作樣本(sample)來作比較:




由A和B的數據中,你可以很輕易地判斷A所含有的樣本的平均值(average/mean)應該會遠低於B。但如果今天你只取樣(smapling)了兩個樣本,在A母體中取到10和7,而在B中也取到10和7,那在不知道母體的情況下,你就會做出A和B的平均沒有差異這樣的結論。

是以,當你的樣本數太小,你取來做significant test的樣本,很可能並不會反應出整個母體的情況,也就是你的data representativeness會不夠,像是瞎子摸象那樣。

接著,我們把這個超簡化的例子稍稍擴大。

假設我們現在有兩個呈常態分佈(normally distributed)的母體。

常態分佈的圖形長這樣(wiki):




X軸的μ是平均,σ指得則是標準差(standard deviation)。這裡我們先不要太在意標準差的定義,只要記得他是data在分佈上是向平均集中靠攏,還是比較不集中的一個變異度(variability)指標。Y軸在wiki這裡是用百分比來表示,或著你也可以用「數量」去理解,越高,就代表累積的數量越多。

以一個常態分佈的母體來說,越靠近平均的data數量會越多,反之,越遠離平均的data在數目上就會越少。所以你可以看到,在離平均一個標準差(μ±σ)的距離內,就包含了超過68%的樣本數。

現在,讓我們回到前面說的兩個常態分佈母體那個例子。假設這兩個母體長這樣:




由圖中你可以看到這兩個母體重複的部分很少,就只有紅色箭頭指的那一塊而已。

但是,如果你在取樣時只取非常少的樣本數,且不幸的,這些樣本剛好都來自紅色的那一塊,那你就很可能會做出這兩個族群很可能是同一個族群的錯誤判斷。

但是當你取的樣本數越來越多,你的圖形就越會還原成母體的樣子。當你從兩個母體取來的樣本數趨向於無限大時,你用取樣樣本做出來的圖,就會非常非常像母體本來的樣子,這時候,你就可以窺得全豹,知道原來左邊和右邊這兩個呈現常態分佈的母體原來差得這麼多。

同理,當你取的兩組樣本其實是來自於同一個母體,但你取的樣本數很少,且剛好來自常態分佈的左右兩端時(例如來自下圖紅箭頭部分),你很可能就會誤判說你取得的兩組樣本是來自不同的母體。




上面這個圖,也可以部分說明我們在做臨床測試時,為什麼取樣偏差(sampling bias),會導致significant test做出來不具代表性的原因。當你的取樣有偏差時,你看到的顯著差異,很可能是來自於你樣本本身的內在差異(intrinsic difference),而不是來自你給的treatment造成的差異。而當樣本數過小時,這樣瞎子摸象,你摸耳朵我摸鼻子的狀況,就很容易發生。




對這部分有了基本概念之後,接下來,讓我們進一步思考下一個問題:【既然足夠的樣本數這麼重要,那麼我們要怎麼知道多大的樣本數是足夠的呢?】

在資源不受限的理想世界中,當然我們會說樣本數越接近母體數,或著越接近無限大越好。可是這在現實世界中往往是不可能達成的,一般來說,即使是phase III的臨床測試,能夠有幾千人參加,就已經很不得了了。而我們在實驗室做研究,也不可能為了拿一個數據,就做到幾百萬隻老鼠。

因此,統計學家們就發明了一個辦法,讓我們可以用統計理論和數學模型去計算到底多大的樣本數,可以讓我們在做significant test時,給我們一個較為可信的答案(reliable answer)。

而在我們能知道怎樣的樣本數可以給比較可信的答案前,我們還得先定義「可信度」(reliability),這樣我們才會有一個共同的比較基準去做判斷。

在這裡,統計學家定義了一個叫做power(中文不知道)的名詞,用來檢驗可信度。Power的精確定義會用到很多統計的詞和理論,這裡為了讓大家不被這些專有名詞搞昏頭,下面我舉一個例子來說明power的意義。

假設今天有A和B兩個母體,我們分別對兩個母體做取樣,得到M和N兩組data sets,取樣出來的數據平均之後分別得到X和Y兩個數值。X和Y是來自兩個不同的母體,且他們兩個數值間,是真的存在著顯著差異的(genuine difference do exist)。然後我們用significant test去測試X和Y這兩個平均值,發現這個significant test有80%的機率可以顯示X和Y是來自不同母體,也就是X和Y間有統計上的顯著差異(statistical significance),這時候我們就說在這個情況下,這個significant test的power是80%。

一般來說,會影響power高低(或說影響我們得到顯著差異結果的機率)的因子包含以下幾個:

1) 樣本數大小,樣本數越大,得到顯著差異的機會就越高,

2) X和Y之間差異的大小,差異越大,得到顯著差異的機會就越高,

3) M和N本身各自含有的樣本變異度(也就是前面提過的variability)有多高。變異度越高,得到顯著差異的機會就越低。

如果我們把power想成會被這三個因子影響的函數,譬如說,把它想像成是一個類似Power=aX+bY+cZ的關係式,X、Y、Z分別代表上面1)、2)、3)寫的那三個因子,那你應該可以推論出,如果我們固定其中任意三個條件,就可以得到第四個條件的數值。

同樣的道理,如果今天我們知道我們的樣本數大小、知道X和Y的差異,知道M和N各自的變異度,那麼我們就可以計算出power。

講了那麼多關於power的意義,但前面我說了,我們通常想要知道的問題是:「樣本數要多大,我們的significant test才會給出一個可信的結果」,所以,我們真正關心的,並不是power,而是在給定一個power的機率下,我們要多少樣本數,才能得到這個power。

這其實也不難,我們只要把上面那個類似函數的比喻換個角度想就可以了。

假設今天我們要用一個significant test去測試X和Y,然後我們想要達到90%的power,在知道其他兩個條件的情況下,我們就可以算出來要達到這個90% power,需要的樣本數有多大(也就是在給定條件下,如果顯著差異真的存在,用這個significant test做100,有90次顯著差異會被抓出來)下面順便附上我最佩服的統計學家給的說法讓大家參考:

"Informally, we can interpret the phrase “90% power” to mean that, in the long run, if we calculate sample sizes using these methods, and our assumptions are correct, about 90% of the trials we run will give a statistically significant result.
--- Dr. Les Huson, Imperial College London. 



問題來了。

讓我們思考一下下面這個狀況:

現在,我想要做一個研究,在這個研究裡,我想用significant test K去比較兩個取樣組別A和B得到的平均值X和Y,他們之間的差值是否達到統計上的顯著差異。

我希望能夠達到80%的power,也就是如果X和Y間的差值真的有達到顯著差異,我用K test做100次,有80次可以正確的把這個顯著差異給抓出來。

現在我定好我要達到的power了,接下來,我只要知道X和Y差多少,以及A和B的變異度,我就可以輕易的算出我取樣時要取多少樣本數,才會達到80%的power。

可是我都還沒開始取樣,沒有做實驗,我怎麼會知道X和Y差異,以及A和B兩組data sets的變異度呢?如果我一開始就知道這些事情,那我幹麼還做實驗呢?

很難懂嗎?讓我們把它放到現實情況下去想一想。

譬如我們現在要測試狂犬病病毒對狗的致病力,用米格魯作實驗,一組用來打病毒,一組不打當control。現在我想算這個實驗要達成90% power需要多少隻米格魯,而我要算出這個,就得知道打不打病毒的這兩組差異會是多少,然後這兩組中這每隻米格魯對病毒的反應會差多少。

可是這不就是我做實驗知道的事情嗎?如果我有辦法事就先知道這些資訊,那我幹麼還做實驗?

這就是power有趣的地方。你用來計算樣本數要多大才會讓結果有足夠信賴度的方法,需要兩個你不先做實驗沒辦法知道的條件。

所以,通常我們只能用猜的,我們對可能的差異大小和變異度做一些初步的假設(preliminary assumptions),然後算出在這樣的假設下,要多少樣本,才可以達到我們想要得到的power。這些假設如果是對的,那我們的power就會如同預期。因此,你的假設怎麼做,做得離實際情況接不接近,就很重要。

另外,我們使用來計算樣本數,把power和樣本數間關係建立起來的數學模型(mathematical model),也需要一些假設,這些假設也有可能不是正確的。是以,在臨床測試上,我們常常會說,關於樣本數大小的計算,其實比較接近一種藝術,而不是一種科學(more of an art than a science)。

那我們在臨床測驗上要怎麼處理這個很可能是用錯誤假設算出來的錯誤樣本數大小呢?我們把握的原則是,能夠在做得到的情況下讓樣本數越大,我們能用significant test抓出真正存在的顯著差異的機會就越高,所以能讓越多人參加臨床測試越好。這也是近年phase III臨床測試的規模越來越大的其中一個關鍵因素。

接下來,在回去檢視葉教授那句話之前,還有一件事情我要補充一下。很多人都把樣本數不夠大這件事情看得非常嚴重(一般來說我們會把power設在80%-90%之間,所謂的夠大,就是你的樣本數可以達到這個程度的power),但實際上,即使是在人類的臨床測試中,樣本數的大小都不必真正達到統計上的意義(does not have to be statistically justified),這並不是一個「法律上必須達成」的條件(not a legal requirement)。雖然像ICH之類的機構會建議你在能夠辦到的情況下盡量達到,但在現實中往往會有很多情況讓你無法真正達成這個數量,而在這種情況下死守一個很可能因為假設不精準導致計算結果也不精確的樣本數,顯然不是一個非常聰明的辦法。還有另外一點是,power和樣本數的關係通常會呈現像是下圖這樣的狀況(X軸是樣本數大小,Y軸是power):




也就是說,樣本數大到一個程度之後,再往上增加,power的變化就很小了(我們稱之為達到plateau)。所以,樣本數大到一個程度之後,再去追求更大的樣本數,並不是一個太划算的事情,也因此,即使是在資源相對不受限,增加樣本數的困難度也不高的情況下,我們對於樣本數的要求,通常也是希望增加到進入plateau之後就可以停了的程度。




對這些事情都有一些基本的瞭解之後,我們就可以回頭檢視葉教授的論點:「就算這14隻狗不會感染,也不代表病毒不會感染狗,因為實驗的數量不夠大;若要真的做實驗證明,至少需要上百隻的狗

為什麼我會說葉教授的論點是「方向對但是統計概念上不精確呢?」

首先,在大方向上,我想葉教授希望表達的是樣本數不夠,很可能即使真的有顯著差異存在,我們用的significant test也抓不出來。譬如power只有20%,那就用significant test做100次,就會有80次抓不出來。所以即使我們用significant test做出來的結果是「無顯著差異」,很可能其實只是因為power太低,significant test沒有抓出來而已。

但是如果我們仔細一點去想,就算我們的樣本數夠大,真的就能夠「證明」什麼嗎?

如果大家能夠理解我上面對power的解釋,那各位應該會知道,power是一個機率的概念。即使你的power達到99.99999%好了,你的significant test都還是有可能剛好在這一次的數據分析中沒有把顯著差異抓出來。何況我們通常用的power都是在80%-90%之間(這類似我們在做significant test時把p < 0.05當成有顯著差異一樣,都只是個約定成俗的習慣),以90% power來說好了,就算顯著差異真的存在,這個significant test你做100次,還是會有10次他沒辦法把顯著差異抓出來。所以,依照統計上的概念,不管你怎麼做,其實都無法真的「證明」什麼。

此外,我對於葉教授能夠判斷出14隻數量不夠,上百支數量才夠的說法,也不是很能瞭解。首先,他沒有提供足夠的background告訴我們他這邊說的power取得是多少(這有點吹毛求疵,一般來說沒講我們就當80%),再者,他對於這個樣本數的判斷,很可能是來自於過往其他研究的經驗。但各位有興趣可以去NCBI查查期刊,用這樣的數量去做研究的paper還不在少數。一來是我前面說的,達成統計上有意義的樣本數大小,有時候會有執行上的困難,另一方面,我們也別忘記,達成一定程度的power所需要的樣本數大小,和你使用的數學模型,以及其組間差異大小、組內變異度大小都有關係。如果今天我們做的假設是組內變異極小,組間差異極大,我們就可以用比較少的樣本數得到相對來說較高的power。

此外,樣本數大小,也會和你的實驗設計和擁有的資訊有關,這部分比較複雜,這裡就不加贅述。我想強調的是,就統計上來說,在這麼缺乏資訊的情況下,對樣本數做出「夠或不夠」的判斷,其實是一件太過武斷的事情,而且因為樣本數不夠,就說這個研究是沒意義的,也不是一個精確的說法。我們常常說,小樣本的數據,一定要explain with caution(小心解讀之類的,中文翻譯我抓不太到精髓),但並不會就讓這個研究完全沒有意義或參考價值。

最後,我想強調一下,我知道很多人看到統計和數學就頭痛,所以這篇文章我希望是用盡量避免放太多統計名詞,以及盡量避免用數學去推導的方式來說明,且為了說明上的方便,我簡化了很多東西,也用了很多比喻。有人說,真理會消失在比喻之中,就某方面而言我是認同的,比喻用得多了,有些地方就容易不精確。是以,我希望各位在看這篇文章時,能以瞭解大概念的方式去理解他。至於對細部的統計論述有興趣的朋友,我想去圖書館借本統計學的書來讀讀,在建立正確概念上,會有更大的幫助。

沒有留言: