BH 代表這是 Benjamini 和Hochberg 這兩個人提出的一種統計方法。FDR 表示 false discovery rate,顧名思義,這個方法用來檢測偽陽性率。
它計算的對象不是原始數據,而是顯著性檢定時的那個 p。本來在 p < 5% 時就判定有顯著性。但其中也可能有偽陽性的存在,所以要再多做一個 BH-FDR 把它揪出來。
假設你做了 6 次檢定,得到這些 p 值,乍看之下有五個顯著,C 不顯著,E = 0.049,剛好在邊緣,看了有點不放心,那就適合 BH-FDR。先看簡單的臨界值法。
| 檢定 | 原始 p 值 |
|---|---|
| A | 0.021 |
| B | 0.004 |
| C | 0.130 |
| D | 0.018 |
| E | 0.049 |
| F | 0.001 |
我們設定 “假發現率水準":
總檢定數:
第 1 步:把 p 值由小到大排序
排序後:
| 排名 i | p 值 pi | 對應原檢定 |
|---|---|---|
| 1 | 0.001 | F |
| 2 | 0.004 | B |
| 3 | 0.018 | D |
| 4 | 0.021 | A |
| 5 | 0.049 | E |
| 6 | 0.130 | C |
第 2 步:計算每個排名的 BH 臨界值
公式是:
因為 m=6、α=0.05,所以:
| 排名 i | p 值 pi | BH 臨界值 |
|---|---|---|
| 1 | 0.001 | 0.0083 |
| 2 | 0.004 | 0.0167 |
| 3 | 0.018 | 0.0250 |
| 4 | 0.021 | 0.0333 |
| 5 | 0.049 | 0.0417 |
| 6 | 0.130 | 0.0500 |
第 3 步:找最大的 i,使得
逐一比較:
- 0.001≤0.0083,成立
- 0.004≤0.0167,成立
- 0.018≤0.0250,成立
- 0.021≤0.0333,成立
- 0.049≤0.0417,不成立
- 0.130≤0.0500,不成立
所以最大的符合者是:
第 4 步:判定顯著結果
BH 方法會把 排名 1 到 4 的檢定都視為顯著。
所以顯著的檢定是:
- F
- B
- D
- A
不顯著的是:
- E
- C
由於 p 值這種東西不能看平均值,也無法正規化,所以用排名來解決。假如不喜歡排名,也有純計算的方法,方法二就是計算 q 值。
q 值的定義:qᵢ = pᵢ × m / i(m=檢定總數 6,i=該 p 在排序中的排名),利用前面排好的順序,代公式算出 q。
步驟 1:算原始 qi
| 原始 p 值 | 原始 q |
|---|---|
| 0.001 | q = p×6/1: 0.0060 |
| 0.004 | q = p×6/2: 0.0120 |
| 0.018 | q = p×6/3: 0.0360 |
| 0.021 | q = p×6/4: 0.03155 |
| 0.049 | q = p×6/5: 0.0588 |
| 0.130 | q = p×6/6: 0.1300 |
步驟 2:單調化(關鍵!)
q 必須隨排名單調遞增,所以從最後往前取累積最小值,方向和方法一相反:
| qi 值 | BH 校正後的 q |
|---|---|
| q₆ = 0.1300 | |
| q₅ = min(0.0588, 0.1300) | 0.0588 |
| q₄ = min(0.0315, 0.0588) | 0.0315 |
| q₃ = min(0.0360, 0.0315) | 0.0315 (同上) |
| q₂ = min(0.0120, 0.0315) | 0.0120 |
| q₁ = min(0.0060, 0.0120) | 0.0060 |
步驟 3:用 q < 0.05 篩選
- p1: 0.001 ,q = 0.006 < 0.05 ,成立
- p2: 0.004 • q = 0.0120 <0.05,成立
- p3: 0.018 • q = 0.0315 <0.05,成立
- p4: 0.021 • q = 0.0315 <0.05,成立
- p5: 0.049 • q = 0.0588 <0.05,不成立
- p6: 0.049 • q = 0.1300 <0.05,不成立
結果和方法一是一樣的。為什麼要做這件事呢?假如今天我要做很多次檢定,例如跑 10 種 LLM model 測試 5 種演算法,一共跑了 50 組。每一組信心程度都是 95%。那麼在這麼多測試當中,有 1−(0.95)50 ≈ 92.3% 的機率產生一次歪打正著,結果和其他人相反。但你不能拿這一組數據證明什麼天大的發現?除非你經過了 BH-FDR 測試後,它仍然是顯著。