How to Deal with Non-normality Data
上一期我們說到樣本資料的常態性檢定。
如果我們手邊有一組資料,進行常態性檢定之後,發現資料的分布偏離常態,可能是左偏或右偏,甚至看不出特定形態,這時候,翻開課本,有些會建議讀者改用無母數方法 (non-parametric methods) 分析,有的說轉換資料 (data transformation) 或用非線性模型 (nonlinear models) 的方法處理,有的則堅持採用母數方法 (parametric methods) 的分析仍然是穩健 (robustness) 可信任的。
這些方法都是可行的候選者,但是哪個才適用呢 ? 在回答這問題之前,我們需要先知道資料的特性,以及非常態資料是怎麼來的。
非常態的資料是怎麼來的 ?
- 極端值或離群值
以平均值做為摘要群體資訊的數據,對於極端值或離群值的反應十分的敏感,尤其是樣本數據不是很大的時候,數個離群值就可以使分布偏斜。

- 次族群
有時候資料不像常態分布是因為資料是來自二個甚至更多個次族群。以英國癌症研究的調查為例,一種名為何杰金氏淋巴瘤(Hodgkin’s lymphoma) 的惡性腫瘤,好發在青年人 (尤其是二十多歲),以及老年人 (七十五歲之後)。二個次族群合併為一個分布資料,形成典型的雙峰分布。

(Credit: Cancer Research UK)
- 資料鑑別力不足
有時候測量儀器的精準度 (最小測量單位) 不足,或是由於捨入誤差 (Round-off error),就有可能造成資料看起來是不連續的 (discrete) 且不像常態分布。
- 樣本數不足
從母體收集而來的樣本太少時,會造成樣本資料的分布看起來有些稀疏。例如我們想要知道一個社區的高齡長者血壓的分布情形,但只隨機取樣了 10 個人,這樣的血壓頻率分布有很高的機率會偏向某個血壓值範圍,除非持續增加樣本數,否則會有部分血壓值分組是空洞沒有測值的。

- 觀察值為正值且趨近於零或有自然極限(Natural Limit)
有些資料本身容易出現偏態的情況,這是由於資料的特性為向零靠攏 (且沒有負值,零為其最低極限) 或者是有自然存在的上限。例如出院病人一個月內的再住院頻率,零是資料的自然限制,看起來資料會是個集中在低次數、右偏的形態。

- 其他分布
除了上述幾種原因,資料呈現非常態,也許只是因為他們是其他種分布,例如細菌的繁殖速率是指數分布 (Exponential distribution)、每年的侵襲台灣的颱風數量是泊松分布 (Poisson distribution)、肝癌患者診斷後的10 年存活率推算是 Weibull distribution、梅雨季之最大一日降雨量為對數常態分佈 (Log-normal distribution) 等。
非常態分布有哪些 ?
- Beta distribution
- Exponential distribution
- Gamma distribution
- Inverse Gamma distribution
- Log-normal distribution
- Maxwell-Boltzmann distribution
- Poisson distribution
- Skewed distribution
- Symmetric distribution
- Uniform distribution
- Unimodal distribution
- Weibull distribution
如何處理非常態資料
發現資料是非常態時該怎麼做呢 ? 以下有幾種方式可以試著處理:
- 移除或取代離群值
首先可以先檢視資料本身是否有離群值,若發現不合理的離群值,例如一個正常人的血壓高達 900 mmHg,就可以相信是人為輸入資料的錯誤,刪除之後的資料可能就會較接近常態分布。這裡要注意的是,離群值並不代表就是不合理值,其本身也許就是個特例,要記得,自然的常態分布是存在極少數的極端值。
離群值的處理又可以分為修剪 (Trimming) 與縮尾 (Winsorizing)。舉例來說,下列有 14 個樣本,由小至大排序的值為:
10 24 27 38 50 68 71 76 94 100 110 207 220 301
縮尾的方法指的是,設定某個不合理觀察值的範圍,例如 20%,如此一來頭尾各20%的資料即視為離群值,以20th 百分位及 80th 百分位附近的值分別取代原本頭尾的離群值。至於如何決定不合理的範圍,有賴於個人的判斷,而較好的判斷方式可以參考文獻的公認值或自然存在的合理值。
縮尾→ 38 38 38 38 50 68 71 76 94 100 110 110 110 110
修剪和縮尾的方式相似,只是不取代離群值,而是直接刪除他們。
修剪→ 38 50 68 71 76 94 100 110
- 轉換資料
當樣本資料明顯不是常態分布,或者不同組別之間的標準差差異很大時,可以考慮轉換資料 (data transformation)。常見的轉換包括開根號、取對數、冪次轉換 (power transformation )、遞延轉換 (lagged transformation ) 等方式,其中又以冪次轉換中的 Box-Cox power transformations 最常使用,主要應用於將非常態資料轉換為近似常態分布。
這裡要注意的是,轉換後的數據可能會讓資料更貼近常態分布,然而不好的轉換也可能使轉換後的數據更加偏離常態分布;此外,更重要的一點是,經過轉換後的資料,在解釋上會變得困難許多,例如血小板的數量開根號之後資料符合常態分布,然而,此時「血小板數量開根號」在臨床上的意義變得很難理解,醫師也很難向病人說明究竟此數據的實際意義為何。
- 選擇其他分布
如上述所提到的,有時候資料不符合常態分布的提前假設,是因為資料是其他形式的分布,這時候就不需要拘泥於資料的常態性,轉而使用更適合此資料的分布。
- 無母數統計
大部分我們所使用的檢定方法,其基本假設之一是「樣本來自已知的某個母群體 (例如常態分布)」,這種方法稱為母數方法(Parametric methods),而相對於母數方法的就是無母數方法 (Nonparametric method)。
無母數方法所需的基本假設很少 (還是有假設,只是相對於母數方法少很多),也正因為限制很少,所以可適用於絕大部分的資料,尤其是類別資料 (categorical data) 和序位資料 (ordinal data) 的檢定。在醫學或心理學的研究中,有時候可收集的樣本數有限,或者一些先趨研究 (pilot study) 所使用的樣本數較少、研究時間也較短,此時也同樣適合無母數分析。
無母數的限制少、適用範圍廣,可是也有其不足之處。當一組觀察值是來自常態分布的母體時,無母數方法的檢定力相對就較差一些,大約只有母數方法的 95 %。也就是說,當母體為常態分布時,母數方法只需要小樣本就可以有良好的檢定力,而無母數方法使用的是觀察值的排序 (ranks) 而非觀察值本身,因此損失了一些資訊、效率較差,需要較大的樣本數才能偵測出差異。此外,無母數方法沒有利用資料分布的特性、無法處理交互作用等較深入的討論。
這裡要注意的是,母數方法與無母數方法的區分,並非知道母體參數與否,而是我們假設了許多母體參數,以及給予較多的基本假設。換句話說,雖然我們不知道真實的母體訊息 (知道的話就不需要統計分析了),一旦樣本資料符合所有的假設,母數方法所得到的檢定精準度會高於無母數方法。相對的,如果資料偏離基本假設時,無母數反而具有優勢。
實務上,我們通常是無法觀察到整個母體,因此在選擇該使用母數方法或無母數方法時,可以先進行常態性檢定,如果檢定結果發現樣本資料有嚴重的偏斜或雙峰的現象,就可以考慮選擇使用無母數檢定。另一種方法是,同時採用母數與無母數方法,再比較二者檢定的差異,如果樣本來自常態分布,此時母數方法的檢定結果會比較好,若無母數的結果表現較好,則表示母體偏離常態分布;如果二者差異不大,表示接近常態或偏離不多。
下圖為無母數對應母數的統計方法:

常態與非常態
雖然本篇文章談的是非常態資料的處理,然而有些人認為樣本是否來自常態分布並不是非常重要,只要樣本數夠大,根據中央極限定理所描述的特性,常態性的假設是無關緊要的,其統計推論的結果依然可以相信 (要多大的樣本數才算夠大 ? 可能是更重要的問題)。除此之外,一些常用的母數統計如 one-sample Z test、t-test、ANOVA 和 Regression 等,對於非常態資料的容忍度相對較高,也就是說,就算資料不符合常態分布,只要樣本數夠大的話,統計檢定的結果仍然具有穩定性 (robustness)。
那麼這是不是表示樣本資料是否來自於常態分布不重要 ?
不是的。常態分布仍然是重要的假設的。當手邊有樣本數據需要統計分析時,這裡的建議是:
當樣本資料量頗大時,只要是隨機抽樣而來的資料,就可以比較有信心使用母數方法分析。當樣本數很小 (n<30,甚至 n<20),或者對於來資料來源的母體有疑慮時 (例如選舉時的選民結構可能不符合母數統計所需的假設),可以簡單的作圖並檢視其分布情形,或者更客觀的對資料進行常態性檢定,如果資料偏離常態分布太多,便可以利用上述的方法,觀察資料來源是否為多個次族群、資料鑑別力足夠與否、處理離群值、甚至轉換資料等方法,選用其他種分布分析或採用無母數方法分析也是可以考慮的方法。
最後,在分析的時候要記得的是:
常態分布只是達到目的的手段,不是目的本身。