那天 CPK 報告出來,全場沉默了三秒
還記得好幾年前,我們機台換了新材料,想看看對產品的電性表現有沒有影響。那時大家興沖沖地設計了一個 DOE,把新舊材料交叉跑了幾批,然後就等著看結果。結果,當 CPK 報告出來,舊材料的 CPK 竟然從原本的 1.35 掉到 1.08,DPMO 直接飆到 6210!全場安靜了三秒,我心想:「完了,這下要被釘在牆上了。」老闆的臉都綠了,質問到底是哪裡出問題。檢查了半天,設備參數沒變、操作SOP也沒錯,最後才發現,問題竟然出在「實驗順序」上。
問題出在哪?你的實驗是不是被「綁架」了?
說穿了就是,你以為你只是在測材料差異,但其實你的實驗結果可能被其他「隱藏變數」給綁架了。最常見的就是「時間」這個變數。你想想看,如果你把舊材料批次集中在早上跑,新材料批次集中在下午跑,那結果出來,你真的能說差異是材料造成的嗎?會不會其實是機台跑久了有溫升、人員換班造成操作手法差異,或者甚至是批次之間的環境變化?這時候,你的實驗結果就混雜了材料的效應和時間的效應,根本分不清楚。
所以重點是,當你在做 DOE 實驗時,一定要考慮「隨機化 (Randomization)」和「區集 (Blocking)」。隨機化就是把你的實驗執行順序打亂,不要讓某些因子固定在特定時段或特定條件下。區集則是在你知道某些變數無法避免,但又不想讓它影響你的主要因子分析時,把它獨立出來考慮。
實際上怎麼做?亂中有序才是王道
最簡單的方式,就是用亂數排一下實驗順序。假設你有 A、B 兩種材料,各跑三批,總共六批。如果你是 A1, A2, A3, B1, B2, B3 這樣跑,就很容易踩到時間的坑。但如果你用亂數產生器,排出一個像 B2, A1, B3, A3, B1, A2 這樣的順序,那時間對材料結果的影響就會被「平均掉」,比較不會出現單一方向的偏差。
舉個更實際的例子,像我們在驗證新製程參數時,常常會遇到機台只有一台。如果你的實驗設計是先跑完所有低溫的組合,再跑所有高溫的組合,那中間的機台溫升、耗材磨損等效應,就會被你誤認為是溫度造成的差異。這時候,你可以考慮把「溫度」這個因子進行區集。也就是說,在每個溫度條件下,都隨機化其他參數的順序。或者,把一天分成上午下午兩個區集,各自隨機化實驗順序,這樣就可以把一天內的變化與材料本身的影響分開來看。
最常見的坑:圖方便真的會掉坑
我遇過最扯的是,為了節省時間或人力,把同一天要跑的實驗,直接讓同一個工程師從頭跑到尾,然後下個班次再換另一個工程師跑下半段。結果數據出來,上半段跟下半段的結果像是兩回事。去查了才發現,兩個工程師的操作習慣有微妙差異,機台在連續跑了十幾個小時後,表現也開始飄移。這時候,如果你沒有隨機化,把這兩個「區塊」的效應混在一起,你會發現不管怎麼調參數,產品良率都像在坐雲霄飛車,完全搞不清楚哪個參數才是真正有影響的。說實話,貪圖一時的方便,最後往往要花十倍的時間去收拾殘局。
今天能做的一件事
下次 DOE 前,先花三分鐘用亂數排一下實驗順序。