那天 CPK 報告出來,全場沉默了三秒,然後就有人在問「這能比嗎?」
還記得兩年前,有個新製程要導入,我們想比較三家設備商的良率表現。那時剛好是 Q3 衝刺,大家壓力都大到爆。我們把三台機台分別跑了三批貨,結果出來,A 廠良率 99.85%,B 廠 99.82%,C 廠 99.83%。數據看起來很接近,但製程整合的阿德直接皺眉說:「這能比嗎?這些良率數據根本不是常態分佈啊,用 ANOVA 準嗎?」會議室頓時安靜下來,我知道他指的就是「非參數檢定」這回事。
問題出在哪?為什麼不能直接用 ANOVA?
說穿了就是,我們常用的 ANOVA (變異數分析) 其實有個很重要的前提:你的資料必須是「常態分佈」而且「變異數相等」。但半導體製程裡面,很多時候你的數據根本不符合這些條件。例如良率、DPMO (每百萬缺陷數) 這種,常常是偏態分佈。或是你只有「排序」的數據,像是品質評分 (1-5 級),這種就更不能直接套 ANOVA 了。如果你硬要用,結果可能就跟亂猜沒兩樣,報告寫得再漂亮也只是自欺欺人。
所以重點是,當你的數據不符合常態分佈或變異數不相等時,我們就得找「非參數」的替代方案。今天要聊的 Kruskal-Wallis 檢定和 Friedman 檢定,就是針對這種情境的非參數版 ANOVA。Kruskal-Wallis 用來比較三組或更多組獨立樣本的中位數差異;Friedman 則是比較三組或更多組配對樣本 (或重複測量) 的中位數差異。
實際上怎麼做?
我們就拿前面設備廠的例子來說。假設你現在有三家設備商 A、B、C,每家設備都跑了五批貨,得到的 DPMO 數據分別是:
- A 廠: 6210, 6350, 6180, 6290, 6320
- B 廠: 6400, 6520, 6380, 6450, 6500
- C 廠: 6300, 6280, 6330, 6250, 6270
你先用 Minitab 跑一下常態性檢定,發現這些 DPMO 數據根本不是常態分佈。這時候,你就不能用 One-way ANOVA 了,要改用 Kruskal-Wallis 檢定。
- 資料準備: 把所有 DPMO 數據集中成一欄,另一欄標註是哪個設備廠 (A, B, C)。
- 執行檢定: 在 Minitab 裡面,你會找到 `統計(Stat)` -> `無母數(Nonparametrics)` -> `Kruskal-Wallis`。
- 解讀 P 值: 如果 P 值小於你的顯著水準 (通常是 0.05),就表示至少有一組設備商的 DPMO 中位數與其他組有顯著差異。如果 P 值大於 0.05,就表示各組之間沒有顯著差異。
換句話說,Kruskal-Wallis 檢定會把所有數據混在一起排序,然後根據排序結果來判斷各組之間是否有差異。它比的不是平均值,而是中位數。
那 Friedman 呢?想像一下,你現在不是比較不同設備廠,而是想看「同一批貨」經過三種不同的清洗模式 (A, B, C) 後,潔淨度分數 (1-10分,分數越高越好) 有沒有差異。因為是同一批貨,所以這是「配對樣本」,這時候就要用 Friedman 檢定了。
- 資料準備: 三種清洗模式的潔淨度分數分三欄,每一列代表一批貨。
- 執行檢定: 在 Minitab 裡面,你會找到 `統計(Stat)` -> `無母數(Nonparametrics)` -> `Friedman`。
- 解讀 P 值: 一樣看 P 值,小於 0.05 就表示三種清洗模式的潔淨度中位數有顯著差異。
最常見的坑
說實話,我剛開始學的時候也踩過坑。最常犯的就是「看到多組比較就反射性地跑 ANOVA」。有一次,我們評估不同供應商的材料,想看材料的表面粗糙度有沒有差異。數據量不大,但因為是人工目視評分,根本不可能常態分佈。結果我直接跑 ANOVA,P 值還很小,報告寫得自信滿滿。後來被老闆問到數據分佈圖,才發現根本是偏態,整個臉都綠了。老闆只是淡淡地說:「下次先檢查一下數據的『長相』。」那次之後,我學乖了,任何統計分析前,第一步永遠是看數據分佈圖,判斷是否常態。
另一個坑是,雖然非參數檢定很好用,但它的「統計檢定力」通常會比參數檢定 (如 ANOVA) 略低。意思是,當真的有差異存在時,非參數檢定可能比較難偵測出來。所以,如果你的數據符合參數檢定的假設,還是優先用 ANOVA 會比較好。但如果數據不符合,就別猶豫了,Kruskal-Wallis 或 Friedman 才是你的救星。
今天能做的一件事
打開你最近的 ANOVA 報告,檢查原始數據分佈圖。