扬声器 | 成绩单 |
| 安德里亚·库姆斯,JMP | 大家好,我叫 Andrea Coombs,是 JMP 的一名系统工程师。 所以今天我要讲述我在这个行业工作的那些年的故事,特别是在制药行业。 |
| 所以这就是我今天要说的简而言之。 |
| 有意义的应对策略 |
| 生产过程中的实时生产数据……在疫苗生产中。 在那次演讲中,我讨论了处理弯曲数据的方法 |
| 我们从生产车间的传感器实时获取。 |
| 今天,我想谈谈 JMP 中的一些新工具,特别是功能数据浏览器,以及如何让所有这些工作变得轻而易举。 |
| 我将探讨使用功能数据浏览器进行流程理解、流程优化和流程监控的方法。 |
| 所以让我们首先谈谈我们正在处理的过程和曲线。 所以在左边,我们有一个假设的疫苗制造过程的例子。 它从材料准备开始。 |
| 在这种情况下,我们分两个阶段进行细菌发酵,然后将产品过滤、吸收和收获, |
| 在下游产品被离心,然后最后将多个子批次材料一起配制成一批材料。 |
| 今天我将专注于这个过程的发酵阶段。 |
| 所以当细菌发酵时,它们正在生长,生长曲线看起来像右边的东西。 所以在增长过程中,有一个滞后阶段,有一个指数增长阶段,一个平稳阶段,最后是一个对数死亡阶段。 |
| 当我在这家公司时,我们正在经历一个过程的演变,在...的过程理解下,特别是围绕这些增长曲线。 |
| 所以我们很早就开始了,只从这两个发酵阶段采集五个样品,将这些样品发送到......到 QC 实验室并等待结果。 我们得到了 |
| 光密度,所以我们可以知道这些样本中细胞的密度,我们得到的结果看起来就像你在右边看到的那样。 |
| 我们有这些特定时间点的结果分布,但我们真的不知道增长曲线是什么样的。 它们可能看起来像我在下面这些分布上绘制的任何曲线。 我们只是真的没有任何想法。 |
| 但后来我们实施了内联探针,所以我们实施了浊度探针,这样我们就可以真正看到那些增长曲线的样子。 然而,我们不得不穿上礼服进入制造室 |
| 手动下载数据,将其带回我们的办公桌,然后尝试弄清楚我们将如何处理所有这些数据。 |
| 然后,最后,我们将 PLC 升级到我们现在可以在办公桌上拥有来自所有传感器的所有数据的地方,无需穿衣服,然后返回……并返回制造;我们拥有所有数据 |
| 触手可及,这很棒。 但是通过仔细分析,我们能够确定我们有太多的数据,我们有很多数据需要处理。 |
| 所以这就是为什么... |
| 所以这就是为什么我做了这个关于理解实时数据的应对策略的演讲。 |
| 我们投入了大量工作来理解我们的数据,我想分享一些您可以采取的策略来理解您的实时数据。 |
| 我谈到的第一件事是参数化这些增长曲线。 所以我们有这些曲线,但我们希望能够看看增长和 |
| 了解发生了什么,所以我们将它们参数化。 换句话说,我们取了生长的斜率,死亡率的斜率,我们观察了细菌在每个阶段的持续时间。 我们在看 |
| 某些时间点的浊度,现在我们收集了大量这些增长……我们称之为增长变量。 |
| 这些增长变量对我们非常有用。 我们将它们用于流程理解、流程优化和流程监控。 |
| 现在我谈到的第二组应对策略只是处理所有这些实时数据 |
| 我们有。 所以当然,一旦我们开始发现所有这些数据都很有用,我们就希望立即访问它。 |
| 所以我们首先要弄清楚的是我们所有的数据源,并确保我们可以访问我们拥有的一切,不仅是来自历史学家的数据,还有来自我们的数据。 |
| ERP系统,在我们的实验室信息管理系统中。 我们必须将所有数据集中到一个地方。 我们使用了一个超级日志,所以这是访问我们所有数据和运行我们所有脚本的命令中心。 |
| 这确实是我们所做的大量工作。 我们为自己感到非常自豪,但事后你知道, |
| 了解我们在 JMP 中拥有哪些工具,特别是现在使用 JMP 16,有一些事情会使这项工作变得更加容易。 |
| 通过增长曲线,我们可以使用功能数据浏览器来分析我们的曲线。 我们不必参数化它们, |
| 我们在那里留下了很多数据。 我们可以使用功能数据浏览器中的所有数据。 然后,当然,在增强日志中记录动作, |
| 这将使编写脚本的工作变得更加容易。 但今天我只想专注于我将如何使用功能数据浏览器。 |
| 当然,我无法再访问这些数据,所以我模拟了一些增长曲线。 这里我有 20 条不同的曲线,它们代表了您在细菌发酵过程中可以看到的一些变化。 |
| 使用功能数据浏览器,它实际上可以归结为这四个步骤。 第一件事是你要收集你的曲线 |
| 并且您将平滑所有单独的曲线。 第二步是确定描述您在这些曲线中看到的所有可变性的平均形状和形状分量。 |
| 下一步是提取每条曲线的形状分量的大小。 |
| 一旦你有了这两个形状分量,它们实际上被称为函数主分量, |
| 那么您可以将它们用于您想要分析的数据,无论您的曲线是模型的输入,它们是否是模型的输出,如果您想进行聚类分析。 |
| 真的,您现在可以使用这些功能主成分进行任何类型的分析。 在今天的示例中,我的所有曲线都是模型的输出,因此我将使用功能 DOE |
| 仔细看看这些曲线。 那么让我们进入 JMP。 |
| 这里有我的数据表,其中有批号,我有浊度时间,它们构成了曲线。 |
| 而且我还有一堆工艺参数。 我想做的第一件事是,我想做一些工艺理解,看看这些工艺参数中是否有任何一个 |
| 正在影响我在曲线中看到的可变性。 那么让我们进入功能数据浏览器。 我们将把时间作为我们的 X,浊度是我们的 Y。 我们将输入我们的 ID 函数,然后我们将获取所有这些过程参数并将它们作为补充变量输入。 |
| 现在,我们需要做的第一步是,我们需要将灵活模型拟合到我们所有的曲线上,我将使用定向...直接功能 PCA 来做到这一点。 |
| 这是那些灵活的模型。 JMP 已经为我完成的第二步是确定平均曲线 |
| 和我们的形状组件。 JMP 为我确定了六个不同的形状组件。 在左侧,我可以看到这六个不同形状的组件。 |
| 这是这些形状组件在我的数据中解释的可变性的累积量。 |
| 您可以看到,仅使用前两个形状分量,我就已经描述了曲线中 92% 的可变性,这很棒。 |
| 剩下的形状组件,我将排除在外,因为它们可能只是解释我的数据中的随机可变性。 因此,让我们继续将 FPC 的数量自定义为两个,剩下的就是这两个形状组件。 |
| 现在,下一步是确定每条曲线的每个形状分量的大小,我将它们放在我的得分图中。 |
| 在 X 轴上,我有形状组件 1,在 Y 轴上,我有形状组件 2。 |
| 下面我有一个分析器,我可以在其中查看我的曲线,我在此处以黄色突出显示,您可以看到第一个形状组件如何影响曲线的形状, |
| 主要影响曲线的增长阶段,第二个形状分量主要影响曲线的死亡阶段。 |
| 让我们仔细看看其中的几个批次。 让我们来看看第 15 批。 这是 Batch 15 的曲线,我们可以看到形状分量 1 的大小和形状分量 2 的大小。 我可以将这些直接输入到我的分析器中。 |
| 现在您可以看到我能够重现第 15 批的曲线。 让我们再看一个。 让我们来看看这个 Batch 2,你可以看到它与 Batch 15 相比看起来非常不同,形状……形状分量的大小也非常不同。 那么让我们 |
| 看看那些。 |
| 你现在可以看到我们已经......我们也能够复制该曲线。 |
| 因此,知道平均形状,即代表曲线周围可变性的两个形状分量,我们现在可以使用这些形状分量的这些幅度进行分析。 |
| 我们可以做...当您的曲线是模型中的响应时,您可以在功能数据浏览器中进行分析。 |
| 所以在下面,我有一个新的分析器。 这一次在我的分析器中,我有...我的曲线再次出现,我将再次以黄色突出显示。 |
| 然后我有 pH、温度、压力和混合速度参数。 你可以在这里看到混合速度,它非常平坦,所以它不会影响那个形状。 |
| 压力也一样,但是当我开始观察温度时,你可以看到它改变了我曲线的形状,主要是我曲线的生长阶段。 当我改变 pH 值时,它主要影响我曲线的那个阶段。 |
| 这就是我为流程理解所采用的方法。 那么,流程优化呢? 通过流程优化,我的意思是, |
| 您知道,如果有一条特定的曲线需要标准化,那么我们需要的 pH 值和温度是多少才能获得所需的曲线? 嗯,你需要做的第一件事就是定义什么 |
| 所需的曲线看起来像。 我的数据表底部只有一些数据点,它们描述了我正在寻找的形状,您将在我的... |
| 在图形构建器中。 在这种情况下,我有兴趣获得一条曲线,其中我的增长率非常快,然后崩溃率非常低。 |
| 这真的很容易添加到功能数据浏览器中。 我们只需要做一个额外的步骤;我会回想我之前所做的。 |
| 一个额外的步骤是加载该目标函数,确定哪个 |
| 函数代表我们的目标。 我现在所做的就是复制我以前所做的。 我会做我的直接功能 PCA。 |
| 我将把我的 FPC 定制为 2 个,这……这些结果正是我们之前看到的,然后我将开始做我的功能 DOE。 |
| 再一次,我将在这里突出我的曲线。 现在已经确定了目标曲线,我可以最大化合意性,换句话说,我可以找到 pH 值和温度的设定点 |
| 压力和混合速度会给我一条看起来最像目标曲线的曲线。 所以有 |
| 增长速度真的很快,崩溃的速度很慢。 我只需要 |
| 从 pH 值为 7.2 的培养基开始,并在我的发酵罐上使用 37.9 的温度。 这就是我用于流程理解和流程优化的方法。 |
| 当我们谈论生长曲线或曲线形状的过程监控时,有一些不同的选择,我在这里有一些不同的想法。 |
| 如果这是您想要做的事情,我强烈建议您查看这个 2020 年的演示文稿,即具有函数形式的过程变量的统计过程控制。 |
| 这是一个录制好的演示文稿,它真的很棒。 他们谈到将这些功能主成分放入模型驱动的多元控制图中。 |
| 他们做了一个很好的演示……演示了这一点,然后还谈到了采用这种方法的一些可能的缺点。 |
| 因此,我想讨论您可能想要考虑的另一种方法,即着眼于与标准的综合差异。 |
| 所以就像以前一样,当我们查看目标曲线时,您可以使用该目标曲线作为标准,然后针对每个批次计算与该标准的差异。 例如,这里我有 |
| 来自一批的曲线,此处以蓝色表示……或者抱歉,以红色表示。 标准曲线是蓝色的,我正在计算差异,这里的差异在下面的绿色曲线上。 |
| 您可以对该曲线进行积分以找到曲线下方的面积,然后您可以在您的统计过程控制程序中使用它。 我只想快速带您完成如何执行此操作的步骤。 |
| 所以这是我的时间和我的标准浊度值,我第一批的浊度,我刚刚计算了这两者之间的差异。 然后你能做的就是你可以 |
| 使用 fit Y by X 为该差异随时间的变化构建样条模型,然后您可以将该模型的系数保存到数据表中。 |
| 您将得到的是 X 值和可用于构建样条模型的四个系数。 这是构建样条模型的公式, |
| 然后你整合这个公式。 所以你可以通过脚本来做到这一点,我选择在公式编辑器中做到这一点。 所以我刚刚通过手动整合先前的公式来确定曲线的每个切片的面积。 |
| 所以一旦我有了这些区域切片,那么我只需要把我感兴趣的区域加起来。 所以我可以做总曲线的面积。 |
| 我也可以只在成长阶段和死亡阶段都这样做,我在这里已经做到了 |
| 在我的表变量中。 所以我现在有一个变量来表示我的总积分差异,我在成长阶段的积分差异,以及我在死亡阶段的积分差异。 |
| 本质上,您只需对每个批次进行检查并执行此操作。 在这里,我已经对所有 20 个批次进行了此操作,现在您可以对这些变量进行统计过程控制。 |
| 所以这些是我使用功能数据浏览器查看流程监控以及流程理解和流程优化的方法。 我希望你检查一下,这对你来说也是小菜一碟。 谢谢你。 |