使用未经处理的空气在流化床中干燥产品的过程复杂且难以预测,部分原因是进料产品的差异性。因此,非最优参数的运用过于频繁,导致返工以及一系列相关问题,包括成本增加、额外工作量增加以及生产进度压力增大。尽管尝试建立干燥时间与空气和温度条件之间的函数关系模型,以期优化干燥参数,但仅取得了部分成功。
然而,当 JMP Pro 中的功能数据浏览器 (FDE) 被用于将单个产品在流程前 15 分钟内的干燥曲线纳入模型时,出现了一项突破。操作员随后可以利用这些结果预测最短干燥时间,并据此调整机器设置。利用 FDE 深入了解不同参数如何影响流程结果,其价值非凡。本次演讲将演示如何将这些信息传递给操作员,以便他们在流程中调整机器设置,从而最大限度地提高结果,因此对所有需要测量流程信息的人员都将有所裨益。
大家好,欢迎观看本次演示。我是来自 Olympic 公司的 Jacob,我的同事是[听不清]。我们将演示如何使用函数数据浏览器对干燥过程进行在线优化。
首先,我们会介绍一下项目的背景。之后,[听不清]会带您深入了解我们所做的统计分析。希望您觉得有趣。
首先简单介绍一下灵北制药。灵北制药是一家成立于1915年的公司,我们致力于大脑健康领域,也就是任何能够恢复大脑健康的药物。
灵北在全球50多个国家拥有约5400名员工,历史悠久。灵北拥有完整的供应链,涵盖从原料药生产到批发商的整个流程,包括合同生产商合作伙伴以及众多原材料供应商。我们的产品销往全球100多个市场,因此供应链相当复杂。
今天我们将重点介绍我们在散装生产中开展的一个项目,我们每年大约生产25亿片药片。具体来说,我们有一个制粒工艺。稍后我会详细介绍。在这个工艺中,我们尝试使用一种叫做流化床的设备进行制粒。
大量室外空气进入室内。空气仅经过过滤。我们从当地小型气象站了解到,天气状况和空气状况在24小时内变化很大。
我们的操作人员遇到了一些问题,他们正在琢磨今天应该让我的工艺或产品运行多长时间才能符合内部规范?角落里有一些JMP的小数据。但目前,我们观察到有26%的批次低于内部限值。
这个价格有点高。我们一开始只是想看看能不能缓解这个问题,帮助我们优秀的员工更顺利地完成流程。
什么是造粒工艺或流化床干燥?我们把一些湿粉末放在床层里,然后通入大量空气。我们将空气加热到特定温度,一定量的空气流过,带走水分,然后空气再次通过过滤器排出,这样就不会损失全部能量。但也可以进行造粒。虽然这不是本次讨论的具体内容,但也是一种可行的方法。
在较新版本的流化床反应器中,会配备空调装置,可以将进气湿度调节到设定值。但在我们目前的装置中,这无法实现,而且由于物理限制,甚至无法购买和加装该装置。
由于这套设备比较老旧,我们不得不自行安装传感器才能从机器中获取足够的数据。否则,它们只会把所有结果打印在纸上,这对于我们的工作来说并不理想。
此外,我们已经收集了所有必要的数据。我们有流化床数据,左侧是气象数据,还有过程控制数据。我们的目标是将所有这些数据汇集到一个数据湖中。
除此之外,我们还开发了一个小型应用程序,可以显示和展示我们想要显示的任何操作符。这就是所有数据的流转过程。
我们最初尝试了一个简单的模型,根据室外天气情况预测持续时间,但结果证明这个模型并不理想。因此,[听不清]将接手并解释她如何使用函数式数据浏览器来帮助我们找到更合适的模型。
是的,谢谢你,雅各布。我们想要一份原理图,看看整个系统。正如雅各布提到的,我们有一个气象站,每天都能提供天气信息,或者说流化床的空气状况。
然后,基于此,我们可以估算操作人员所需的时间。例如,他们需要多长时间来设置机器进行测试,才能将颗粒研磨到目标大小?但是,季节性天气变化会带来很多问题,而且由于一些公用设施(例如,在夏季或冬季,由于天气寒冷,我们会关闭或停止使用)的运行,也会造成很多问题。
这个流化床的进风量变化很大。仅凭我们从这里(我指的是这个气象站)获得的数据或信息来预测干燥时间相当具有挑战性。
作为初步调查步骤,我们首先在流化床反应器前,也就是进入流化床反应器的空气入口处安装了一些物联网传感器。此外,还在流化床反应器内部安装了一些传感器,用于监测产品温度,并在排气口也安装了一些传感器。
这样一来,我们就可以直接测量进入储罐和从流化床流出的空气特性。但这也就意味着我们需要处理大量数据。我们确实拥有时间序列数据。总共有八个传感器,每个传感器每秒都会向我们的数据湖发送信息。
这样一来,首先你应该能够了解干燥过程中发生了什么。不同批次之间有什么区别?然后收集更多信息。最终目标是利用这些数据更好地预测该装置中的干燥过程。
想法很简单。我们的数据湖中收集了大量历史数据,我们想把所有数据都提取出来,包括所有物联网数据和天气数据。
因此,我们希望训练模型,然后将该模型应用于我们称之为“生产智能”的平台。第一个模型是,我们在干燥开始前收集所有信息,然后将其推送给模型,操作员则根据我们提供的预估结果启动干燥作业。
在深入探讨之前,我们先来看看我们现有的数据,或者说物联网数据。正如我之前提到的,我们确实拥有……这是我们过去一年收集的历史数据。此外,我们还有来自所有这些传感器的物联网信息,这些信息每秒都在更新。
我们以一个批次为例来看。在干燥过程中,我们会向流化床中吹入空气,然后同步地,气流上下波动,并保持在设定的平均值。
然后我们还会控制干燥空气的温度。你的意思是,在干燥过程中,你可以看到产品温度是如何随时间升高的?这是根据干燥开始后经过的时间计算的。
然后您还可以看到,在干燥过程中,排气温度也在升高。这很好。但我们来比较一下这批产品和例如另一批产品。我这就去看看另一批产品。
这是另一批,如红色部分所示。显然,即使我们努力控制这个系统,干燥过程仍然会因批次而异。
干燥机空气温度可能影响很大。干燥过程也会有所不同,这可以从产品温度和排气温度两方面看出。这清楚地表明,你不能……我的意思是,当然,你可以利用历史数据以及干燥开始前收集的数据来大致估算目标干燥时间或所需干燥时间。
如果流程中存在偏差,只有启动流程后才能发现。然后根据发现的情况,你会说:“好的,我的干燥过程遵循了另一种规律,所以我需要另一个程序。”
这就是为什么我们提出了第二个想法,即如何利用干燥过程中的数据来估算产品最终相对湿度达到我们规格的目标值应该是多少。
想法很简单。我们想启动这个流程,在干燥过程中,我们从所有八个传感器收集数据。我们大约等待15分钟的数据。然后分析这些数据,或者直接将其输入到我们构建的模型中。15分钟后,我们可以向操作员提供预测结果。例如,目标温度是某个值,或者应该在10分钟后停止。
目前的预测直接基于干燥性能,并且是基于该特定批次,而不是基于某些预先假设的条件。
如何做到这一点……我会回到这个方法。JMP 的优点在于它拥有非常强大的时间序列数据分析工具,以及功能性数据浏览器。
遗憾的是,据我所知,目前这项功能仅在开发阶段可用。它是一个功能强大的时间序列数据分析工具。
举个例子,我想看看这个干燥过程中不同批次之间有什么区别。我用的是数据浏览器功能。比如,我想查看我的产品。然后我可以看到经过的时间,当然,还有作为 IT 函数的批次信息。
这个应用程序的作用在于,我可以查看所有批次的历史数据,并尝试找出它们之间的总体趋势。你可以看到,你可以很好地区分不同的批次,并分别比较它们的特征。
我想做的是,提取出每个信号的趋势或特征,然后将其作为模型的输入,以预测目标应该是什么。
正如我之前提到的,在这个特定案例中,我们想要收集这50分钟的数据,然后根据这些趋势或特征来预测目标。我还应该限定一下我查看数据的时间范围。
此功能提供了一个非常实用的筛选选项,可以对数据进行裁剪。例如,在这个例子中,我想查看 15 分钟的数据。此外,我还想在分析之前稍微缩小范围,以确保数据更加干净。我只想查看 180 秒到 900 秒之间的数据。
我这里已经有了。接下来我想做的是,看看所有这些批次的总体趋势是什么。我选择建模并进行直接函数主成分分析(PCA)。正如你所看到的,JMP 会尝试找到所有这些批次的总体趋势,将其显示为主函数,然后提取五个不同的特征值,这些特征值被称为形状函数,用来表征每个批次与所有产品平均水平之间的差异。
它会提供关于每个批次的详细信息……包括每个批次与平均外观的差异。您可以轻松地进行调整……在下面的性能分析器中,您可以轻松地调整所有提取的FPC组件,以查看每项更改的效果。
例如,这是我的运行时间。然后我想看看我的 FPC 1 组件值是否更高。这会对我的产品平均温度的趋势或曲线产生什么影响?即使我让 FPC 1 组件值更低(负值更大),又会对产品温度产生什么影响?
简单来说,如果我的 FPC1 值更高,就意味着在此期间,我的产品温度平均水平较低;如果 FPC1 值更低(负值更大),则平均水平较高。
你可以轻松地分别观察这些因素对产品温度总体结果、趋势或随时间变化曲线的影响。现在,当我提取这些组成部分,以便将其用作模型的输入,然后使用该模型来预测目标值时,情况就不同了。
您可以选择将结果保存为摘要,然后它会提供一份非常清晰的FPC组件信息,例如我这里列出的这些组件。当然,它还会将这些信息与不同的批号关联起来。
正如你所见,现在对于每个批次,我都能得到每个FPC分量对应的数值。这将是我构建模型的输入,因为这是我直接从每个信号的特征中提取的信息。然后,基于此,我就能了解批次的大致情况。我的新批次与平均水平有所不同,然后根据这种差异进行下一步操作。
我们先来看看我是否要建立模型。如果要建立模型,该怎么做呢?我刚刚把所有信号的FPC分量都收集起来了,接下来的步骤就很简单了。例如,你只需要构建你的通用回归模型,或者采用任何其他方法来构建你的模型。
例如,这里我举个例子,我可以选择一个简单的方法来获取最终信号,也就是预测相对湿度。作为输入的 X 变量,包含了所有不同 FC 组件的组合。
这样我就可以得出最终的估算结果或最终模型,并将其导入我的系统。这很简单。现在,所有这些模型或预测都直接基于我们从物联网传感器收集的所有信号的特征,然后我们根据这些特征来设定目标。
从现在开始,问题就变成了我们需要提取模型。构建完成后,我们需要提取模型,然后回到模型的首次提取。但是,如何为新批次提取这个 LPC 组件呢?
因为最大的问题是之后我就无法再使用 JMP 了。我的设置是让所有东西都集成到运行在 AWS 上的产品中,所以我需要能够提取模型和 FPC 组件。
提取模型很容易,所以我可以做到。但问题在于精确提取FPC组件非常困难。遗憾的是,目前JMP中没有直接的方法可以提取这些组件,因为我现在需要一个新的批次。
现在有了这批新数据,我想估算一下这个模型需要用到哪些组件。提取这些组件的方法非常间接,其实就是回到他们计算这些FPC组件的基本原理。
如果你看一下……如果我能找到这个,也许我会把它关掉。是的,它在这里。如果你回到你从FPC组件中提取的表格,你会看到,它确实有一列给出了乘积,比如预测结果,或者说它是如何尝试使用这个FPC组件来预测信号的。
这个方法很简单。它首先尝试计算所有数据的均值函数,在我们的例子中,指的是我们输入的所有历史数据。然后,它创建形状函数,并尝试根据批次调整这个形状函数,以补偿每个批次与平均值之间的差异。
我们可以利用历史数据,基于这些历史数据,我们可以提取随时间变化的平均值,还可以基于这些历史数据提取随时间变化的形状函数。
有了这两个参数之后,我们就可以提取出来并导入到我们的平台上。然后,每当有新批次的数据到来时,我们都会尝试将其拟合到这个模型中,并计算FPC分量。
我们该如何做到这一点呢?我稍后会再回到这个例子。每次创建表格时,你都会提取FPC组件的摘要。实际上,你还会得到形状函数。它们只是被隐藏在这里。所有这些……例如,如果你查看形状函数,你还会看到后面有一个方程,它试图计算形状函数随时间的变化。
我想直接提取这个数据。另外,还要提取平均值,并提取随时间变化的曲线。我先做一些清理工作,这样更方便。这是我最后一次提取数据,我刚刚取消隐藏它。
默认情况下……而且这部分也是多余的,也许我可以把它删掉。默认情况下,你提取出来的表格会根据你输入的时间范围的中心值来计算所有这些形状函数。
我想提取数据中 180 秒到 900 秒这段时间内的形状函数。我可以轻松地更新这一列。因为我需要从 900 秒开始,所以我只需更新经过的时间,就能轻松获得形状函数随时间变化的数值。
你可以看到,你可以输入与之前在第一个窗口中看到的完全相同的内容。现在我已经得到了这些形状函数。接下来该如何使用它们呢?我只需尝试将它们全部组合在一起即可。
我这里有一个准备好的数据表。我提取了这些形状函数,例如基于历史数据的产品温度,以及经过的时间。现在新一批货到了。我刚刚把它添加到我的表中。当然,在新平台上,它会在 AWS 上进行所有这些计算。
现在我有了新的一批数据。我获得了温度在 100 到 900 之间的信号信息。通过回到我之前解释过的方程式,现在我想构建这个模型,然后提取 FPC 组件。
我首先要做的就是,计算每次新批次中的信号值与我已有的平均值之间的差异。你还可以从 Episcopal 数据库中提取的表格中得到这个最小值函数公式。残差就是信号值与基于历史数据计算出的平均值之间的差值。有了这些,你只需要构建模型的其余部分即可。
我们开始吧。我构建的是残差。对于每个函数,我想提取FPC分量。当然,我不想保留任何截距。我想禁用中心多项式,以确保提取结果与其他函数完全相同。
然后运行这段代码,查看每个形状函数对应的表达式,你会发现其中一个参数代表了你的FPC分量。这就是基于从历史数据中提取的每个形状函数来提取这些分量的方法。之后,你可以将这些分量作为模型的输入。
每当有新的数据集或新的批次到来时,你都需要尝试拟合该数据集,提取FPC分量,然后将其作为模型的输入。这样,你应该能够根据每个数据集获得所需的估计值。
遗憾的是,正如我之前提到的,提取这些FPC组件并非易事。但这确实是一种方法。我们正是利用FPC组件的功能来预测我们系统在当前设置下的性能。
最后一张幻灯片是总体结论。我认为这一点非常明确,至少就我们的情况而言,考虑到系统所面临的所有变化以及系统中发生的一切,仅凭一些默认输入来预测系统的状态是非常困难的。
当然,如果条件允许,在系统中引入在线控制功能会更好,但这并非易事。第二种选择是利用不同的探索功能来分析时间序列数据。然而,目前该功能主要用于提供,而且很难从 JMP 中提取出某些元素。
大多数工业系统可能无法直接连接到 JMP。这大大限制了 JMP 中现有选项的功能。
但它确实从探索者的角度让我们对整个流程有了更深刻的了解。它让我们找到了问题的症结所在,以及每个批次的具体情况。在此之前,我们只是关注平均值之类的指标。而现在,我们真正看到了……
更多详情。
是的。还有时间序列数据。从流程的角度来看,分析部分非常有趣。
没错。是的。谢谢大家的聆听,希望到时能见到大家。