我正在嘗試創建一個包含大約 10 個分類變量的設計,每個變量都有兩個級別 (0,1)。我希望我的設計能夠對主要影響和所有二元交互進行建模。當我使用 JMP 默認值時,我得到了 D 最優設計,使得“1”級別的分類變量的平均數量約為 5。有沒有一種方法可以限制設計,使我最多只允許其中的 3 個變量處於“1”水平?(我知道這可能需要更多的運行,但我對此沒有意見。)
謝謝。
當你說不相等時,你對算法的限制太多,只有 100 次運行。 您可能無法估計所有模型項。
例如,當您限制只有 3 個因子處於高設置時,就有 120 種可能的組合。 即使您選擇所有 120 種組合,您也無法估計主效應模型。 為什麼? 因為你有一個內在的奇點。 具體來說,截距(設計矩陣中的一列 1)等於所有因素的線性組合:1/3*(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10 ). 因此,無法完成分析,也找不到此類模型的設計。
回到說“不超過”3 或 4 或您希望的任何級別,您可能會過得更好。
丹,再次感謝您提供非常有幫助的回复。我很高興地尋找一個好的設計,但發現自己再次陷入困境......
我正在嘗試製作一個圖表,將設計診斷(特別感興趣的是預測的平均方差)繪製為高級分類因素數量的函數。在所有情況下,我都有 10 個二級因子,並且我只允許進行一定數量的試驗,即 100。當我在高層允許“太多”或“太少”時,我有點期待設計會降級。
因此,我一遍又一遍地運行 DOE 腳本,並對高層允許的因素數量進行了一系列不同的限制,即:
不允許的組合(X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 2個
不允許的組合(X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 3個
不允許的組合(X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 4個
不允許的組合(X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 5
不允許的組合(X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 6個
不允許的組合(X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 7
不允許的組合(X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 8
(將其循環播放會很好,但我只是複制並粘貼腳本)。
我發現只有那些在高層有 2 個或 8 個因素的因素會收斂並交付設計!. 對於其他人,我收到一條錯誤消息“最佳設計器無法收斂”。有沒有辦法解決?
您不需要使用腳本來創建設計。 該腳本只是設置所有工作的便捷方式。
您確實需要像我發布的約束那樣的腳本。 鑑於您希望嘗試不同的場景,我建議使用 GUI,但將線性約束指定為“不允許的組合腳本”並粘貼到我提供的腳本中。 這將允許您嘗試一些事情,如果您不喜歡它,只需單擊後退按鈕,進行更改並重試。
至於運行次數,最小運行次數是您要估計的模型項總數。 對於 10 個 2 水平因子,您將得到截距 (1) + 主效應 (10) + 雙向交互作用 (45)。 這給出了總共 56 個項,因此這是最小運行次數。
Default number of runs 有一些內置標準,這些標準將為錯誤提供一定程度的自由度(通常為 4)並力求正交性(到一個點)。 這不是一個直接的公式。 對於同樣的情況,默認運行次數為 60(這就是 Ryan 生成該設計的原因——並註意到 4 個錯誤自由度)。 默認運行次數不考慮任何限制(據我所知!)。 因此,如果您創建具有或不具有約束的相同設計,默認值仍為 60。 默認值不保證滿足您需求的設計! 正如您所指出的,當您添加約束時,找到一個好的設計可能更具挑戰性,並且通常需要更多的運行。 由於 60 給出了可怕的結果,因此選擇更高的數字。 據我所知,沒有簡單的計算可以告訴您達到預測平均方差的特定水平所需的運行次數(但不要忘記預測方差的方差! 換句話說,不要忘記設計空間的分數圖)。
希望這有助於尋找一個好的設計!
Ryan 的方法正是我要建議的。 但是,如果您真的想將您的因素保留為分類因素(並假設它們被命名為 x1 - x10),您可以指定一個 Disallowed Combinations 腳本,如下所示:
(x1 == 2) + (x2 == 2) + (x3 == 2) + (x4 == 2) + (x5 == 2) + (x6 == 2) + (x7 == 2)
+(x8 == 2) + (x9 == 2) + (x10 == 2) > 3
請注意,這些因素是絕對的,因此每個 X# == 2 實際上是在說明該因素是否處於第二級。
當我遇到這種情況時,我通常將分類轉換為 0/1 離散數字因子,然後使用不允許的組合來確保總和不超過所需的 1 數。 對於 10 個輸入(主要效果模型,但只是為了給你一個想法),是這樣的:
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ), Add Factor( Discrete Numeric, {0, 1}, "X1", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X2", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X3", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X4", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X5", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X6", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X7", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X8", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X9", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X10", 0 ), Set Random Seed( 1550400750 ), Number of Starts( 3017 ),
Add Term( {1, 0} ), Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {4, 1} ),
Add Term( {5, 1} ), Add Term( {6, 1} ), Add Term( {7, 1} ), Add Term( {8, 1} ), Add Term( {9, 1} ),
Add Term( {10, 1} ), Set Sample Size( 16 ), Disallowed Combinations(
X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 > 3
), Make Design}
);