為任何空間填充設計取得 MaxPro 價值親愛的 JMP 使用者和專家腳本編寫者,您好:
我想比較幾個DoE(空間填充型)。有些是使用 JMP 產生的(具有因子和回應所需的所有列屬性),有些是使用其他外部工具建立的(因此在 JMP 中匯入檔案後沒有列屬性)。
由於這些設計是空間填充類型,我想根據差異和MaxPro標準值對它們進行比較(此處的範例為 4 個連續因子的快速靈活填充設計):

這些值可直接用於「DOE 對話方塊」腳本中 JMP 產生的設計,但不能使用外部工具。
我已閱讀腳本索引和“ << Get MaxPro Values ”函數,但我不知道如何在“外部”DoE 腳本中使用它?
實際上,我希望有一個腳本可以計算任何設計的差異和 MaxPro 值,並提供包含結果的資料表。
理想情況下(也許是願望清單的一個想法),我希望有一個像Compare Designs這樣的比較平台,我可以在其中匹配不同表格之間的因素,並且將打開一個窗口,比較這兩個值、差異和MaxPro 標準。
我附上了兩個資料表用於測試,每個資料表都是具有 4 個連續因子的設計,一個是外部產生的,一個是使用 JMP 產生的。
歡迎任何幫助!
謝謝,
自動化和腳本編寫實驗設計回覆:取得任何空間填充設計的 MaxPro 值嗨@Victor_G ,
以下是一些 JSL 程式碼,可以滿足您的要求。這沒什麼花俏的,我確實明確寫出了所有 DOE 指令來產生 SFD。您可以這樣做,或者也可以指向報告視窗並從中提取數字框值。但是,< <>
希望這至少可以幫助您入門。
Names Default to Here(1);
dt = current data table();
dtdoe =
DOE(
Space Filling Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, 0, 0.5, "X1", 0 ),
Add Factor( Continuous, 0, 0.5, "X2", 0 ),
Add Factor( Continuous, 0, 0.5, "X3", 0 ),
Add Factor( Continuous, 0, 0.5, "X4", 0 ), Set Random Seed( 1622525169 ),
FFF Optimality Criterion( MaxPro ),
Space Filling Design Type( Fast Flexible Filling, 20 ), Simulate Responses( 0 ),
Set Run Order( Randomize ), Make Table}
);
MaxPro_value = dtdoe <<GET max="" pro="" values=""></GET>
<P> </P>
<P>希望有幫助!</P>
<P>DS</P>回覆:取得任何空間填充設計的 MaxPro 值嗨@SDF1 ,
感謝您的興趣和第一個想法!
我確實可以存取在 JMP 中創建的任何空間填充設計的 MaxPro(和差異)值(它們是預設計算的),並且我正在考慮使用“Make Into Datatable”非常天真地提取它們。我認為可能有一種更優雅的方法來實現此目的,方法是識別這些值框的屬性,並創建一個JSL 腳本以添加到JMP 中的任何空間填充設計,以便可以將這些值提取到單獨的資料表中。您的腳本與在 JMP 中建立空間填滿設計後產生的「DOE 對話方塊」非常相似。
我的問題與以下問題相關:我們能否計算任何空間填充設計的 MaxPro 和差異值(甚至是在 JMP 外部生成的設計),如果可以,如何編寫腳本或使其自動化?
編輯:我剛剛意識到我可以使用 JMP 外部生成的資料表,並將其用作空間填充平台中的候選集(透過使用協變量因子強制運行),以便 JMP 可以計算 MaxPro 和差異值(範例這裡有我原來的帖子中提供的外部數據表):

但是,我不確定這些值是否正確,因為無論使用這種「候選集」方法(甚至是 JMP 生成的空間填充設計)將哪種設計加載到 JMP 中,我都會獲得相同的 MaxPro 和差異值。所以這看起來像是個錯誤,而不是實際的計算值。如果有人知道如何進行計算並顯示它們,我會非常高興!
最好的,
回覆:取得任何空間填充設計的 MaxPro 值嗨@Victor_G ,
知道了。抱歉,我並不完全清楚您想要自己進行計算 - 或至少編寫腳本而不是從報告視窗中提取它。我將其理解為「非此即彼」——要么從報告視窗中提取它,要么計算它。但是,我可以理解為什麼你想自己計算它,因為無論你分析哪個表,你都會得到相同的 MaxPro 值,這似乎很奇怪。
線上幫助引用了一篇期刊文章: Joseph, VR, Gul, E., and Ba, S. (2015)。 “計算機實驗的最大投影設計。” Biometrika 102:371–380,應該有計算 MaxPro 的公式(或演算法)。我無法訪問 Biometrika 期刊,但如果您可以訪問,您應該能夠設定一些 JSL 來代表您進行計算。從 JMP 線上幫助中的描述來看,聽起來他們似乎正在計算潛在設計點之間的距離的點積,並試圖將其最大化。
希望這有助於推動事情向前發展。
DS
回覆:取得任何空間填充設計的 MaxPro 值嗨@SDF1 ,
感謝您的參考。
我可能會從閱讀社群的舊貼文開始,使用層次聚類平台來存取矩陣距離:
A = Current Data Table() <<
Hierarchical Cluster(
Y( :X1, :X2, :X3, :X4 ),
Method( "Ward" ),
Standardize By( "Columns" ),
Dendrogram Scale( "Distance Scale" ),
Number of Clusters( 3 ),
Set Random Seed( 2088588291 ),
SendToReport(
Dispatch( {"Dendrogram"}, "Clust Dendro", FrameBox,
{Frame Size( 35, 325 )}
)
)
);
A << Save Distance Matrix;
A << Close Window;
然後,我對如何使用距離矩陣從空間填充設計中獲取與 DOE 對話框中相同的資訊感到有點迷失:最小距離、最近點、MaxPro 值和差異值。
我已經使用多維縮放平台和之前生成的距離矩陣進行了測試,並將維數定義為設計中原始因子的數量;我能夠正確發現最近的點,但與 DoE 對話方塊中完成的計算相比,(最小)距離似乎有所偏差:

@Mark_Bailey 、 @Ryan_Lekivetz和其他 JMP 專家有何意見?
編輯:在資料格式的層次聚類選項中使用“非標準化”給了我正確的距離......我越來越近了!
我現在可以根據最小、平均值、最大距離值以及點之間距離的變化(範圍、標準差/變異數等)來比較設計。仍然沒有 MaxPro 計算,但更好地了解了空間填充設計中點的分佈。
另外,使用分佈平台並將因子值的分佈與均勻分佈(alpha 和 beta 值設為 1 的 Beta 值)進行比較,可以幫助我更接近這種「差異」值。可能與 p 值、對數似然、卡方值有關,這些值似乎與差異相關:

回覆:取得任何空間填充設計的 MaxPro 值在此主題上發布了兩個願望清單項目:
用於空間填充設計的設計資源管理器
用於空間填充設計的比較設計平台
產生多個設計並使用層次聚類平台的距離已經有助於評估空間填充設計的「性能」和點分佈。以下是隨著因素數量(維度)的增加,兩種設計類型的最小、平均值和最大距離值的直觀比較。第一個模型看到距離隨著維度的增加而急劇增加,而第二個模型看起來更“穩健”,距離隨著因子的增加而線性增加。

查看點之間距離的變異數(這似乎與差異值相關),與設計 2 相比,設計 1 似乎有一種更緊湊的方式來傳播點。維度時:

回覆:取得任何空間填充設計的 MaxPro 值抱歉遲到(且簡短)回覆 - 加載外部設計時確實存在問題。請特別注意,該分母基於單維距離,因此如果您有任何具有相同值的輸入,則分母為 0(通常我們正在尋找非折疊屬性,以防止這種情況發生)。據我記得,該公式可用於縮放估計:
https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/fast-flexible-filling-design-details.shtml
為了避免差異,我們正在討論將公式直接添加到文件中 - 如果您能夠訪問 Hickernell,它位於第 317 頁的底部。
Fang, K.、Lin, D.、Winker, P. 與Zhang, Y. (2000)。 “統一設計:理論與應用。”技術計量學42:237-248。
希克內爾,F. (1998)。 “廣義差異和正交誤差界限。”計算數學67:299-322。