| 扬声器 |
抄本 |
| 杰里米·阿什 |
你好,我是 Jeremy Ash。我是 Jump 研发部门的统计员。我的工作主要包括测试多元统计平台和 Jump But |
| |
我还帮助研究和评估方法,今天我将使用一些统计过程控制方法和跳跃来分析田纳西伊士曼过程。 |
| |
我将特别关注模型驱动的多元控制图平台,这是 jump 的一个新功能,我对这个平台感到非常兴奋,这些数据提供了展示其某些功能的新机会。 |
| |
首先,我假设您在本次演讲中对统计过程控制有一些了解。 |
| |
你需要了解的主要内容是控制图。如果你不熟悉这些,这些图表用于监控复杂的工业系统,以确定它们何时偏离正常运行状态。 |
| |
我没有太多时间讲解方法论和模型驱动的多元控制图。所以我会参考其他一些可以免费获取的精彩演讲。 |
| |
更多详情。我还应该提到,Jim Finding 是模型驱动多元控制图的主要开发者,我与 Chris Got Walt 和 Tanya Malden 合作担任测试员。 |
| |
因此,本次演讲的重点是使用多元控制图来监测现实世界的化学过程。 |
| |
本次演讲的另一个新颖的方面是使用控制图进行在线过程监控,这意味着我们将在数据添加到数据库时持续监控数据并实时发送故障短信。 |
| |
所以我先从那张必看的幻灯片开始,讲解多元控制图的优势。为什么不直接用大学控制图呢?有很多不错的选择,快来试试吧。 |
| |
大学控制图是一次性分析几个变量的绝佳工具。然而,质量控制数据集通常是高维的 |
| |
你需要查看的图表数量很快就会变得难以承受。因此,多元控制图可以概括高维过程。只需几张图表,这就是一个关键优势。 |
| |
但这并不是说大学控制图在这种情况下没有用,您会在整个谈话中看到,故障诊断通常涉及在大学控制图之间的多变量之间切换。 |
| |
多元控制图可以让您很好地了解过程的整体健康状况。大学控制图可以让您 |
| |
看看具体方面。所以这些信息是互补的,模型驱动多元控制图的主要目标之一是提供一些工具,方便在这两种图表之间切换。 |
| |
大学控制图的一个缺点是,观测值可能看起来在控制范围内,但实际上在多变量意义上是失控的。所以我必须 |
| |
控制我们的油和密度红外图谱,红色的两个观测值处于控制范围内,但油和密度高度相关。这些观测值在多变量意义上是异常值,尤其是观测值 51 严重违反了相关结构。 |
| |
因此,多元控制图可以识别这些类型的异常值。当大学控制图无法识别时 |
| |
模型驱动多元控制图使用投影方法构建控制图。我将首先解释主成分分析 (PCA),因为这样更容易理解。 |
| |
PCA 通过投影到低维空间来降低过程变量的维数。 |
| |
如右图所示,我们有 p 个过程变量和观测值,我们希望将过程的维度降低到 a,其中 a 尽可能小于 p,并且 |
| |
为此,我们使用 P 载荷矩阵,该矩阵提供了 X 变量线性组合的系数,从而得出得分变量。如左侧所示。 |
| |
开球时间 P 将以低维表示形式提供过程变量的预测值。此外,还有一些预测空间,并且您的得分变量已被选定。 |
| |
以最小化这个平方预测值的方式。另一种思考方式是,最大化解释方差 x |
| |
当您有一组过程变量和一组质量变量,并且您确实想确保质量变量得到控制时,PLS 更为合适,但这些变量的收集通常成本高昂或耗时 |
| |
在检测到故障之前,行星的质量可能会长期失控,因此 |
| |
PLS 模型允许您根据过程变量来监控质量变量。您可以看到,PLS 模型能够找到能够最大化 y 变量解释方差的得分变量。 |
| |
过程变量通常更便宜,也更容易获取。因此,PLS 模型可以帮助您及早发现质量缺陷,并降低过程监控的成本。 |
| |
所以从现在开始,我将只关注 PLS 模型,因为它更适合我们的例子。 |
| |
因此,PLS 会将您的数据划分为两个部分。第一个部分是您的模型部分,它会为您提供预测值。 |
| |
另一种思考方式是您的数据已被投射到由分数变量定义的模型平面中,并且 t 平方图将监视该模型平面中的变化。 |
| |
第二个部分是误差部分。这是原始数据与预测数据之间的距离,平方预测误差图是 SP 图,用于监控 |
| |
此组件的变化 |
| |
我们还提供了模型 x 平面的替代距离,这只是 sp 的标准化版本。 |
| |
对于演示来说,最后一个需要理解的重要概念是历史数据和当前数据之间的区别。 |
| |
历史数据通常在已知过程处于受控状态时收集。这些数据用于构建PLS模型并定义 |
| |
正常过程变异。这样可以获得控制限值。当前数据根据模型分配分数,但独立于模型。 |
| |
另一种思考方式是,我们有一个训练集和一个测试集,训练数据的 t 平方控制限较低,因为我们预期 |
| |
用于训练模型的观测数据,而变异性和t平方值更大。当模型推广到测试集时。幸运的是,有一些理论已经得到研究 |
| |
T 平方的变体使我们能够根据一些分布假设获得控制限。 |
| |
演示中将监控田纳西州伊士曼的流程。我将简要介绍这些数据。 |
| |
这是 Downs 和 Bogle 为 Eastman Chemical 的化学家们开发的化学过程的模拟,它最初是用 Fortran 编写的,但现在 MATLAB 和 Python 中已经有它的编译器。 |
| |
该模拟基于真实的工业流程,但为了保护专有信息而对其进行了操纵。 |
| |
模拟过程。液体的生产。 |
| |
通过给反应物充气,F 是一种副产品,需要从所需产品中抽出。 |
| |
在对多元过程控制方法进行基准测试的文献中,两个季节过程普遍存在。 |
| |
这是流程图。看起来很复杂,但其实没那么难。我来带你了解一下。 |
| |
气态反应物ad和he流入反应器,发生反应,产物以气态离开。它被冷却并冷凝成液体,然后进入冷凝器。 |
| |
然后我们有一个气液分离器,它将去除任何剩余的蒸汽,并通过压缩机将其循环回反应器,这里还有一个吹扫流,它将 |
| |
排出副产品和一种化学药品以防止其积聚,然后将液体产品泵入汽提塔,剩余的反应物在此被汽提掉,最终的纯化产品从出口流中离开。 |
| |
第一组被监控的变量是操纵变量。它们看起来像领结和图表。 |
| |
认为它们实际上是阀门和操纵变量,主要控制通过过程的不同流的流速。 |
| |
这些变量可以设置为限制范围内的特定值,并具有一些高斯噪声,操纵变量可以以任何速率进行采样,我们使用默认的三分钟采样 |
| |
控制变量的一些例子是反应物进入反应器的流速 |
| |
进入汽提塔的蒸汽流速。 |
| |
冷却剂流入反应堆 |
| |
下一组变量是测量变量。它们在图中显示为圆圈,也以三分钟为间隔进行采样,不同之处在于测量变量在模拟中无法被操纵。 |
| |
我们的质量变量将是液体产品的百分比成分,您可以看到 |
| |
分析仪在这里测量成分。 |
| |
这些变量的收集有相当长的时间延迟,因此 |
| |
我们正在查看信息流中的产品,因为 |
| |
这些变量比流出的产品更容易测量。我们还将构建一个PLS模型来监控 |
| |
通过我们的过程变量来监控我们的质量变量,这些变量在更快的采样率下具有显著更少的延迟。 |
| |
好的,以上是数据背景。总共有33个过程变量和质量变量。 |
| |
收集变量的过程是用一系列微分方程来模拟的。所以这只是一个模拟。但你可以看到,我们在模型建模上投入了相当多的心血。这是一个真实世界的过程。 |
| |
这里是演示的概述,我将向您展示如何收集我们的流程数据,然后将这些数据存储在数据库中。 |
| |
我想写一个易于分享的示例。因此我将使用 Sequel 轻量级数据库,但此工作流程适用于大多数类型的数据库。 |
| |
大多数数据库支持奇数查看连接,一旦跳转连接到数据库,它就可以定期检查新的观察结果并在它们进入时更新跳转表。 |
| |
然后,如果我们打开一个模型驱动的多元控制图报告,并启用自动重新计算功能,我们就会有一个机制,可以在新数据输入时更新控制图。 |
| |
并且,将数据添加到数据库的整个过程可能会在与执行监控的计算机不同的计算机上进行。 |
| |
因此,我开设了两个跳转会话来模拟这一点,这两个会话都有自己的日志,材料均在社区中提供。 |
| |
第一个会话将把模拟数据添加到数据库,这称为流会话,下一个会话将在报告进入数据库时更新报告,我称之为监控会话。 |
| |
我非常喜欢 Downs 和 Vogel 的论文,因为他们没有提供任何单一指标来评估流程的控制力。我在这里引用了论文中的一段话。我们感觉 |
| |
我们认为,所涉及的控制策略和技术之间的权衡远不止一个数学表达。 |
| |
以下是他们在论文中列出的与我们的问题相关的一些目标,即维持过程变量,期望值尽量减少干扰期间产品质量的变化,并从干扰中快速平稳地恢复。 |
| |
因此,我们将使用监控方法来评估我们的流程实现这些目标的程度。 |
| |
好的。 |
| |
首先,我在监控会话日志中,向大家展示我们发送的第一组数据。数据表包含我之前介绍的所有变量,第一组是测量变量。第二组是成分变量。最后一组是操纵变量。 |
| |
这里附加的第一个脚本将适合 PLS 模型,它排除最后 100 朵玫瑰作为测试集。 |
| |
提醒一下,这个模型是根据工艺变量来预测两个产品成分变量的,但偏最小二乘模型(PLS)并非本文的重点。因此,我已经拟合了模型并输出了得分列。 |
| |
如果我们查看列属性,你会看到有一个 MD MCC 历史统计属性,它包含所有信息 |
| |
在你的模型中,你需要构建多元控制图。监控多元控制图之所以设计成这样,原因之一是 |
| |
假设你是一位统计学家,你想与一位工程师分享你的模型,以便他们绘制控制图。你只需要在数据表中提供这些公式列即可。你无需分享所有关于如何拟合模型的细节。 |
| |
接下来我将使用分数列来创建我们的控制回合 |
| |
左边是控制图,t平方和SPE值分别对应860个用于估计模型的观测值。这些观测值被标记为历史观测值,然后我保留100个观测值作为测试集。 |
| |
您可以在下面的限制摘要中看到,我执行了仅针对多次测试校正的绑定。 |
| |
根据历史数据。我在红色三角形菜单中设置了alpha值,你可以设置任何你想要的, |
| |
我做了这个修正,是因为已知数据是在正常运行条件下得出的。因此,我们预计观测结果不会失控,经过多重性调整后,误报率为零。 |
| |
右侧是贡献比例热图。这些热图表明每个变量对外部控制信号的贡献程度。每个观测值位于 Y 轴上,贡献以比例表示。 |
| |
您可以在这两个图中看到,贡献在各个变量之间分布得相当均匀。 |
| |
在底部,我有一株分数植物。 |
| |
现在我们只是绘制第一个分数维度与第二个分数维度的关系,但您可以使用这些下拉菜单或此箭头查看分数维度的任意组合。 |
| |
好的,我们已经非常关注报告了,我将转到监控会话。 |
| |
它将把数据流入数据库。 |
| |
为了在本例中执行任何操作,您需要安装 Sequel Light Odd See 驱动程序。操作很简单。您可以直接点击此链接。 |
| |
我没有时间讨论这个,但我创建了 Sequel Light 数据库。我会使用并跳转。我的社区网页上有关于如何操作以及如何连接到数据库的说明。 |
| |
如果您想亲自尝试一下,这个例子可能会有所帮助。 |
| |
我已经创建了与该数据库的连接。 |
| |
我已经在社区上分享了这个数据库。所以我打算在查询生成器中查看一下数据表。 |
| |
我可以做那个表快照 |
| |
第一个数据集是历史数据,我用它构建了一个 pls 模型,其中有 960 个观测值处于控制之中。 |
| |
下一个数据表是一个监控数据表,它一开始只包含历史数据,但我会逐渐向其中添加新数据,这就是我们的多元控制图要监控的内容。 |
| |
然后我已经模拟了新数据并将其添加到此处的数据表中,并看到它从时间戳 961 开始 |
| |
还有另外 960 个观察结果,但我在某个时间点引入了一个错误 |
| |
我希望有一些易于分享的内容。所以我不会运行我的模拟脚本,也不会用这种方式添加数据库。 |
| |
我只是要从这个新的数据表中获取观察结果,然后使用一些带有后续语句的 JSON 将它们移动到监控数据表中。 |
| |
这只是一个简单的例子,模拟新数据进入数据库的过程。你可能实际上无法使用 jump 来实现这一点。但这是一个机会,可以展示如何使用 ASL 来实现。 |
| |
接下来,我将向您展示用于传输数据的脚本。 |
| |
这是一个简单的脚本。所以我将快速地向你介绍一下。 |
| |
第一组命令会从 Sequel Light 数据库中打开新的数据表,它会在后台打开。所以我必须处理窗口,然后从这个新数据表中取出一些数据, |
| |
将它们移动到监控数据表,我称之为“块”和“BITE SIZES 20” |
| |
然后,这将创建一个数据库连接,允许我发送数据库 SQL 语句。最后这段代码将以交互方式构建后续语句,将新数据插入到监控数据中。因此,我将初始化 |
| |
好的,向您展示这个循环的第一次迭代。 |
| |
所以这只是一个简单的 |
| |
SQL 语句插入语句,插入前 20 个观察结果。 |
| |
注释一下,一开始运行得更快。下面有一个等待语句。这只会减慢流速。 |
| |
这样我们就有足够的时间来查看数据和控制图的进展,但如果没有这个流式传输示例,它就会结束得太快。 |
| |
好的,所以我要 |
| |
切换回监控会话并向您显示一些将更新报告的脚本。 |
| |
将其移到右侧。这样您就可以同时看到报告和脚本。 |
| |
所以, |
| |
这个读取监控数据的脚本很简单,每隔两秒检查一次数据库,并将新数据添加到跳转表中。由于报告已开启自动重新计数功能。 |
| |
每当添加新数据时,报告都会更新。另外,我应该补充一点,实际上,你可能不会使用像这样集成的脚本,你可能会使用任务计划程序,而且 Windows 是自动化的,Max 更好地安排运行时间。 |
| |
然后是这里的下一个脚本。 |
| |
每当报告更新时,都会推动报告公开。 |
| |
我真的很兴奋这是可能的,并且跳了起来。 |
| |
它允许任何装有网络浏览器的电脑查看控制图的更新。您甚至可以在智能手机上查看报告。这使得跨组织共享结果变得轻松便捷。如果您希望报告存储在受限服务器上,也可以使用 Jump Live。 |
| |
然后,如果您想多次运行该示例,脚本将重新创建历史数据和数据表。 |
| |
好的,让我们运行流脚本。 |
| |
并查看报告如何更新。 |
| |
你可以看到数据一开始是受控的,但随后出现故障,出现很大的失控信号,但已经实施了全厂控制系统,并且进行了模拟,使系统达到新的平衡 |
| |
我花一点时间来完成它。 |
| |
现在我已经更新了控制图。我将把结果推送到公众 |
| |
在我的跳转公共页面上,我首先有一个控制图,其中包含数据和控制。 |
| |
并且这应该随着数据的添加而更新。 |
| |
因此,如果我们放大这个过程第一次失控的时候。 |
| |
你的 |
| 杰里米·阿什 |
看起来这是样本 1125 我要给它上色 |
| |
并贴上标签。 |
| |
这样它就会出现在其他地块中,然后 |
| |
在 SP 图中,看起来这个观察结果仍然在控制之中。 |
| |
哪种图表能更早地发现错误取决于你的模型。你选择了多少个因素 |
| |
我们还可以放大 |
| |
贡献图中的那个时间点。你可以看到过程何时开始失控。有很多变量导致了失控信号。但当系统达到新的平衡时,只有两个变量的贡献较大。 |
| |
所以我要删除这些热图,以便在诊断部分有更多的空间。 |
| |
并使所有内容变得非常大,以便文本能够显示在屏幕上。 |
| |
如果我将鼠标悬停在第一个失控点上,你就能查看前 10 个影响变量。 |
| |
这对于快速识别哪些变量对失控信号的贡献最大非常有用。我还可以点击该图并将其附加到诊断部分,然后 |
| |
您可以看到,有大量变量导致信号失控。 |
| |
稍微放大一下。 |
| |
所以如果其中一个条形是红色的,这意味着该变量失控了。 |
| |
在通用控制图中。你可以将鼠标悬停在条形图上来查看。 |
| |
我要去拍几个 |
| |
这些图表是具有三个西格玛控制限度的各个变量的 IR 图表。 |
| |
你会看到汽提塔压力变量。在大学控制图中,观测值失控了,但最终这些变量被我们的控制系统控制住了。以下情况也是如此 |
| |
大多数 |
| |
较大的贡献变量,同时也向您展示了观察控制的变量之一。 |
| |
因此,一旦控制系统做出响应,许多变量就会重新受到控制,并且过程达到 |
| |
新的平衡 |
| |
但这个过程显然发生了转变。所以要找出导致这种转变的变量。你可以关注的一点是主要贡献。 |
| |
阴谋 |
| |
如果我对此进行排序并查看 |
| |
贡献最大的变量。看起来只有两个变量贡献较大,这两个变量都测量了进入反应器的流中反应物的流速。 |
| |
它们测量的本质上是同一个东西,只不过一个是测量变量,一个是操纵变量。你可以看到 |
| |
在大学控制图中,流速有一个很大的阶跃变化。 |
| |
这个也一样。这是我在模拟中编程的步进变化。这些贡献使我们能够快速识别根本原因。 |
| |
因此,我将介绍一些其他方法来识别造成这种转变的相同原因。其原因在于实际数据。 |
| |
流程转变通常更加微妙,有些工具可能比其他工具更有用,更容易识别这些转变,并且这些替代方法会得出相同的结论。因此,本文将展示这些方法之间的一些关联。 |
| |
在这里,我有一个分数工厂,它可以提供有关 t 平方工厂中转变的补充信息。 |
| |
它在捕捉高维移位的能力方面比较有限,因为一次只能可视化模型的两个维度,但是,我们可以提供更直观的可视化过程,因为它可以在低维表示中对其进行可视化 |
| |
事实上,多元控制图首先分为 t 平方和 SPE 的主要原因之一是它提供了足够的降维,可以轻松地将过程和散点图可视化。 |
| |
因此,我们想要确定 |
| |
导致偏移。所以我要给偏移前后的点分别涂上颜色。 |
| |
这样它们就会出现在分数图中。 |
| |
通常,当我们查看六个因素的所有组合时,需要查看很多得分图 |
| |
因此,非常方便的是能够使用此处的箭头快速循环浏览所有组合,我们可以查看因子组合并找到分离较大的组合。 |
| |
如果我们想确定分数图中转变首先发生的位置,您可以将点连接起来并看到转变再次发生在 1125 年左右。 |
| |
另一个有用的工具。如果你想识别 |
| |
分数维度是指观测值与历史数据的偏差最大,而你又不想查看所有分数图,因此我们选择的是归一化分数图。因此,我将在平移后选择一个点,并查看归一化分数图。 |
| |
我实际上要选择另一个。 |
| |
好的。 |
| 杰里米·阿什 |
因为我想研究五维和六维。所以 |
| |
这些图显示了分数和每个维度的量级,这些维度都经过了归一化处理,因此各个维度处于同一尺度。由于历史数据的平均值为零,因此每个分数的量级越大,量级越大,分离度也就越大。 |
| |
在选定点和历史数据之间。因此,看起来,维度五和维度六显示出最大的分离,并且 |
| |
我要去那些 |
| |
因此,我们之间的差距很大 |
| |
移位数据和历史数据以及方形图可视化也可以得到更好的解释,因为您可以使用变量载荷为因素赋予意义。 |
| |
和 |
| |
我这里有 |
| |
变量太多,我们无法看到它们的所有标签。 |
| |
正在加载向量,但你可以将鼠标悬停在上面查看它们。你可以看到,如果我顺着偏移的方向看,导致偏移的两个变量也显示在那里。 |
| |
我们还可以在组比较过程中探索子组之间的差异,为此,我将选择移位之前的所有点作为参考组,并将移位之后的所有点作为与参考组进行比较的组 |
| |
这些 |
| |
这张贡献图会显示对两组差异贡献最大的变量。你可以看到,它还能识别出导致偏移的变量。 |
| |
当分数图中出现多个变化时,当您可以在数据中看到两个以上的不同子组时,组比较工具特别有用。 |
| |
在我们的例子中,当我们将当前数据中的某个组与历史数据进行比较时,我们也可以选择转换后的数据,并查看主要贡献得分图。 |
| |
这将给我们 |
| |
橙色组中每个变量对得分的平均贡献。由于得分较大表示与历史数据的差异较大,因此这些贡献图也可以用于识别原因。 |
| |
它们使用的公式是 t 平方的贡献公式。但现在我们只使用得分图中的两个因子。 |
| |
好的,我要重新找到我的 PowerPoint。 |
| |
很快,我将总结演示中显示的模型驱动多变量控制图的主要特征。 |
| |
该平台具备在线故障检测和离线故障诊断能力,方法多样,为深入挖掘故障根源提供了平台。 |
| |
我给你看看。以下是一些图表,摘自畅销书《工业系统故障检测与诊断》,作者们都曾写过。 |
| |
演示如何并排使用多元控制图和通用控制图来了解过程中发生的情况。 |
| |
模型驱动多元控制图的一个特别有用的功能是它的交互性和用户友好性。它可以在这些类型的图表之间切换。 |
| |
这就是我的演讲。这是我的邮箱。如果你们还有其他问题,也感谢所有收看本次演讲的朋友们。 |