定义因素约束不是我应该单独留下或假装不存在的东西吗?
聪明人什么都不做。 ——马库斯·图留斯·西塞罗
如果您对自定义设计器中的“定义因子约束”部分感到害怕,那么您来对地方了。显然,即使是 Cicero 也可能发现 JMP 定制设计器的“定义因子约束”部分令人望而生畏。

对于那些还不知道它的易用性的人来说,在该部分中选择“无”以外的任何内容可能会有点伤脑筋。 事实证明,JMP 已经拥有让您轻松体验所需的工具。
等待。 我什至不确定我是否知道“因素限制”是什么意思。 这些是什么? 它们的用途是什么?
在许多实验中,低水平和高水平的因素以不可能的方式结合在一起,会破坏设备,或者变得极其昂贵。 例如,假设一家公司正在进行一项实验,以最大限度地提高特定流程的产量。 公司可以使用两台机器:机器A的快速拨号是1-5,但是机器B较新,它的拨号是1-6。 这将是了解如何在设计实验时使用因子约束的好时机。
好的,我很好奇。 你能告诉我第一个选项(指定线性约束)吗?
在下图所示的实验中,假设您是一名实验者,试图在包括温度和压力的烘箱过程中最大限度地提高反应的产率。 一个问题是烤箱不能同时在高温下运行和高压——烤箱会破裂。 因此,您需要一种方法来限制 DOE 的设计空间,以便不会创建会破坏烘箱的运行。 这是指定线性约束选项的绝佳机会。

要填充线性约束部分,走出自定义设计器并可视化设计空间会很有帮助。 使用 Graph Builder 并与一些工艺专家交谈,您可以绘制下图,其中蓝色阴影区域内发生的任何 DOE 运行都保证不会破坏烘箱。 过程专家(和维护人员)很高兴您承诺不在图表右上角的空白区域进行试验。

现在,您所要做的就是找到一种方法将图形转换为填充自定义设计器的线性约束部分的方法。 事实证明,Graph Builder 已经可以做到这一点。 您所要做的就是隐藏/排除除构成极限斜线的两行之外的所有行,然后向图形生成器询问适合剩余点的线的方程。

该图告诉您,只要 Y(温度)低于该线,烤箱就可以正常运行。需要一点点代数和替换:将 2x 添加到等式的每一边,然后用温度代替 Y,用压力代替 X,您就可以在自定义设计器的线性约束部分中填写所需的内容。


制作 DOE 表后,您可以使用 Graph Builder 检查并看到 DOE 正在避开烘箱中高温高压的麻烦区域。

这看起来很简单。 前面使用具有不同约束的机器的示例怎么样? 应该如何处理?
具有不同约束的机器最好使用第二个选项处理,即不允许的组合过滤器。 使用此过滤器指定要在实验中排除(即不允许)的因素组合。 考虑以下三台机器的问题列表,您希望将其包括在实验中以最大限度地提高生产率。 每台机器都设计有一个范围为 1-5 的皮带速度设置和一个有四个位置的魔术杆,标记为 1-4(没有人知道它的作用;你将它作为一个因素包括在内,因为你确信它什么都不做,你想从所有机器上删除它):
- 机器 A 不能低于 2 的皮带速度或电机过热
- 机器 B 不能超过 4 的皮带速度,否则它会使断路器跳闸
- 机器 C 有一个魔法杠杆,除非有一个非常强壮的人在操作它,否则不能将其推到位置 4。
使用界面使不允许的组合过滤器看起来像下面的示例,告诉 JMP 不要选择任何符合上面列出的任何约束的运行。

制作 DOE 表后,使用图形生成器验证约束是否得到正确处理。

好的,前两个选项现在看起来很简单。 第三种选择肯定是每个人都害怕的,对吧?
实际上,Disallowed Combinations Script 通常是在 DOE 中约束因子的最简单方法,因为 JMP 已经完成了这项工作;您只需要复制/粘贴到脚本框中。 回想第一个例子,在允许的温度/压力设计空间的边缘有一条直线。 如果您需要的不是直线,而是曲线怎么办? 这不是可以在线性约束部分或不允许的组合部分中输入的内容。 不过,很容易进入“不允许的组合脚本”会话。 在这种情况下,关键是使用 Fit Y by X 平台将一条线(多项式,二阶)拟合到允许设计空间的弯曲边界,然后复制 JMP 已经创建的公式(注意在下图,其他角的点被排除但未隐藏,额外的线是使用“工具”菜单中的“线”工具绘制的)。

将直线的公式从 Fit Y by X 平台复制到 Custom Designer 中的 Disallowed Combinations Script 部分,即可完成 99% 的操作——您需要做的就是将公式中的“=”更改为“>” ',因为任何大于此曲线的温度都应被禁止。

构建 DOE 表后,您可以验证分隔可接受运行与不可接受运行的线现在是弯曲的。

现在这似乎更容易了。 我想我什么都不怕,对吧?
好吧,我想,如果西塞罗知道 JMP 中的 DOE 约束有多么简单(并且活得足够长以使用 JMP),他的话应该是:
明智的实验者不惧怕任何因素约束。 ——开明的西塞罗
我已将 JMP 日志附加到这篇博文中,以便您可以跟进并重新创建上述所有内容。 作为一项挑战,请考虑如何使用三个(或更多)因素而不是两个来创建约束(提示:考虑“拟合模型”平台如何显示公式)。
不是pquery在jsqle里定义成psql 连.csie在crowe的分析软件里都定义不了MDM都是专家分析。
http://cryphosnegative.blogspot.com/
如果我们只能针对特定因子水平执行 N 次运行,那么限制条件如何?JMP 可以处理这个问题吗?
@Jed_Campbell @Copying Jed 对此表示赞同。对于特定因子水平,我们只能执行 N 次运行,这有什么限制吗?JMP 可以处理这个问题吗?
@罗伯特·利尔你能解释一下你在问什么吗?我不确定我是否理解你的意思。
@Jed_Campbell是的,谢谢。如果我创建一个经典的 3 因子 2 级设计,我会得到 8 次运行。专注于因子 X3,我会在 L1 级运行四次,在 L2 级运行四次。限制是我们只能执行 L2 两次。我可以用这个限制生成最佳设计吗?理想情况下,我希望因子 X1 和 X2 的功效至少为 80%,然后最大化 X3 的功效。
对于那些在设计混合因子实验时需要使用约束的人,我的同事@yasmine_hajar写了一本很棒的指南。
这里讨论得很精彩!
请问有人知道在禁止组合脚本中是否可以编写条件语句吗?
例如:两个因素 X1 和 X2;
如果:0 <= X1 <= 1
那么:X2 > 10
(那不是我用的代码)
我的问题比这复杂得多,我很乐意讨论,但我想先确认一下条件语句是否有效,然后再详细说明。当我插入条件约束并尝试生成设计时,JMP 显示:
“模型大纲中选定的项与前面的项呈线性相关。请按‘移除项’按钮重试。”
我不确定这是否意味着我的约束条件添加错误,还是 JMP 本身就不支持条件约束。非常感谢您的帮助。
嗨@MC_Kowalski
是的,这可以实现,但 JMP 更倾向于使用 AND 语句编写条件。在下图所示的示例中,我指定当 X1 在 0 到 1 的范围内且 X2 <= 10 时,不允许任何值,这与您上面编写的 IF 条件在功能上是等效的。如果您使用“不允许的组合”过滤器设置不允许的范围,然后将 DOE 脚本保存到脚本窗口,JMP 可以为您自动编写这些语句。

@Jed_Campbell
感谢您的及时回复!问题已解决!
我当时在处理一个包含 3 个因素/维度的约束,并通过对输入空间进行 10,000 次 FFF 空间填充设计来检查它。