我可以在自定义设计中为分类因素的每个级别定义/约束运行次数吗?尊敬的JMP社区,
我正在探索JMP并试图使其针对涉及3个连续因素和两个分类因素以及某些因素约束的生物过程进行定制设计。 我想将相同数量的运行分组到两个类别因素之一的每个级别中(总共6个级别,实质上是包含不同运行的“血管”样因素)。有没有一种可能的方法可以定义或约束分类因素以使其起作用。在我看来,一种更合乎逻辑的方法是将这种分类因素定义为阻止效应。 我已经尝试过该选项,但是后来我不允许我保持设置的因素限制。 任何指导和解释将不胜感激!
提前致谢!
美国能源部回复:我可以在自定义设计中为分类因素的每个级别定义/约束运行次数吗?你好@ modelcitizen89 ,
我相信有办法做到这一点,但我认为需要更多信息。 您能否提供更多细节而不透露您的情况的任何细节? 您可以将因子保留为X1,将设置保留为-1至1,将类别保留为L1,L2等。而且,在不知道实际约束是什么的情况下,它们是在连续变量上还是在类别上? 这将改变您将它们包括为线性约束还是不允许的组合的方式。
我认为,使用定制设计DOE平台将是最佳选择。 在不知道约束是什么的情况下,只是根据我从您的描述中学到的东西来模拟东西,下面是一个设计,它具有3个连续因子X1,X2,X3,两个3级分类因子X4,X5,其级别分别为L1,L2, L3和一个阻塞因子。 每个块将有三个运行,分别代表X4和X5的水平,以及低水平和高水平连续因子的适当组合。


根据您的描述,这听起来有点像您所追求的。 同样,由于尚未定义,因此现在对系统没有任何限制。
这是有帮助的,还是不是您要的? 如果您可以提供更多详细信息,则可以帮助您朝正确的方向发展。
希望这可以帮助,
DS
回复:我可以在自定义设计中为分类因素的每个级别定义/约束运行次数吗?听起来这种情况似乎很难更改类别变量。 请参阅有关分割图设计的文档。
您选择的全图数量和运行次数应为您提供每个整图所需的数量。
回复:我可以在自定义设计中为分类因素的每个级别定义/约束运行次数吗?你好@马克贝利和@DiedrichSchmidt ,非常感谢您的投入。 我在脚本中列出了我正在进行的设计。
基本上,我要研究的是创建一组运行,这些运行需要在单个“容器”中实际执行(因此,分类因子“容器”,我目前将其设置为6。 L1,...,L6))。 当时每个“容器”的最大运行次数为7或以下,我希望在所有“容器”中保持该数字一致。
其他因素包括恒定存在的成分A;以及两种互斥的成分B和C具有自己的范围(带有一个额外的分类因素来定义B或C的存在);其他两种成分D或E。 通常会设置一些约束条件来定义B和C的不同范围,以及当B或C不存在时A上的范围变化。
再次感谢您对此进行调查。
中号
DOE(
Custom Design,
{Add Response( Maximize, "Response ", ., ., . ),
Add Factor( Continuous, 0.005, 0.03, "A", 0 ),
Add Factor( Continuous, 0, 0.03, "BorC", 0 ),
Add Factor( Continuous, -1, 1, "D", 0 ), Add Factor( Continuous, -1, 1, "E", 0 ),
Add Factor( Categorical, {"B", "C"}, "ingredient BorC", 0 ),
Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5", "L6"}, "container", 0 ),
Set Random Seed( 802458459 ), Number of Starts( 2 ), 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( {1, 1}, {2, 1} ),
Add Term( {1, 1}, {3, 1} ), Add Term( {1, 1}, {4, 1} ),
Add Term( {1, 1}, {5, 1} ), Add Term( {2, 1}, {3, 1} ),
Add Term( {2, 1}, {4, 1} ), Add Term( {2, 1}, {5, 1} ),
Add Term( {3, 1}, {4, 1} ), Add Term( {3, 1}, {5, 1} ),
Add Term( {4, 1}, {5, 1} ), Add Term( {1, 2} ), Add Term( {2, 2} ),
Add Term( {3, 2} ), Add Term( {4, 2} ), Add Alias Term( {1, 1}, {6, 1} ),
Add Alias Term( {2, 1}, {6, 1} ), Add Alias Term( {3, 1}, {6, 1} ),
Add Alias Term( {4, 1}, {6, 1} ), Add Alias Term( {5, 1}, {6, 1} ),
Replicates( 1 ), Set Sample Size( 36 ),
Disallowed Combinations(
ingredient == "B" & (BorC >= 0.02 & BorC <= 0.03) | BorC == 0 & (A >= 0 & A
<= 0.015)
), Simulate Responses( 0 ), Save X Matrix( 0 ), Set Run Order( Keep the Same ),
Make Table}
);
回复:我可以在自定义设计中为分类因素的每个级别定义/约束运行次数吗?你好@ modelcitizen89 ,
感谢您分享您的脚本,这有助于您更清楚地了解内容。我可以确认您的原始错误消息:在模型中明确包含Blocking变量时,JMP不允许不允许的组合。 如果将Container保留为分类变量,则可以包括不允许的组合,这样就可以存在约束,但是要保持不变,则每个Container的运行次数会有所不同。
我不知道这是否是解决此问题的适当方法,但是您可以通过删除Container作为变量来完成您想要的操作(除了作为主要效果(默认情况下,它不在模型中);您可以不考虑容器与其他因素之间的任何相互作用)。 您可以将DOE设置为生成DOE,以使其具有随机的块大小(可以将其选择为容器数6),而不必将Container作为分类变量或阻塞因子。 默认情况下,DOE希望执行28次,但这不允许在每个块大小内进行相同数量的运行,因此您需要将其更改为36。 这将为您生成具有约束条件和适当的“容器”的DOE。 同样,我不确定这是否合适,但它可能会让您到达一个可以进行实验的地方。
最后,我不是很肯定,但是我认为不允许的脚本中可能存在错误。 下面是自定义DOE的JSL输出,我使用您的约束条件运行了该输出,并将每个随机块的运行用作容器。 我想这就是你想要的。
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, 0.005, 0.03, "A", 0 ),
Add Factor( Continuous, 0, 0.03, "B/C", 0 ),
Add Factor( Continuous, -1, 1, "D", 0 ), Add Factor( Continuous, -1, 1, "E", 0 ),
Add Factor( Categorical, {"B", "C"}, "Ingredient", 0 ),
Set Random Seed( 531473239 ), Number of Starts( 11 ), 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( {1, 1}, {2, 1} ), Add Term( {1, 1}, {3, 1} ),
Add Term( {1, 1}, {4, 1} ), Add Term( {1, 1}, {5, 1} ),
Add Term( {2, 1}, {3, 1} ), Add Term( {2, 1}, {4, 1} ),
Add Term( {2, 1}, {5, 1} ), Add Term( {3, 1}, {4, 1} ),
Add Term( {3, 1}, {5, 1} ), Add Term( {4, 1}, {5, 1} ), Add Term( {1, 2} ),
Add Term( {2, 2} ), Add Term( {3, 2} ), Add Term( {4, 2} ),
Set Runs Per Random Block( 6 ), Set Sample Size( 36 ),
Disallowed Combinations(
Ingredient == "B" & ("B/C"n >= 0.02 & "B/C"n <= 0.03) | "B/C"n == 0 & (A >=
0 & A <= 0.015)
), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
Set Run Order( Keep the Same ), Make Table}
);希望这可以帮助,
DS