为了研究酯化反应中一种非预期副产物的生成,我们设计了一个实验方案。该方案利用四个混合物组分因素和一个工艺因素,构建了一个包含26个实验运行的空间填充实验矩阵,专门用于自验证集成模型(SVEM)分析。相比传统的混合设计(通常用于多项式Scheffe模型),我们选择了这种方法。最终得到的预测模型与实验数据拟合良好,清晰地揭示了每个因素对副产物生成量的影响。这些信息有助于加速动力学模型的开发并扩大工艺规模。
大家好,我是安德鲁·菲什,庄信万丰公司的高级首席研究员。我拥有化学背景,自2016年以来一直在庄信万丰公司工作。我今天展示的海报是关于酯化反应的混合物:过程实验设计和SVEM分析。
简单介绍一下,在庄信万丰的催化剂技术业务部门,我们销售用于各种不同技术的催化剂和催化剂底板,这非常适合进行实验设计和高级数据分析。我们开发催化剂配方,并优化化学反应的工艺条件。我们的工作是在实验室进行小规模研究,然后将研究成果转化到商业规模的反应器中。
本次海报的重点是鱼油酯化反应的应用。我不想过多赘述化学原理,因为这并非本次海报的重点。简单来说,该反应是在酸催化剂的作用下,酸与醇反应生成酯类产物和水。这是一个可逆反应,也就是说反应可以双向进行。如果反应条件不合适,就无法获得最大量的酯类产物。
这里更复杂的是存在一个副反应。这就是反应2,醇可以与相同的酸催化剂反应生成醚。该反应是不可逆反应,这意味着一旦生成醚,我们就无法再得到醇。反应物已经消耗殆尽,这意味着反应效率远低于预期。
我们在这个过程中努力的目标是最大限度地减少副产品乙醚的生成量,并尽可能增加在这些条件下形成的灶神星的生成量。
为了实现这一目标,我们采用了实验设计。通常情况下,我们会使用包含一个过程因素的通用混合设计。但在这里,我们将采用一种略微新颖的方法,即空间混合设计。概括来说,我们有一个连续因素,即温度。然后是四个传统的混合组分,分别是醇的量、酸催化剂的量、水的量。最后一个组分是原始酸,但我们将它的量固定为混合物的25%,这意味着其余四个混合组分的总和必须为75%。
接下来我们要测量的是乙醚的生成量,并尽量减少其生成量。这是一个均相平衡反应,所以所有组分都会同时存在。我们将反应加热到设定温度,然后在30分钟后测量生成的乙醚量。
接下来我们要做的,是在一个正常的传统设置中,我刚从 JMP 中出来,在一个正常的混合设计中,这是我之前准备好的,我只需重新加载它。
在传统设计中,我们会将温度作为连续因子引入。我们会将四种混合物组分作为混合物组分引入。然后,我们会使用一个类似 Chef 三次函数的模型,因此我们需要添加所有项来实现该模型。这意味着我们需要大约 40 次实验才能创建足够大的数据集并进行分析。
如果我们看一下它在传统的三元图中的样子,我们可以看到这里不同混合因子的因子组合,以及我们将对这 40 个因子进行的实验,你可以看到它很好地探索了空间。
我们面临的潜在问题是,在温度方面,我们实际上只关注了高温和低温,而且混合因子设置也处于极端值。因此,我们接下来将采用空间填充设计来设计这个实验,并使用SVEM来分析结果。
为了构建空间填充设计,我将进入实验设计(DoE)的“特殊用途”和“空间填充设计”模块。我将加载之前准备好的因子。我还会加载响应变量。好的,我的响应变量是乙醚,我试图最小化它。温度是一个连续因子。这里的区别在于,我不再将这四个混合组分作为混合因子引入,而是将它们保留为连续变量。我仍然会指定它们的取值范围。这次我要做的是指定一些约束条件,所以我将加载这些约束条件。
这意味着四种混合物组分的总和必须小于 75% 或摩尔分数 0.75。我还要加上一个等效的负约束,以确保后台计算能够正常运行。完成之后,我就可以……在设计空间及其执行方式方面,我不再受限于多项式模型。我可以指定所需的运行次数。
在这种情况下,我只有足够的时间进行 25 次运行。我将选择 25 次运行,然后我们来设计实验方案。我们这里有一个 25 次运行的设计方案,精确到小数点后很多位,这在实际操作中是不可能的,但我们将以此为目标开展实验。
如果我们对比一下这次的结果和之前在三元图中的结果,会发现非常相似。我们覆盖了很大一部分空间,但更多的是集中在中间区域,而不是边缘区域。同样,在多元图中,我们可以看到,与传统的混合谢费三次插值设计相比,我们现在更多地覆盖了空间的中间区域,而不是边缘区域,而且我们只用了15次运行就完成了这项工作。
这样做的目的是,一旦我们收集到这些数据,就可以应用机器学习类型的神经网络算法,而不是传统的多项式模型,从而提高分辨率,并加深我们对这个系统的理解。我这就回去看海报。
我之前已经说过,实验一共要做25个。实际上我们做了26个,所以包含了一次重复实验。你现在在这些图中看到的红点就是重复实验的结果,这只是为了确保我们对乙醚的测量具有良好的可重复性。
正如我之前所说,混合物的组成因子被视为连续变量。混合物的总和为75%。我们将在微型反应釜中进行这些实验。我们将把它们放置30分钟……我们将把它们升温,放置30分钟,然后使用一种叫做气相色谱法的分析技术来测量30分钟后乙醚的含量,这将是我们这26个实验的响应值。
我们继续进行实验,没花太长时间。之后我们对数据集做了一些细微的修改。之前我一直用百分比来描述这些因素。如果将其转换为摩尔分数,后续处理起来会更方便。实际上,我只是将百分比除以100,这样就得到了一个总和为0.75而不是75%的数字。
第二个问题是,我得再次强调,我的结果显示,这些是我们的组成成分,在某些情况下,总和大于1或大于0.75,甚至大于1(假设酸的浓度是固定的)。这是因为这些因素在实验中被测量过。我们无法完全达到预期的结果。
在这种情况下,我做了一些手动调整。我选取了混合物中含量最高的组分(恰好是酯类),并对其进行了调整,您可以在这里看到。我调整了 0.01,使所有值之和为 1,这有助于后台的计算。对于数据集中的 26 个实验,这并非什么大问题。
经过一些微调,我们也确认了重复实验得到的乙醚浓度结果在实验误差范围内。一切就绪,可以继续进行下一步。接下来,我们开始研究数据集的建模。
正如我之前提到的,我们使用 Spaceful 和设计而不是传统的 Scheffe 三次多项式的原因是,测试中可能出现的结果较少,我们可以应用更多的神经网络,并有望提高分辨率,而不会受到二次或三次项的限制,因为这些项是非常有限的函数。
我们可以这样做,因为这些神经网络通常更适用于非常大的数据集。你需要大量的数据。你不能真正将它们应用于小型的实验设计(DoE)类型的数据集。这是因为DoE中的每一次运行都很重要。你不能因为某些运行被当作验证集或测试集就忽略它们,因为DoE中的每一次运行都至关重要,否则你会破坏设计结构。而如果你使用SVEM(很遗憾我没有时间深入讲解SVEM的背景知识,我只会演示如何应用它)。
但需要一些背景知识的是,它采用的是自验证集成建模(SVEM)。自验证部分通常是指在训练神经网络时,将数据划分为训练集、验证集和测试集,也就是对数据进行分区。
在自验证过程中,我们将复制数据集,并使用一种称为配对分数加权自助法(paired fractionally weighted bootstrap)的方法,该方法采用伽马分布。实际上,我们会得到每个数据点的反相关配对,一个权重较高,一个权重较低,一个用于训练集,一个用于验证集,然后使用这些数据点构建神经网络。
集成建模的关键在于,它使用不同的权重在伽马分布中构建多个模型,然后对最终模型取平均值。这实际上就是SVEM的工作原理。理论上,它能提供比传统多项式拟合更高分辨率的优质模型。它尤其适用于混合设计。我们正是这样做的。
这是我们最终得到的 SVEM 模型。它是一个神经网络算法。我使用了 50 个经过自助抽样法得到的模型,并取它们的平均值。这是一个非常简单的神经网络,只有一层,包含三个双曲正切函数。接下来,我将结束演示,直接打开 JMP 软件,向大家演示它的工作原理。
所有这些操作,包括 SVEM,都是通过一家名为 Predictum 的公司开发的插件完成的。这是一个授权插件。我们将构建一个神经网络。首先,我要选择我的因子,包括温度、酸催化剂、醇、水和酯,为了使所有因子之和相等,我将它们的值调整了 0.01。我将选择醚作为响应变量。点击“运行”按钮,就会弹出一个对话框来启动 SVEM。
我可以选择要取平均值的模型数量,以及要使用的 Bootstrap 模型数量。我这里就设为 50。我打算保持简单,只用三个 10 年龄层……第一层用三个 10 年龄函数。
您可以根据需要随意修改这些参数,并引入线性函数和高斯函数。我这里就先保持现状。程序会继续运行 SVEM,每次运行结果都会不同,因为每次的分数自举法都不同。我们应该会得到与我之前类似的结果。
这是我的实际预测图,其中这是我的乙醚响应的实际值,这是 SVEM 的预测值。可以看到,我的 R² 值非常高,达到了 0.99,而且误差也很低。接下来,我会将这些列保存到表格中,我已经完成了这一步。这里只是为了向您展示这个公式与标准公式的区别。
实际上,醚浓度或响应值是这些tan h函数乘以系数,再乘以不同的混合物和工艺因子后的结果。这是第一个模型,这是第二个模型,这是第三个模型,依此类推。总共有50个模型,然后将所有这些模型取平均值,就得到了我们的预测公式。这就是SVEM的工作原理,它能给出非常精确的预测结果。
我又回到了海报上的内容。为了进行比较,虽然它并非专门为此设计的,但我还是构建了一个最小二乘回归模型,该模型使用了 Scheffe 三次项,并使用逐步参数选择法来缩小模型中的项的范围。构建好该模型后,我将其与 SVEM 模型进行了直接比较。
这里可以看到模型对比,SVEM 的预测结果用红色表示,最小二乘回归的预测结果用蓝色表示。SVEM 模型的 R² 值更高,误差也更低。此外,在残差图中,同样用红色表示,最小二乘回归模型在某些数据点上的残差要大得多。SVEM 仅使用 25 次运行的数据集就有效地生成了更好的模型。通常情况下,将神经网络应用于实验设计 (DoE) 是非常困难的。我还是回去吧。
我们来看看这会对这项工作的总体目标(即最大限度地减少醚的生成)产生什么影响,而这可以通过查看预测分析器来实现。我刚刚将预测公式导出到预测分析器中。再次强调,我正在比较 SVEM 模型和最小二乘回归模型,SVEM 模型在顶部以红色标出。
您可以看到两者之间存在差异。SVEM 模型的分辨率要高得多,而最小二乘回归则受限于多项式曲线。本质上,为了减少醚类副产物的生成,我们需要低温反应、低酸催化剂用量、中等醇含量、高水含量和低酯含量。
我们从中得到了一些意料之外的结果,但在查看了实际的生物预测图后,我们相当有信心,我们已经很好地模拟了该系统,而且您可以看到两个模型之间的差异。例如,在这里,酸催化剂在最小二乘回归模型中并未被识别为重要因素,并且酯类化合物的趋势方向也完全不同。这解释了R²值和最小二乘回归预测结果的差异。
你还可以看到一些不错的特征,例如,在酒精含量方面,我们在中间有一个下降,而标准多项式在最小二乘回归中并没有很好地捕捉到这一点。
总而言之,我们没有采用传统的混合型设计,而是使用了空间填充实验设计。我们将混合物成分或混合因子视为带有内置约束的连续因子,这就是我们计算混合物总和的方法。
我们应用支持向量机方程(SVEM)作为建模技术,以最大限度地利用从极小数据集中获取的信息。与传统的多项式模型相比,我们提高了预测的分辨率,这极大地帮助我们理解了在该化学反应中最大限度减少醚生成的条件。此外,它也加快了我们构建整个系统动力学模型的速度。
就未来的工作而言,我们还拥有这些实验的时间序列数据。除了30分钟的数据点之外,我们还有5分钟、10分钟、15分钟和20分钟的数据点。我们可以进行更深入的处理,尝试将这些数据整合起来,从而计算实际的化学反应速率,并构建一个更完善的动力学模型。这将是我们未来工作的重点。
此外,还要特别感谢庄信万丰技术团队中众多为这项工作做出贡献的科学家和工程师。最后,感谢Predictum公司,他们提供了SVEM使用方面的培训,并授权我们使用该插件。感谢各位聆听本次海报展示。