介紹
在對曲線或光譜資料進行建模作為輸出時,JMP 中的函數資料瀏覽器 (FDE) 平台是一個非常好的工具。但是如果我有多條曲線當輸出怎麼辦?如果每條曲線對我的業務都有不同的優先順序怎麼辦? JMP 能否同時對多條曲線進行建模、比較與最佳化?上個月我多次被問到這些問題,(當然)答案是「是」。請繼續閱讀以了解具體方法。
背景
我將使用範例資料中稍微修改的 Mill DOE.jmp 來製作此範例。該文件已附加到此部落格條目。這些數據代表了一項旨在優化輥磨製程的實驗設計,其目標是使尺寸曲線迅速縮小。我添加了一個列,用於追蹤每次實驗運行期間的電量使用情況。本專欄的目標是最大限度地減少過程中的功耗。我還在資料中新增了一個目標批次作為批次 0,並刪除了資料表中的一些其他欄位。
現在這是一個很好的數據集,可以說明如何優化競爭曲線:我希望使用更多的功率會導致該過程更快地減小顆粒尺寸,並且我希望在設計空間中有一個令人高興的地方電力使用量可以很低,而且銑削過程可以很快。在下圖中,我可以看到最快的 DOE 運行(紅線)接近功耗的中間位置,最低的功耗(藍線)大部分位於銑削加工時間的中間位置。綠線代表每個輸出的目標曲線。

功能數據瀏覽器
我假設讀者已經知道如何使用 FDE 平台。如果您需要複習一下,請參閱@Peter_Hersh的精彩概述。
一次關注多個輸出很容易。加載每個輸出的目標後,我將 B 樣條模型擬合到每個輸出,然後右鍵單擊頂部的選項卡框並選擇“設置樣式”>“水平展開”,這樣我就可以並排看到兩個分析器。連結刻畫器後(點擊刻畫器紅色小三角形並選擇因子設定 > 連結刻畫器),我可以在優化一個輸出時看到權衡。這是有道理的,最快的尺寸發生在高焊道、高焊道強度、低冷卻劑、高溫拐角處。同樣,最低的功耗來自溫度和流量較低的不同角落。

取得兩條曲線的過程
不過,我還不能告訴 JMP 哪條曲線比較重要,然後使用 JMP 的工具自動找到流程既快速又便宜的最佳點。至少有兩種方法可以做到這一點:
方法 1:儲存列公式
此方法並不適用於所有情況,但它非常快速且簡單。如果我的目標曲線始終高於或低於所有其他曲線,即,如果我嘗試最大化或最小化一條曲線,那麼我可以保存每條曲線的公式,並使用預測刻畫器在以下位置查看和優化這兩個過程:一次。
- 對於每條曲線,在功能 DOE 分析中選擇紅色三角形。選擇儲存列 > 儲存預測公式。

- 選擇圖形 > 刻畫器,然後選擇預測公式,然後按一下確定繼續。

- 在「預測刻畫器」紅色小三角中,選擇「最佳化和意願」 ,開啟「意願函數」 ,然後返回該選單並選擇「設定意願」 。在彈出的視窗中,選擇「最小化」 ,然後將「大小」的重要性指定為 1。接下來,再次選擇「最小化」 ,但這次將「功率」的重要性設為 2。

- 按住 Alt 鍵點選刻畫器「時間」部分中的任意曲線,然後選擇「鎖定因子設定」並按一下「確定」。 (鎖定它可以防止 Profiler 認為它可以作為最佳化過程的一部分移動到曲線上的不同位置。)接下來,在 Optimization and Desirability 選單中,選擇Maximize Desirability 。變更每條曲線的重要性級別,然後再次選擇「最大化意願」將變更最佳點的位置。

方法2:JMP做微積分
第一種方法僅在我嘗試最小化或最大化曲線時才有效。如果我需要匹配不是最大值或最小值的特定曲線,它就會失敗。當一條或多條曲線需要擬合非最大值或最小值的形狀時,輸出中間表,然後將模型擬合到該表,可以優化多個功能響應。為了實現這一點,我將返回到原來的 FDE 輸出:
- 按住 Alt 鍵並點選「尺寸」輸出上「時間探查器」的空白區域;確保選擇“鎖定係數設定” ,然後按一下“確定” 。在電源輸出上重複此操作。如果分析器已鏈接,第二個輸出將自動鎖定。鎖定這個因子使得下一步的輸出變得更小。
- 按一下 FDOE Profiler 附近的紅色小三角形以取得“大小”,然後選擇“輸出網格表” 。
- 在彈出的表中,將「目標 0 的整合誤差」欄位重新命名為「大小誤差」。

- 對電源重複步驟 2 和 3,將「Integrated Error」欄位重新命名為「Power Error」。

- 為了簡化操作,您可以刪除兩個網格表中先前重新命名的「錯誤」列之後的所有列。

- 使用表格 > 更新工具合併兩個表。您需要匹配所有前五列,但這並不意味著需要大量點擊:只需在兩個列組中選擇Time和T(°C)之間的所有選項,然後選擇Match 。

現在我需要做的就是擬合一個模型,以最小化我每個回應的錯誤。神經網路在這裡是一個不錯的選擇。
我可以像之前的方法一樣設定 Desiribility。然而,在這種情況下,我希望最小化每個響應的目標曲線的誤差。此方法的優點在於它適用於任何目標曲線。如果我將相對重要性設定為與以前相同,其中「功率」的重要性是「速度」的兩倍,那麼我得到的最佳點是使除「流量」之外的每個輸入都處於最大狀態,我希望將其設為最小值。更好的是,由於我仍然打開了原始 FDE 平台並並排配置了分析器,因此我可以自動看到我的輸出是什麼樣子,因為所有三個分析器都是連結的。

結論
人們想要同時優化多條曲線的原因可能有各種各樣。例如:
- 對於汽車,燃油效率和引擎功率輸出曲線。
- 用於藥物開發、溶離曲線和核磁共振波譜。
- 對於金融大師來說,將各種風險報酬曲線相互比較。
透過上述兩種方法,每種情況都可以解決,並且由於正在使用所有功能數據,因此答案會更快、更準確。
@Jed_Campbell感謝這個精彩的教學!我確實有一個問題 - 在“方法 2”部分下,您輸出到網格的部分,您提到新的資料表有一個名為“來自目標 0 的綜合誤差”的列。這是從哪裡來的?是否缺少某個步驟?我有 JMP Pro v.18,但無法找到此列。謝謝!
@dray173在建立表格時會自動產生「來自目標 0 的綜合錯誤」列,但前提是您已經告訴 JMP 目標函數是什麼。抱歉,我在功能資料資源管理器部分幾乎忽略了這一點。我猜你錯過了這個步驟。如果我猜得正確,要指定目標,您需要從頂部附近的命令大綱中選擇目標功能>載入。這也應該是第一步,並且應該在擬合任何模型之前完成。

感謝您幫助澄清這一點,如果這是您需要的解決方案,請告訴我。