Fujifilm Diosynth Biotechnologies 是一家合同开发和制造组织 (CDMO),拥有专门的工艺特性部门,专注于进行工艺特性研究 (PCS)。PCS 的目的是证明我们的客户工艺能够适应参数设置或正常操作范围的变化。
PCS 通常采用实验设计 (DOE) 来研究工艺输入对质量属性 (QA) 和工艺性能指标 (PPI) 的影响。DOE 分析是一种有用的工具,可用于识别对 QA/PPI 有影响的输入,但它主要是定量的。
大家好。我很高兴今天能和我的同事 Sam 一起来到这里。今天,我们将讨论影响比率。基本上,您的 DoE 因素对您的 DoE 输出或响应有何影响?我将介绍 JMP 中的概念、计算和示例,然后我将把这些内容交给 Sam,他将指导您使用 JSL 自动化该过程,并向您展示他如何在插件中完成此操作。
首先,是坦白时间。我真的很想把这次演讲称为“过程表征科学家与 NASA 科学家有什么共同点?”但这种联系太过牵强,也许会让人有点困惑。尽管如此,我仍然在这里使用这些概念。这就是为什么我们在第一张幻灯片上放了流星图片。这是我的比喻。我正在观察撞击坑,并将其与撞击率进行比较,因为我们需要找点乐子。
这里发生了什么?我们有一颗非常相似的流星,它可能会落在地球、火星或月球上,情况会有所不同。首先,这里有大气层,或者大气层很少,或者根本没有大气层,这会改变爆炸,从而改变流星的行为。如果你在地球上,撞击坑会形成,这可能会对周围发生的事情产生巨大影响,因为在地球上,我们周围有人居住。
考虑到这一点,我们今天要讲什么?我们将研究另一个统计比率。统计学家喜欢他们的比率。然后,我们将研究影响比率具体衡量的是什么。然后,我们将回答这个问题:“我可以在 JMP 中计算这个吗?”答案显然是可以的,而且您可以通过多种方式进行计算。您可以手动完成这个痛苦的过程。我将带您手动完成这一步。我将跳过这一步,因为我们没有时间,但我们已经创建了一个工作流程,通过表格管理使事情变得更容易一些。
然后我会把事情交给 Sam,他会通过点击他的 JMP 插件向你展示计算影响率的简便方法。这里有一张我自己画的拙劣手绘图,向你展示一些你可能已经见过很多次的东西,因为那是一张控制图,在统计学家的世界里,它们无处不在。这里有一个输出,例如,随着我们创建更多批次,它会随着时间而变化。
这张图表上有区域。在蓝紫色区域,我们可以看到产量分布。由于这是正态分布的数据,我们可以预测随着时间的推移,产量会下降到哪里。这里有统计数据,可以预测这个蓝色区域可能会变得多宽。然后在两个规格之间的绿色区域,我们有一个客户类型的安全区。例如,客户往往会给我们提供规格,或者我们可能已经从开发工作中计算出验收标准。
我们要做的是确保在进行过程控制时,我们的过程处于安全区内。用于此目的的一个比率是能力指数,如 CPK、PPK,基本上是将此区域与绿色区域进行比率计算。这是我发现的最类似于影响比率的比率。这里我们几乎有相同的图表。你可以看出我重复使用了同一张图。这里唯一的变化是,这一次,我们不再使用统计数据来预测数据的分布,而是使用统计数据来预测数据的形状。我们正在模拟当您更改输入并将其值从低移到高时对特定输出的影响。
如果您在进行 DoE 并系统地更改操作条件,则需要这样做。更具体地说,对于工艺特性,这个从低到高的范围是您想要证明是可接受的。这里我们最终有一个方程,我们有一个蓝色区域,即预测响应的最小值到最大值,我们还有一个绿色区域,即在工艺结束时为我们提供优质产品的可接受范围。
我们再次检查偏差是否占据了我们安全或游玩区域的可接受比例。这个影响比率可以帮助我们比较不同因素的影响,因为我们将获得所有因素的此类模型。如果这是 DoE 的一部分,它也可以作为对这些因素进行分类的标准。这个影响比率实际上衡量的是什么?您之前在幻灯片上已经知道了线索,但我们回到陨石。
我们的 NASA 科学家已经计算了两件事。陨石撞击地球的位置以及撞击坑的半径。他们说,只要我们在这个绿色安全区内,住在外面的人就没事。当然,对于陨石来说情况并非如此,但请稍等片刻。我们在这里计算的比率基本上是陨石坑半径与安全区半径的比率。我们希望这个数字比这个小得多。与撞击坑相比,安全区非常大。
现在,我们可能偏离了目标,NASA 的科学家预测陨石会落在这里,但陨石却落在这里。尽管安全区可能足够大,足以容纳一个位于中心的陨石/过程,但在这种情况下,撞击坑实际上位于安全区之外。我希望你不住在这附近。另一种可能性,还有很多其他可能性,是我们在这里瞄准了目标,但我们错误地计算了陨石坑。陨石坑比我们想象的要大得多。同样,它在安全区之外,安全区的半径实际上小于此处陨石坑的半径。这只是一张图片,让我们看看它在图表上看起来会是什么样子。同样的图表,这里有一些额外的箭头和一些方程式。
简单来说,影响率实际上是效应大小与距离(与您的规范或验收标准)的比率。在本例中,效应大小是那些细长的蓝色和橙色箭头。它是从最小预测到中心或从最大预测到中心的距离。我们将其与两侧从中心到您的规范的距离进行比率计算。在本例中,此距离占安全区的 70%。这不是一个好的影响率。这里只有 40%,但仍然是一个相当高的数字。但公平地说,我们必须取这两个值中的最大值,因此我们在这里考虑 70%。
这是我的手绘图。让我们来看一张实际的 JMP 图表。这是一张跳转图,它只是您在完成 DoE 分析后获得的分析器的一部分。在这种情况下,我们有一点曲率,但区域是相同的。如果我们想计算我们对此处最小值的影响比,预测是最小值到中心占最小值到规格的约 42%。另一方面,最小值到顶部或最大值的预测仅占我们安全区的约 7%。
尽管如此,我们还是必须报告这个数字,所以这个数字仍然相当高。我们试图回答的问题是,与可接受的范围相比,我们是否达到了目标,影响是否很小?现在,我将退出这里,进入 JMP,向您展示如何手动执行此操作,这是一种痛苦的方式。这里我们有一个标准 DoE 框,有五个因素。我们只在这里分享了四个回复。这些都是匿名的,所以我很抱歉,但这些数字看起来有点奇怪,因为它们都在负一和一之间。
但是我们在这里寻找的是指定响应限制,以便我们可以尝试这些响应的目标。最大化其中的大部分,例如可以最小化的杂质,我们甚至可能不关心它们有多高。我不会进行建模,因为这不是我们来这里的目的。抱歉。脚本错误。就这样。我们已经拟合了,这是我在笔记中的例子,所以我将继续使用这个。
这里我们使用 Profiler 获取方程式所需的所有数字。我们将其设置为中心点,并记录该数字。就是这样。这就是中心点条件。这里的所有内容都保留在中心点。我将要求 JMP 记住此设置。我将称之为“负载中心点”,因为我对这里的负载感兴趣。这是我的第一个。然后手动操作,我实际上不需要在这里向 JMP 寻求帮助。对于这两个,所有内容都在中心点。我可以将其移动到最小值,然后我可以再次将其记录为最小值。这是我的负载最小值。
对于最大值,这有点棘手。我可以尝试这样做。我可以将其放大,并尝试确保在此处达到最大值。但这一次我将信任 JMP。我将单击 Control + Alt,然后单击此处的其他两个图表,并将因子设置锁定在中心点。因为我只关心负载在做什么以及当其他所有因素都保持在该点时负载的最大值是多少。然后我将使用 JMP 中的最大化器。
好了。我本来可以手动达到这个值,但现在我知道它正好是最大值。我还要保存这个。我们得到了最大值。现在我几乎拥有了我需要的一切。如果您手动执行此操作,则需要针对此列表中的每个因子或方程参数针对每个响应执行此操作。如果您有相当大的模型,并且可能有 5-10 个响应,那么这很快就会变成大量工作。
然后,您必须将所有这些数据导出到表中。如果您已经完成了很多,您可以使用它,但我只有一个,所以我要这样做。这里有您需要的所有信息,但格式错误。我们需要保留的是这些在哪里?然后我们要这个数字。现在,您可以在这里的表格中使用转置,但我不会这样做,因为我已经提前完成了。我只是想快速与您分享。为什么不满意?这里我们有转置数据。我们有来自表格的所有标签。
手动地,我们必须添加我们的下限和上限规格。通过这些以及最小值和最大值和 CP,我们可以计算出此处比率的分子、比率的分母以及比率本身。将小距离除以大距离可得到低影响比率。然后,您只需使用公式来获得两者中的最大值,并且您必须对每个公式重复此操作。现在我将发言权留给 Sam,他可以向您展示一旦您拥有插件,这将会变得多么容易。Sam?
谢谢,格温。正如格温所说,我们决定创建一个插件来自动执行此任务。我现在将快速演示一下该插件的工作原理。我使用的是格温刚刚使用的相同数据表。我们决定制作插件的原因只是因为它比直接从脚本窗口运行脚本更容易。拥有插件的好处是,当您将鼠标悬停在插件名称上时,您可以添加工具提示。在这种情况下,工具提示只会告诉您必须从哪个窗口运行插件。
事实上,如果我尝试点击它,你会看到什么都没有发生,因为我不在正确的位置。如果我现在打开包含我们之前制作的模型的脚本,你会看到我现在可以运行脚本,然后它会正常运行。首先,用户会看到一些窗口,其中包含一些说明,然后是一些供用户输入的区域。第一个窗口只包含一些有关底层数据表要求的说明。
例如,因子列必须编码,任何单位也必须作为列属性输入。如果任何列不是这种情况,您可以点击“取消”,然后我可以返回并进行更改。但在这种情况下,我知道它们都已正确编码。我将再次点击“运行”,然后单击“确定”。然后下一个窗口只有输入因子设置的区域。您会注意到我们在这里有一个用于输入分类因子的区域。
无法计算分类因子的影响率。但是,模型中包含的任何分类因子都必须固定在特定设置下,因此这只允许用户在此处输入。对于在 DoE 中评估的其余连续因子,您可以看到我们有一个用于输入这些设置的区域。您可以看到,脚本只需从表中读取即可自动读取最小值和最大值。它所做的就是通过查看最小值和最大值之间的中间值来计算中心点。
但是,在某些情况下,中心点可能不在范围的正中央。在本例中,负载就是这种情况,因此我将把它改为 20。可以编辑这些值中的任何一个。能够在此处更改输入的好处是,如果我们运行加法,并且得到的影响比对于某些因子来说太高。然后我们可以再次运行加法,我将在此处更改值,例如,尝试评估缩小的因子范围。然后看看影响比在新范围内是否看起来更好。
但我会保留其余值并单击“确定”。然后,最后一个窗口只包含响应验收标准的输入。我现在输入这些值。如果只有一个标准,那么您可以只输入一个,另一个留空。如果您没有标准,您可以将两个框都留空,它仍然可以计算影响率。在这种情况下,它只是设定点响应与最小或最大预测之间的百分比差异。它在实际意义上并不完全提供相同的测量,但它仍然会由脚本计算。
现在,如果我单击“确定”,您可以看到已生成汇总表。但是,如果我返回到运行插件的窗口,您可以看到在每个预测分析器下方,设置已被记住。这些设置用于获取模型中每个因子的最小和最大预测。这很有用,这样您就可以返回并查看计算是如何进行的。能够查看这一点很好。
但现在我仅对脚本的实际工作方式进行非常概括的概述。首先,脚本循环遍历窗口中的每个响应模型。然后,它设置最大化响应的可取性。然后,脚本循环遍历模型中的每个项。对于第一个项(在本例中为负载),它会解锁因子设置,以便可以自由移动。然后,所有其他因子都锁定在其设定点设置。然后,脚本执行最大化和记住功能。现在您可以看到该设置已保存在 Profiler 下方,并且您可以看到,我们仅通过更改本例中的负载因子就最大化了此响应。
然后,它继续对模型中的每个项执行该操作,然后将可取性设置为最小化响应,然后再次重复该过程。然后再次评估每个项以获得最小预测。最后,更新所有这些记住的设置,以便名称有意义。然后我们显示因子名称以及目标是最小化还是最大化响应。最后,对窗口中包含的每个响应模型重复整个过程。这就是脚本的工作方式。我现在将返回到输出的摘要表。
您可以在此处看到,所有数据都已收集并输出到此表中。我们的每一行都包含每个经过评估的响应模型的一个特定因素。我们有用户输入的接受标准的列。然后有显示设定点设置下的预测的列,然后是该响应模型中包含的每个因素的最小和最大预测。然后,其余列只是公式。这里我们得到了最小预测和设定点预测之间的差异,然后,同样,得到了最大预测和设定点预测之间的差异。
然后最后两列只是计算出的影响率。我们有下限影响率和上限影响率。您会注意到,我们只有一个标准,因此对于本例中的杂质,由于我们只有一个上限接受标准,因此我们只计算上限影响率。然后最后一列只是总体影响率。这只是下限和上限影响率的最大值。我将通过总结使用插件自动执行此任务和跳转的好处来结束这部分演讲。
首先,使用插件比手动操作要快得多。其次,这使得重复任务变得更加容易。正如我所提到的,如果您运行插件并得到被认为过高的影响率,那么您可以重新运行插件,更改因子设置,看看是否可以获得可接受的影响率。最后,发生任何错误的可能性要小得多,因为您不需要进行任何数据转录或数据处理。脚本将所有数据收集在一起,然后将其全部放入最后输出的表中。
好的,谢谢。我的演讲部分到此结束。我将交给格温来总结一下。谢谢。
除了 Sam 所说的,该插件的一大优势是您可以重复计算并更改前几个表中的输入内容。例如,如果您愿意,您可以更改因子设置,以显示经过验证的可接受范围,大概略超出正常操作范围。您可以更改的另一件事是修改您的规范或验收标准。如果您的影响率真的很高,那么您的安全区可能有点太小,无法舒适地操作。
您可以推出规范,并检查所有影响率是否都小了一点。您实际上可以将此作为更改这些验收标准的理由。您可以利用这些影响率做的另一件事是,您可以将它们集体用作对测试的工艺参数进行分类的标准。在 DoE 结束时,工艺参数可能是关键的、高度关键的或非关键的,因为它的影响非常小。我认为这结束了我们今天关于影响率的讨论。如果您有任何疑问,我们都可以回答。非常感谢。