大家早安!感謝大家的收看。我是 SUMCO 應用工程團隊的 Chris Dennis。對於不了解 SUMCO 的人來說,SUMCO 是一家矽片製造公司。我們生產的矽片是半導體製程的起始材料。今天,我將討論如何將控製圖進行實用的混合,以處理短期運行和大數據,並使用不同的技術來查找偏移。我將簡要介紹控製圖的概念,然後進行現場演示,演示如何製作圖表,以及如何設定腳本來自訂圖表,使其對製程工程師有用。
現今的製造流程極為複雜,生產節奏快速。工廠裡每天都會發生很多變化。數百種產品同時運行,並跨數十種設備進行生產的情況屢見不鮮。傳統的SPC方法會為每個參數設備及零件組合產生一個圖表。這些圖表很快就會激增至數千張。高變化頻率會使圖表更加複雜,因為在產品運作過程中,圖表中新增的資料點可能很少。
這是我們工廠某個流程的控製圖彙編範例。您可以看到,我們有很多零件變更,但每個圖表中只有幾次運行。理想狀態控制圖的假設很快就會失效,因為我們沒有長時間、一致的運行,而且流程的條件一直在改變。因此,這些假設在控製圖中不成立,並且在圖表中可能失效。當我們審視流程時,會發現有多個參數增加了複雜性。輸入會影響輸出,並且相互關聯。如果將它們全部分別繪製成圖表,可能會失去全局。系統可能會以一種微妙、隱藏的方式發生漂移,而傳統的統計製程控制 (SPC) 無法捕捉到它。
如果我們可以改變一下呢?我們不再繪製原始數據,而是繪製意料之外的數據。建立一個模型,為每個資料點設定一個預測值,然後繪製殘差,即預測值與實際值之間的差異。這就是驚喜所在。
下面我們來快速比較一下傳統SPC圖(或模型控制圖)與傳統SPC圖的優勢。傳統圖表非常適合穩定、簡單的流程,一次只處理一個產品。而模型驅動圖表是多變量的。它可以處理相關性,消除正常變異並標記出意外變異。完美!非常適合像我們流程中那樣混亂的數據。
我們可以選擇不同的模型。例如,PCA 模型。當您只想比較感測器或光譜資料等自然結構時,主成分分析 (PCA) 效果很好。當您需要回應來預測品質屬性時,偏最小二乘模型非常有效;而迴歸模型則適用於簡單的已知關係。關鍵在於選擇適合您輸入資料的模型,並驗證您的模型。讓我們來談談我們將要建立的內容以及我們在 JMP 中的操作方法。
第一步,我建議將繪製的值標準化,尤其是在短期控製圖中,當西格瑪值變化時,數據不一致,對吧?對數據進行標準化是個好主意。根據我的經驗,這也有助於繪製多元控製圖,避免某個參數主導某個訊號並壓倒其他參數。這樣可以使所有參數都處於平等地位。下一步是擬合模型。在本例中,我將討論並展示一個可以在標準 JMP 中完成的模型,你不需要 JMP Pro,也就是主成分分析 (PCA) 模型。這用於模型驅動的多元控製圖平台。我們可以運行該模型,並在該模型中繪製每個數據點的殘差(T² 統計量),因此我們需要獲取這些殘差並保存它們。我們可以利用這些殘差,建構一個短期控製圖來觀察殘差的變化情況,並發現那些意外事件。當然,最後一步是我們在控製圖上設定限值和警報。
讓我們來談談這張圖表的一些特點,以及為什麼它可能非常有用,或者說我認為它非常有用。首先,每一條垂直虛線都代表一個產品變化。所有產品都顯示在一張圖表上,這樣我就能了解發生了什麼,看看哪裡可能會有一些較大的變異,或一些失控的事件。模型驅動的多元控製圖的優點在於,我可以深入研究這些點,然後利用這些點,用單變量方法查看哪些參數出了問題。我可以尋找共同點。然後,我可以進一步深入研究單變量圖表。我認為這是監控殘差的力量,我將 20 個參數堆疊到這個圖表中,作為我要展示的示例,我認為有 10 種不同的產品,我將把它記下來,然後我可以一直追溯到那個單獨的圖表,我會將其乘以 20 乘以 10...每個工具,我都會得到更簡化的圖表。
好的。為什麼要用這種方法?它似乎很適合處理多品種、短期生產數據的產品線。它由模型驅動,因此噪音較小。它能幫你發現關鍵點。它可以透過腳本輕鬆擴展。你可以從一種工具集中提取方法,然後輕鬆地將其複製到另一種工具集或不同的場景中。對於需要查看這些數據的製程工程師來說,JMP 的視覺化工具和動態資料連結功能,以及圖表的深度挖掘能力,使得快速、透明地查找和解決問題,並快速獲取資料核心變得非常容易。
現在,我想透過一個實例來示範一下。在這個例子中,我將主要編寫腳本來建立圖表,然後講解腳本步驟,並對腳本步驟進行一些修改,以增強圖表的外觀和感覺,使其對流程工程師更有用,幫助他們更快、更輕鬆地完成工作。
好的。我們轉到 JMP 並觀看現場演示。
我在本次演示和網站上都附上了一份日誌。它包含資料範例、腳本範例以及腳本開發步驟。我們先從資料表開始。我有一個數據表。這些數據都是經過規範化和清理的數據,您可以直接使用。有 19 到 20 個不同的製程參數作為工具的輸入。這些數據已經準備好了,所以我就不討論準備步驟了。那是一個完全不同的資料整理和設定步驟。我們將討論如何進行分析。如果我們手動開始並進行分析,基本流程如下。我將從模型驅動的多元控製圖步驟開始,取得殘差,然後以此為基礎建立短期控製圖。
我想寫個腳本。我一直以來用來幫助我編寫腳本並使編寫更容易的技巧之一是,雖然我不是專業的腳本編寫者,但我喜歡使用工作流程產生器。我要打開它,然後把那個視窗移到這裡。我現在就把它設定為錄製,然後最小化它,因為我現在不需要查看它。
讓我們來討論一下如何寫一個基本腳本。我要做的第一件事是複製這三個步驟的大綱。我將打開一個新的腳本窗口,並設定提綱。我們要做的第一件事是建立模型,然後計算殘差,最後繪製短期控製圖。我們會這樣做。讓我們回到我們的樣本資料分析品質過程模型驅動的多元控製圖。這個平台非常易於使用。我們只需獲取所有輸入,並將其放入我們的流程參數中。將零件放入「按參數」中,然後點選「確定」。
我們這裡有一個圖表。我們已經產生了圖表。這就是我們討論過的圖表。它包含查看每個不同參數的連結。我們繼續,下一步…下一步是取得殘差。為了獲取殘差,我將轉到每個圖表並保存列值。看著我點擊並瀏覽這9到10個部分,這有點乏味,對此我深表歉意。我會唱歌跳舞,但我不會唱歌,我只和我妻子一起跳舞,因為我不太擅長唱歌。我們將瀏覽並獲取剩下的幾個。它的作用是,它在資料表中為T²按部分建立了一個新列,並將該殘差值填入資料表中的每一行。現在我們有了每個點的殘差,可以繪製了。
下一步,我們可以回到品質流程選單。我們可以打開控制圖產生器。由於我們有多個產品,所以我們需要進行更改。我們會將它們放在同一張圖表上。我們將把它們放入短期控製圖中。我們將按零件開始。抓住它並接管它。然後,我們不再在這些單獨的點上繪製輸入,而是繪製殘差。將其拖到 y 軸上。現在,我們有了一個短期控製圖…看看不同零件的變化。有在控制範圍內的,有失控的。我們對所有這些不同的零件都有控制範圍。這幾乎就是我們從一開始就打算做的。我要關閉它,然後我們現在回去。讓我們回去,拿起我們的工作流程產生器,然後停止記錄。在工作流程產生器中,我們已經捕獲了製作此圖表的所有步驟。
我現在要做的是執行這些步驟,並將它們添加到我的腳本中。我已獲得模型殘差短期運行步驟。這些步驟中的每一個都是工作流程產生器中我們執行步驟的不同部分。我可以簡單地抓取它們,從這裡複製腳本,然後將其添加到這裡。讓我們快速瀏覽一下我們得到了什麼。我們得到了模型驅動的多參數控製圖。我們擁有大量特定於零件的資訊。因為我想將其製作成一個通用腳本,所以我將刪除這些資訊。這將使我能夠將其轉移到不同的零件組。使其不那麼具體,使其以後更易於轉移。現在,我有了這條呼叫線路。
下一步,讓我們來看看,也會呼叫這個模型驅動的多元控製圖,但最後我們看到我們已經將其保存為一個對象,並且我們已經保存了 T² 圖中的值。
這就是我想要捕捉殘差的方法。我稍微作弊一下,因為我可能會在輸入這些內容時出錯,但我要在這裡添加一行程式碼,它基本上設定了一個循環來獲取這些殘差,所以它和 T² 的保存值命令是一樣的。唯一不同的是,我注意到它這裡有一個對象,我正在循環並進行調整。當我製作那些多元圖表時,我會在這裡輸入一個物件名稱。
最後一步是現在回到這裡,製作短期控製圖。我先把它複製出來,然後把它放回這裡。我要把它加到短期控製圖部分。我要在這裡做一些清理工作。確保這些指令語句的結尾都用分號。
我不會在這裡繼續這一行,所以我會去掉這個逗號。這是我的基本腳本。我已經從工作流程產生器中捕獲了所有內容並將其放入腳本中。現在,我準備好了。我可以運行該腳本了。現在,我這裡有多元圖表和短期控製圖。這正是我想要做的事。如果我看到這個,如果我是用戶,然後說:“你看,我注意到我不喜歡的一件事是,我必須在圖表之間跳轉才能獲取信息,而我非常喜歡這個,我可以深入查看正在發生的不同事情。” 我想把這個功能直接添加到這個圖表中。用 JMP 很容易做到。我們可以直接在這裡把這個圖表的腳本儲存到剪貼簿。然後,我們可以把它貼到 Graphlet 的懸停層中。
現在,我們終於搞定了。很簡單。我想把它添加到我的腳本中,但我忘了打開工作流程產生器。第一次做的時候,我感覺很糟糕,正在處理的時候,突然說了句「哦」。反正我做的時候,工作流程產生器也沒有捕捉到它,不過有個簡單的解決方法。我們可以打開這個圖表的腳本。我們可以儲存腳本,然後把它儲存到腳本視窗。我們可以把它帶過來。我可以查看一下,看看它和我的腳本有什麼不同。它就在短期管制圖的下方。不同之處,或者說它的不同之處在於,在顯示控制面板之後,我擁有所有這些信息,可以將其發送到報表並創建 Graphlet 來設置 Graphlet。我要把所有這些資訊都抓取到這裡,貼進去。
我再次收集了所有這些零件資訊。我只需像以前一樣刪除這些行。確保間距正確。現在,我應該有一個腳本,可以使用 Graphlet 製作該圖表。讓我們回到這裡。讓我們關閉它,因為我不想再做一次。讓我們關閉它,我不需要看到它。讓我們看看我們的腳本。讓我們運行腳本,看看我們是否得到了我們想要的結果。讓我們看看這裡。砰。我得到了它。太好了。現在,它是一個 Graphlet,我把它放進去......我當然得到了同樣的東西。看看這個,這沒問題,但我個人希望也許只需獲取我點擊時正在查看的零件的圖表,而不必滾動瀏覽所有這些並將它們全部放在一個地方。
我接下來的操作方式是,再次抱歉沒有一步步講解,但為了節省時間,我將添加一個點擊過濾器。要新增這個點擊過濾器,基本上,我要進入Graphlet內部的圖片語句。我將添加一個不同的命令,並根據點擊來定義部分。然後,我將重新建立圖表,並新增一個本機資料篩選器,這樣我就只顯示針對這項的圖表。這樣,我們就有了一個可以運行的腳本,我可以在這裡選擇一個點。此時,我可以點擊它,只需點擊一下即可產生控製圖。讓我們將它與最初的圖表進行比較。這是第22部分。讓我們看看。這張圖表和這張圖表看起來不一樣。所以這裡可能發生了什麼事情。
這裡我展示了兩張失控程度相當嚴重的圖表。而這裡只有一張。如果你仔細觀察,你會發現最大的差異在於這張圖表的主成分數量是 5 個,而這裡有 8 個。當我添加過濾器時,我丟失了多元圖表中用於將每個部分的主成分減少到不同級別的部分。如果你仔細檢查這些圖表,你會發現它們現在都是 8 個,而之前都沒有 8 個。我們可以解決這個問題。同樣,為了節省時間,我將在這裡添加腳本,但這是一種蠻力方法,我相信有更好的方法,但我在原始腳本中要做的是,在將殘差保存到表中之後,手動獲取這些殘差。我實際上的做法是只運行一個獨立的主成分值。
我將根據得出的特徵值來獲取該成分的值,該程序的工作原理基本上是使用大於或等於 85% 的主成分數量。我將捕獲這些數據,並將其放入表格中。然後,我可以使用該表格進行篩選。在我的點擊篩選器中,我還需要在此處新增幾個命令。我要做的第一件事是獲取這個,我會解釋一下。從主成分錶中,我將選擇部分等於 p 的值。這就是我們感興趣的值。然後,在製作多元控製圖時,我要做的第二件事是添加並設定成分的數量。這是我以前按部分刪除的操作,因為我想方便地調整部分的數量。現在,部分的數量更加靈活,更具可調整性。
現在我可以過渡到任何內容了。讓我們看看我是否正確複製和貼上了所有內容。我預計這裡會出問題,但讓我們看看它是否有效。你知道嗎?我要做兩次,因為我不知道。我展示了一些東西在螢幕上飛來飛去。我想展示的第一件事是,我想展示我有這個零件和組件表。第 22 部分是我們在五個組件之前查看的。我驗證了幾次,這些都沒有問題。太好了,我有這個表。點擊過濾器將針對每個部分進行過濾。獲取此值以確保我獲得正確的圖表。這是我的圖表。現在我又得到了這個短期控制圖。每次垂直虛線消失時,我都在更換零件。
我可以查看,發現我有很多 OC,也有一些非 OC 的資料。讓我們看看這張圖表可能告訴我們什麼。我們直接進去,選一張,放到我的另一個螢幕上。我有這張圖表,可以深入看。我可以看到,單變量控製圖有幾個不同的失控點。紅色部分錶示失控。我可以點擊其中一個條形,深入查看該圖表,然後查看單個圖表,說:“好的,就是這樣。不管它是什麼意思。” 我將保留這個圖表,但我要進去,這張圖表有三個數據。這是怎麼回事?我要點擊並打開這張圖表,然後選擇我在這裡看到的這三個失控點。
現在我可以進入,不用再透過指向和點擊,而是可以從選單中查看貢獻圖,而是可以一次性將所有圖表全部拉出來。我不必逐一點擊這些圖表。我真的很喜歡這個功能,尤其是在查看多個內容時,因為它會將每個樣本的圖表堆疊在一起,對吧?如果存在任何共同點,我可以快速了解發生了什麼。這個有共同點,而這些沒有,但就在中間,這四個東西都是不同的。這對我來說很有趣。這是我應該去探索的東西。當我查看這個時,相同的四個輸入具有相同的訊號,但在這個上是不同的。也許我遇到了一些系統性問題。此外,當然,我可以進入,深入研究這個圖表並單獨查看其中的一些,這很有趣,因為所有這些都是不同的。
它們都沒有 OC,但它們的 OC 方向不同。兩個 OC 很高,一個 OC 很低。這很有意思。對我來說,這給了我一個工具,我可以從這張圖表中選擇一個站點,快速深入挖掘,尋找共通性,看看我可能想調查哪些正在發生的事情。
我喜歡這個,我會對此提供一些見解。透過查看這些圖表,我們發現了不同的問題。我們發現閥門無法正確開啟和關閉。我們發現製程設定存在問題,可能導致我們輸送的氣體量超過了實際需求。我們實際上是在浪費不必要的資金。我們發現了一些問題,或者我不應該說是問題,而是我們發現了一些問題,導致輸入量達到了不穩定的程度,這可能會導致產品不穩定,而我們可能沒有在其他地方測量過。我們不知道具體原因。
它只是針對這種情況,您可以查看輸入,了解輸入的執行情況,並查找輸入中的異常情況,並可以幫助您節省資金並幫助您避免潛在問題。
演示就到這裡。我還有一張投影片想跟大家分享討論。至於參考資料,我有幾個參考資料。首先,我去年在Discovery大會上看到了Mike Anderson關於短期控製圖的演示,之後又在JMP線上平台重溫了一遍。那篇示範對我幫助很大。 Don Wheeler的《短期SPC》一書也非常實用,簡單易懂。裡面有很多很棒的東西,創新的控制和圖表繪製,既明智又公正。它也是一個資源寶庫,與JMP應用程式中的許多內容相契合。我推薦它。此外,我在JMP社群上找到了多元方法的演示,也覺得它非常有用。最後,我要特別感謝落磯山JMP團隊的Jed Campbell,他鼓勵我繼續推進這個想法,並幫助我解決了一些腳本編寫的挑戰。感謝您抽出時間,希望您今天過得愉快。