利用候选集表设计具有变异体特定约束的混合实验
本博客探讨了在使用实验设计 (DOE) 研究混合物时,如何解决约束问题。当混合物组分具有不同的变体,且每个变体的浓度范围也不同时,就会出现约束问题。本文是对@chris_gotwalt1在 Discovery Summit 大会上关于如何处理连续因子时复杂约束的演讲的扩展。本博客将更进一步,专门探讨具有特定变体约束的混合物设计。
我们来讨论一下具有变体特定约束的混合设计是什么意思。在下面的例子中,我们混合了 A、B 和 C 三种组分。然而,组分 A 可以有三种不同的变体:A1、A2 和 A3,每种变体都有其允许的浓度范围(如下所示)。

图 1:基于变体 A1、A2 和 A3 的浓度 [A] 允许范围(绿色)与不允许范围(红色)。
DOE 的预期结果如下图所示,其中使用变体 A1 时,DOE 中的 [A] 值介于 [0.2 – 0.7] 之间;对于 A2,A=[0.1 – 0.8];对于 A3,A=[0 – 1]。

图 2:具有可变 A 约束的三元混合物空间中所需的 DOE 运行位置。
组件 B 和 C 也可能有各自的变体,但为了简单起见,我们现在先关注组件 A。
有人可能会认为,我们可以像对连续因子和分类因子一样,简单地对混合因子添加“禁止组合过滤器”。然而,在处理混合设计时,混合因子的总和已经受到约束,如果再添加额外的约束,则会导致设计收敛问题(见下文)。

图 3:直接添加混合物约束时的 DOE 界面。
如何为混合设计添加约束条件,并为 A 的每个变体指定不同的范围?好,我们一起来看看!
步骤 1 :创建候选人数据表。
- 创建一个包含 1000 个可能组合的候选数据表,以确保设计点能够均匀分布在整个实验空间中。这可以通过使用空间填充设计来实现,具体操作为:DOE -> 特殊用途 -> 空间填充设计。
- 如图所示,将分类因子和混合因子相加。
- 添加一个 3 级分类因子,称之为 A,然后添加 A1、A2 和 A3 作为其值。
- 将三个混合因子 [A]、[B] 和 [C] 相加,它们的取值范围为 0 和 1。
- 跑动次数选择 1000。
- 选择“快速灵活填充”选项。这是唯一适用于混合成分的选项。
- 点击底部的“生成表格”。

图 4:DOE 界面,用于创建 1000 个候选运行的空间填充设计。
候选人数据表将类似于以下内容:

图 5:快速灵活填充设计输出数据表,用作 1000 个潜在运行的候选集。
步骤 2:删除 A 的每个变体的不需要的范围。
使用多元平台和本地数据过滤器选择不需要的范围,删除 A 的每个变体的不需要的范围。
- 转到“分析”-->“多元方法”-->“多元”。为 Y 列选择 [A]、[B] 和 [C]。
- 添加本地数据筛选器并选择分类变量 A。单击“与”按钮,然后选择变量 A 的浓度。此处的目的是选择 A=A1以及浓度 [A] 的取值范围为 0–0.2 和 0.7–1 的非预期组合。为此,我发现更简便的方法是:输入所需的范围(例如,0.2–0.7),单击浓度范围筛选器上的红色三角形,然后单击“反转选择”,即可选中 0–0.2 和 0.7–1 的范围。
- 您可以使用普通的鼠标左键单击来选择图表中的点,也可以使用套索工具进行更精确的选择。在视频中,我使用了套索工具来选择所有点。
- 请确保数据表中的数据点也已选中。然后从表中删除这些数据点。
- 重复相同的步骤,但这次选择 A2 作为 A 类,并且[A] 浓度为 0–0.1 和 0.8–1。
请观看下方视频了解具体操作方法。

图 7:使用“选择协变量因子”按钮添加协变量/候选运行列 [A]、[B] 和 [C] 时的结果。
接下来,请按照以下步骤操作:
- 通过添加主效应和/或 Scheffe 三次项来创建模型。
- 将运行次数设置为 18,与最初建议的运行次数(不包括候选运行次数)一致。这是我的建议,但您也可以选择其他方法来选择总运行次数。
- 选择“创建设计”和“创建表格”。
- 通过“行”->“颜色”或“按列标记”为行添加标记,并选择 A 变体列来区分使用 A1、A2 和 A3 的实验。
- 将 [A] 列、[B] 列和 [C] 列中的小数位数更改为仅显示两位小数,方法是转到“列属性”->“格式”->“固定小数位数”->“小数位数=2”。
- 通过依次点击“图形”->“三元图”,并将 [A]、[B] 和 [C] 三个因子置于 X 轴绘图区域,即可创建三元图。通过添加注释和参考范围,可以看出新设计的 18 个实验运行解决了与 A 组分变体相关的约束条件。

图 8:(a)根据 [A] 的变体,创建了应用约束的 DOE 表;(b)生成的三元图,展示了根据 [A] 的变体 A1、A2 和 A3 所使用的范围。
步骤 4:运行实验并测试模型
- 实验完成后,填写 Y 响应的值,转到“分析”->“拟合模型”,然后运行模型。
- 将分析器添加到报告中,以可视化 A 的各种变体以及三种成分 A、B 和 C 的浓度的影响。

图 9:使用模拟 Y 响应创建的模型的预测分析器。
你是否曾经需要在混合设计中,根据某种混合物组分的变体,对其中至少一种组分的浓度施加约束?如果是,这篇博客将向你展示如何在混合物实验设计中解决这个问题,从而创建一个既具有随机性又符合所需约束条件的设计。

回复:设计具有特定变量约束的混合实验这是一个很好的解决混合约束问题的解决方案。干得好!
回复:设计具有变异体特定约束的混合实验这篇文章写得很好,清晰地阐述了使用候选集方法的优势,谢谢@yasmine_hajar !
对于混合物设计,仅使用空间填充方法生成候选点在低维混合物空间(如本例所示)中可以很好地工作,但在高维空间中可能容易出错。
随着混合因子数量的增加,点会聚集在 0 附近,而可能取值的范围则开始在较小的值附近缩小:

这种现象被称为“维度诅咒”(我曾在这里写过关于它的文章)。
当混合因子数量中等到较高(>3)时,有几种变通方法可以确保候选集生成的值范围不会被截断,从而避免这种维度问题:
- 在创建候选集时,结合使用D-最优设计和空间填充设计方法,以确保实验空间的“角点”和“边界”都包含在候选点中。在您的示例中,这有助于确保某些混合因子的比例恰好从0开始,到1结束。
- 利用组合数学(笛卡尔积)生成点,以在空白设计区域(例如接近 1 的因子)中添加点。
希望这个回答能帮助其他用户解决空间填充混合物设计中的维度问题。
回复:设计具有变异体特定约束的混合实验嗨@Victor_G ,谢谢你的评论。是的,你说的没错,高维混合模型确实存在聚类问题。
更好的方法是采用非图形用户界面(GUI)方式,即使用 JSL 脚本索引中的“多面体均匀随机”方程来创建候选设计。其余步骤保持不变。敬请期待更多相关信息!
再次感谢!