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