統計學:大家都喜歡問的系列-p值是什麼

Tommy Huang
8 min readJun 14, 2018

常常看到有人說p-value <0.05,所以達到統計上的意義,模型合理,但你真的知道這是什麼意思嗎?

Note: 這邊會假設母體是常態分佈下來說明,如果是無母數統計的檢定基本上看p值的方法也差不多。

這篇大概會分為下列結構來敘述

1. p值是什麼 (t值是什麼)?

2. 「p-value <0.05,所以達到統計上的意義是什麼?」 → 「假設檢定」

3. t值怎麼算?

4. t值怎麼對應到p值?

1. p值是什麼 (t值是什麼)?

算p值基本上還有另一個相對應的東西叫作t值,這個p值其實就是在分佈常態分佈下≥t值的機率密度值(probability density value,P(x≥t)),還是看不太懂對吧。

簡單說p值就是下圖紅色區域的面積值(從黑色線的位置t積分到無窮大),BTW整個分佈的面積值等於1(從負無窮大積分到無窮大)。

如果純粹說p值就只是這樣,很簡單吧。

2. 「p-value <0.05,所以達到統計上的意義是什麼?」 → 「假設檢定」

這邊會扯到的是統計檢定這個名詞,統計檢定在做什麼?
這邊我們要反過來問自己為什麼有統計檢定。

這邊我們舉一個例子:
「男生的身高」和「女生的身高」有沒有差。

這個問題就是有比較的概念在裡面,這時候就可以用統計檢定來達成判斷。

Note:這邊要講解的是一般的p<0.05所以reject H0,基本上是講兩組有差異的case,偏向one-way ANOVA,但我不講ANOVA,名詞太多,基本上差不多。

假設有一組男生身高資料{170,175,178,180}和女生身高資料{160,165,168,150}
我們眼睛看就知道這兩組有差別對吧,但你要怎麼證明兩組有差異。

方法有很多種
簡單直覺的一種 → 男生的身高全都大於女生的身高,所以兩組有差異。

但當男生身高資料{170,175,178,180}和女生身高資料{160,165,170,172},要怎麼證明兩組有差異,這時候就要靠統計檢定了。

到了統計檢定,我們一定要回到統計學名詞(沒辦法避不掉),如果你有基本統計學概念,應該都有聽過「假設檢定」,然後又有虛無假設(null hypothesis,一般用H0表示)和對立假設(alternative hypothesis,一般用H1表示),之後還有拒絕域(reject region)。也許你跟我一樣心想靠一堆名詞都不知道在說什麼。

回到剛剛的例子
「假設」: 「男生的身高」和「女生的身高」有沒有差。
「假設檢定」: 我們要對這個「假設」進行統計檢定。
檢定什麼 → 就是檢定「虛無假設(H0)」。
拒絕域: 看你設定拒絕條件是什麼,一般說p<0.05,所以拒絕條件就是0.05,上圖的紅色區域。

統計假設檢定
虛無假設(H0): 男生身高=女生身高
對立假設(H1): 男生身高≠女生身高

這樣看應該很簡單吧,一般看統計檢定就是看兩組之間有沒有差異,所以會在H0假設兩組是一樣的,H1假設兩組是不一樣的,然後後面來算很畸型的統計公式,得到t值和相對應的p值。

這邊你是否有疑問男生身高是什麼,女生身高是什麼。這邊我們有的是一組男女生各4個值,如果是有母數檢定基本上就是看平均數,如果是無母數統計基本上就是中位數。

虛無假設(H0): 平均數(男生身高)= 平均數(女生身高)
對立假設(H1): 平均數(男生身高)≠平均數(女生身高)

3. t值怎麼算?

公式很複雜,如果有看過機器學習方法的人,應該覺得公式還好很簡單。

這邊白話的講法就是「平均數(男生身高)減掉平均數(女生身高),然後除上兩組資料的標準差」。
t值的解讀很簡單,t值越接近0,兩組之間越沒有差異,t值越遠離0則兩組差異越大。

後面會舉兩個例子,計算相對應的t值和p值。

(範例1) 假設我們來到某個地方有100個男生的身高資料,和100個女生身高的資料,男女生身高差很多,經由統計得到

平均數(女生身高)= 148.2253
平均數(男生身高)= 179.8867
標準差(女生身高)= 8.6371
標準差(男生身高)= 8.5540

男女生的資料分佈情形如下:

此時套公式可以得到t值:

(範例2) 假設我們來到歐洲某國有100個男生的身高資料,和100個女生身高的資料,女生身高跟男生身高差不多,經由統計得到

平均數(女生身高)=169.6028
平均數(男生身高)=174.1443
標準差(女生身高)= 32.1374
標準差(男生身高)= 30.8397

男女生的資料分佈情形如下:

此時套公式可以得到t值:

由範例1和範例2可以得知,t值分別為26.0457和1.0196。(範例1)兩組的分佈差很遠吧,所以t很大,(範例2)兩組的分佈沒什麼差別,所以t值比較接近0。

Note: 這邊用「男生去減掉女生」或「女生去減掉男生」都可以,差別是一個t值會是正的一個是負的,所以當需無假設是=的狀況,我們會用雙尾檢定,這時候單一邊算出來的p-value必須*2(正負兩邊同時要考慮)
但當需無假設是「平均數(男生身高)≥平均數(女生身高)」,這時候就有分右尾檢定還是左尾檢定,這時後算出來的p-value就不必在*2了。
一般統計檢定都只看有沒有差異,所以幾乎都是用雙尾檢定。

4. t值怎麼對應到p值?

前面有提到p值就是看在分佈常態分佈下≥t值的機率密度值(P(x≥t))。

Q: 這邊就會遇到一個問題,就是「是什麼的常態分佈,N(0,1)?」?
A: 答案當然不是標準常態分佈,而是t分佈(Student’s t-distribution)。

如果你有學過初等統計學,你一定有聽過母體、取樣等名詞。假設母體是常態分佈,這時候如果不能把母體所有的樣本都找出來,只能從中間取一部份樣本出來,想要完整表現母體時,這時候就會遇到樣本數如果不夠多,這樣還足以表是母體的描述嗎? 所以t分佈就是用來表示「抽樣下的常態分佈」,所以有「抽樣」就會關係到「抽多少樣本」,這時候就會出現新的名詞「自由度(degree of freedom, v)」,這邊我就不多講這是什麼,因為自由度的講解篇幅很長,這邊的自由度就直接「兩類的樣本數各減去1後相加」(n1+n2–2)。

上述的範例(1)和(2),因為總樣本數都是200,所以自由度都是198。

t分佈

Γ函數,也叫做伽瑪函數(Gamma函數)

這邊我畫出,t分佈(自由度分別為1, 10, 20, 和198)與標準常態分佈的機率密度函數。由下圖可以得知,自由度越大(基本上等於樣本數越大),t分佈很接近常態分佈(看自由度為198(紅線)基本上已經和黑色的常態分佈線疊在一起了)。

回到上述範例子,t分佈自由度為198公式為:

範例1

此圖是t分佈自由度為198。p值是看紅色線外的面積值(>26.0457和<-26.0457)。

所以範例1的p值算法是p198(x ≤ -26.0457)+ p198(x ≥ 26.0457)= 2*0=0

範例1,因為p=0<0.05,我們必須拒絕「虛無假設(H0):平均數(男生身高)=平均數(女生身高)」,所以範例1結論是「男生跟女生身高是有統計上顯著差異的」。

範例2

此圖是t分佈自由度為198。p值是看紅色線外的面積值(>1.0196和<-1.0196)。

所以範例2的p值是p198(x ≤ -1.0196)+ p198(x ≥ 1.0196)= 2*0.1546=0.3092

範例2,因為p=0.3092>0.05,我們不能拒絕「虛無假設(H0):平均數(男生身高)=平均數(女生身高)」,所以範例2結論是「男生跟女生身高是有統計上沒有顯著差異的」。

題外話:
論文很多用*表示統計檢定,一般我們都會說 *: p<0.05,**: p<0.01,***: p<0.001。但就是有這個「但」,在論文內最好還是定義清楚你的一個*,兩個*和三個*閾值分別是多少。

--

--

Tommy Huang

怕老了忘記這些吃飯的知識,開始寫文章記錄機器/深度學習相關內容。Medium現在有打賞功能(每篇文章最後面都有連結),如果覺得寫的文章不錯,也可以Donate給個Tipping吧。黃志勝 Chih-Sheng Huang (Tommy), mail: chih.sheng.huang821@gmail.com