當您分析資料時,第一個步驟是什麼?
是使用能力強大的互動性 JMP Graph builder (圖形生成器) 做視覺化分析?
或是利用 JMP的Distribution (分佈) 平台做敘述統計量分析?
又或是利用 JMP 多樣的預測建模工具,找到最適當的預測模型?
雖然這些都是為人所樂道的 JMP 功能,但是做為使用 JMP 分析的第一步,除了上述的平台外,您不妨考慮利用 Explore Outliers (探索離群值)及 Explore Missing Values (探索遺失值) 平台,清潔整理您的資料。
也許您認為探索遺失值還能理解,畢竟空值要先剃除對後續分析比較合理。但是,為什麼需要將離群值也排除?假如這樣的離群值正是代表資料母體的狀況,是否對我們的分析會有影響?而且,離群值很難抓取出來,不能先忽略這個影響嗎?
要釐清這些問題,我們需要先知道甚麼是離群值。
什麼是離群值?
我們先討論一維的狀況,隨機生成1000個標準常態分配Nor(0, 1)的值,如圖1,其中標記紅色的點,為超出[-4,4]範圍的離群點,這樣的發生機率為0.0063%,是非常小的機率,於是這這樣小機率區域上發生的點我們就視為離群值。
圖1 隨機生成的常態分配點圖
接著我們來看二變數的狀況,利用 Graph builder 分析,不論資料點是兩個變數之間具有相同均值及變異數(X2 vs. X1)或是具有不同均值及變異數(X3 vs. X1),如下方圖二,我們都能用肉眼發現這些離群點(紅點)似乎跟其他的點有不一樣的趨勢,且與資料中心點的距離較遠。
圖2 (左) 2變數具有相同均值及變異數散點圖 (右) 2變數具有不同均值及變異數散點圖
而當兩變數間有強相關性,也能發現有些離群點距離其他的樣本點之間的距離較大 (圖3 紅點)。另外,利用Fit Y by X平台的histogram boarder功能觀察兩變數的分配 (圖3),我們發現如果我們只關注單一變數,有些離群值我們會偵測不到,如下圖所示,這也是一個很好例子說明,當我們通盤考慮多變量的離群值,會抓到一些潛在的離群點,避免只觀察管控單一變量的誤判。幸運的,JMP提供了這樣的多變量離群點觀測平台。
圖3 兩變數間有強相關性的散點圖
到此,我們能夠了解離群值的概念,就是找出相較於其他的樣本點,距離樣本中心較遠,或是點的座落位置與樣本整體「趨勢」不符合的點。有趣的是,離群點不代表有問題的點,而是代表與其他的樣本有著差距而無相同的「趨勢」。所以離群值,有可能代表良善社會的問題人物,也可能代表萬惡城市中的一股清流,就看你的樣本來自哪裡。
善用JMP分析WAT資料,解決半導體製程問題
說到這裡,我們用一個半導體製造的電性測試資料作為說明。
半導體晶圓製造的元件參數都有其對應電子特性,因此透過電性測試這些參數的結果便可反推對應製程的品質。晶圓代工廠一般稱電性參數測試稱為WAT (Wafer Acceptance Test),其客戶需要檢視WAT測試數據來確認製造品質。而新製程研發階段更需要蒐集大量WAT資料來解決製程問題或尋找最佳化的因子配置。
我們利用一組簡單的WAT資料作為示範,其中包含10個觀察參數資料,當我們直接分析產線三的資料,利用Analyze>Distribution 功能我們可以做出相應的直方圖及Outlier box plot 觀察是否有離群值,如圖四(左),Outlier Box 上的紅色線段標記出最集中涵蓋50%的區域,從此處我們可以發現資料集中在中間的區段。同樣的你也可以利用Graph Builder 的直方圖功能完成直方圖的繪製,如圖四(右)。
圖四(左) Distribution 平台的直方圖;Outlier box plot (右) Graph builder的Box plot
根據Quantile Range 離群值檢驗我們發現參數一存在一個離群值(紅點),利用JMP的Analyze>Screening>Explore Outliers 平台中的Quantile Range Outliers 功能可以發現其離群值(圖五),並可以針對資料做標記、排除、視為遺失值等動作。
同時你也可以調整判定為離群值的規則,可以調整尾端百分位值(Tail Quantile)和其倍數(Q),以常見的IQR離群值檢驗,上限為Q3+1.5*IQR,上限為Q1-1.5*IQR為例, Tail Quantile 即為0.25, Q則為1.5。而當您的資料較不符合常態分配時,可以考慮使用Robust Fit Outliers作為離群值篩選平台。
圖五 Explore Outliers 平台中的Quantile Range Outliers
但當我們更全面考慮,納入所有產線的資料,你會發現產線三擁有較高的參數一測試結果,如圖六,原本產線三上的離群值8.01反而較符合大多數資料的測試結果,而實際的離群值則轉為產線三最高的三個值 (圖六紅點),這樣的結果也呼應前述樣本出處的重要性,廣泛獲取能夠代表母體資料對於篩選正確的離群值有舉足輕重的腳色。
圖六 全部產線的Box plot
當考慮全部參數的影響,找出對於所有參數影響下的離群值時,JMP也提供Robust PCA Outliers 或是K Nearest Neighbor Outliers 功能供您使用。您可以在Analyze> Screening> Explore Outliers 下找到這兩個功能平台,這邊利用K Nearest Neighbor Outliers 平台找尋離群值,利用複合選取距離較高的樣本點,標記為離群值(圖七)。
圖七 K Nearest Neighbor Outliers 平台下的距離圖
藉由Graph builder 確認這些被選為離群值的資料點在每一個參數上的分佈位置可以發現不是所有的點都屬於單一參數的離群值(如資料點290, 295, 296, 297, 298, 299),這樣的結果也和前述提及藉由JMP的多變量離群值篩選平台,可以抓出許多在觀測單變量下所忽略的潛在問題點(圖八)。
圖八 用Boxplot 比較離群值分別在變數上的分佈
移除離群值,建構更準確的預測模型
我們知道了JMP有很好的平台可以幫助我們把離群值篩選出來,但是,沒有把離群值篩選掉會造成甚麼影響? 化繁為簡,我們先看一下兩參數間的離群值影響。
我們觀測WAT資料參數一級參數二之間的2次效應迴歸式估計的R-square值,在還沒移除篩選出的離群值前,R-square值為0.602,如圖九(a),而移除離群值後,R-square值上升為0.740,如圖九(b),這說明移除離群值能夠建構出更準確的模型,擁有差距更小的估計值。
當我們利用這些參數建構出預測結果,例如良率預估或是CP/FT 測試預估值等,我們能更有效偵測不良,降低成本,增加效益。
圖九(a) 沒移除離群值的二次迴歸估計 (b)移除離群值的二次迴歸估計
接著放大考量全部參數,並用這些參數預估後續Bin值結果,找到關鍵因子。並在最小化Bin值的設定下找到最佳因子設定值。相同的,我們先考量不移除離群值,找出最適合的迴歸模型,利用Fit model平台,我們得到迴歸模型R-square 大約為0.971,包含許多因子效應項,這其中可以看到許多的交互作用項效應比主效應強, 似乎比較混亂,且觀察Residual by Row Plot 可以發現篩選為離群值的那幾個樣本差距是比較大的(圖十)。
圖十 不移除離群值迴歸式R-square、Residual by Row Plot及影響的因子效應項
下一步把離群值移除,再做一次迴歸估計,我們發現,不僅R-square 上升到0.999,關鍵因子也縮減到四個因子效應項,觀察Residual by Row Plot,也沒有發現差異比較大的樣本(圖十一)。根據此迴歸公式預測的結果也會更準確,避免做出錯誤的判斷。
圖十一 不移除離群值迴歸式R-square、Residual by Row Plot及影響的因子效應項
蒐集多一點資料做後續測試迴歸式的準確度,我們可以在Analyze>Fit Y by X的平台下,比較迴歸式的預估值及實際的Bin 值,新資料依舊能夠有很好的水準。R-square有0.999的準確度,而且沒有特殊的點有過大的差異。
圖十二 比較迴歸式的預估值及實際的Bin 值
藉由JMP的Explore Outliers平台,我們能夠輕易快速的排除離群值,避免受到離群值影響誤判因子之間相關性或是做出錯誤的模型預測,導致錯誤的預估及決策。作為分析的前哨站,JMP的Explore Outliers 平台能夠針對不同情景,不論單變數或是多變數,資料是否為常態,都能提出適當的平台幫助使用者找到離群值,快速達到資料清理的目的。
衍伸閱讀:
如何在30秒內在JMP中製作晶圓圖(英)
使用功能數據分析進行圖像和晶圓分析
報名11/26半導體研討會
>> 透過 JMP如何讓使用者快速有效的得到最佳化的參數組合,進而提昇產線良率及增加產出?報名11/26半導體研討會,瞭解如何善用 JMP 進行WAT分析,改善製程良率及挖掘關鍵因子。
>> 立即報名
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.