上个月,我回顾了开始为田纳西伊士曼模拟器(化学过程模拟器)构建 SEM 所需的初步分析。 该分析产生了显性变量和潜在因素之间的因子和因子相关性,可以用作 SEM 比较的基线模型。 然而,正如我在一些文章中提到的我以前的帖子,必须在初步分析的基础上创建和考虑其他模型,以确定我们已经找到了系统的良好模型。 在这种情况下,“好的”模型应该能够检测系统中的故障,同时在正常运行时不会标记任何问题。 我评估这些模型的主要方法之一是通过提供的统计指标JMP专业版的模型比较窗口。
构建 SEM
在开始模型构建之前,我想向您提供一张完整的模型比较表。 每当我在本节中提及其中一款 SEM 时,我都会参考下表以及与正确型号对应的型号。 我这样做是为了强调需要创建多少个模型才能开始深入了解数据,但我不打算解释每个模型,而只会解释最重要的模型。

创建 SEM 时,我仅使用受控数据。 模型完成后,我将模型应用于不同的时间间隔,以尝试观察发生了什么变化。 为了简单起见,我仅使用两个因素制作了第一个模型,并且因素之间存在协方差,因为我们知道这些因素可能相关(这是模型 5)。

我们通过实线(表示统计显着性)和虚线(表示统计显着相关性)看到这一点。 由于我们自己选择相关性,因此虚线可能表示模型中不需要这些变量之间的相关性,以使模型能够很好地拟合数据。 根据我们的领域知识,我们知道这些因素(温度和压力)之间必定存在协变量关系,因此这应该对该模型敲响警钟。
然而,你可能还记得在我之前的帖子我提到过一些基于压缩机的清单变量与压力的相关性不如其他变量。 因此,此时,我决定添加第三个潜在因子,将其称为压缩器,并将先前与压力相关的明显变量分配给这个新的压缩器因子。 正如您此时可能已经明白的那样,我们所有的潜在因素都可能彼此高度相关,因此在此模型中,在所有因素之间添加了协方差。 实际上,这是有道理的,因为压缩机的工作是增加压力,但它也会在此过程中产生热量,这意味着它可能会影响我们的温度和压力因素(这是表中的模型 9)。

将模型 5 与模型 9 进行比较,我们发现模型 9 在每个测试指标上都表现更好。 不仅如此,我们还发现潜在因素之间的所有协方差现在都具有统计显着性。 这是一个有希望的结果。 您可能还注意到在比较表中我们有很多负值;这不是问题。 适用相同的规则:值越低越好。 在这里您可以看到,在我创建的 12 个模型中,模型 9 是统计上“最好”的模型。
故障检测
现在我们有了一个模型,它似乎可以很好地拟合数据,并在控制下为我们提供统计上显着的相关性,是时候问一个大问题了: SEM 如何向我们显示存在故障? 这是我工作的关键,因此我将重点介绍我发现可以检测故障的几种方法以及这些故障检测方法的优缺点。
对于我们这些敏锐的读者来说,您可能已经注意到,虽然我在上一篇文章中提到故障是 A/C 进给比的错误,但模型中没有与 A/C 进给比相关的明显变量! 下个月我将在解决该模型的问题时详细介绍这一点,但现在只知道我测试了与 A/C 比率相关的各种变量,并发现提供最佳统计数据的添加是当变量“A- Feed S1”已添加到模型中。

下面我列出了两个模型的比较统计数据,其中包括 A-Flow 变量。 像往常一样,给出了无限制且独立的模型以及模型 3,模型 3 是一个 SEM,潜在因素之间没有协方差连接。 模型 4 是相同的 SEM,但包含潜在因素之间的协方差(这更有可能是正确的模型)。

有几种方法可以观察系统内的变化。 首先,变量之间连接的重要性可以作为发生故障的指示,因为模型认为应该重要的连接现在并不重要。 不幸的是,有时根据您的模型及其敏感程度,相关性的统计显着性可能会在系统发生微小变化时发生变化。 这显然是一个敏感性问题,但表明我们在采用此类分析时需要小心。
其次,收敛失败可以用来检测系统中的故障。 这与平台中发生的迭代次数相匹配。 如果迭代次数超过 1,000 次,分析将被取消,模型无法收敛。 这是受控模型和故障模型之间非常明显的区别,事实上,当我第一次发现这一点时,我认为它在受控数据和失控数据之间提供了非常明显的区别。 但它仅能做到这一点,这就是缺点。 检查模型是否收敛会告诉我们某处存在错误,但不会告诉我们错误发生的地点或时间。 如果系统没有生产产品或正在经历一些灾难性故障,那么情况将非常清楚,并且不需要 SEM。

因此,我认为最好的故障检测方法是观察模型比较报告提供的统计数据在特定的、用户指定的时间段内的变化。 对我来说,演示这一点的最简单方法是使用 JMP 中的本地数据过滤器以及动画控件。

正如您通过上面的动画所看到的,我添加了一个本地数据过滤器,将整个数据集分成 10 组,每组 192 个时间点。 故障发生在数据点 1120 处,但可在大约 1130 处手动观察到。 无论哪种情况,这都意味着故障发生在第 5 组末尾,在系统达到新的稳定状态之前,影响主要出现在第 6 组和第 7 组中。 如果观察这些组的对比统计数据,可以看到第5组之后统计数据迅速变化,这表明出现了故障。
然而,一些统计数据比其他统计数据更能检测到这种特定的故障。 例如,AICc 在这些组中发生了巨大的变化,这告诉我们发生了故障。 但 AICc 很难确定该故障具体发生在何处,因为该值的主要变化发生在故障发生很久之后的第 7 组中。 在这种情况下,如果您不知道故障出在哪里,您很可能会报告故障发生在第 7 组。 然而,如果我们观察同一组的 CFI 和 RMSE,我们会发现一旦故障发生,这些值就开始显着偏离其基线值。 尤其是 RMSE 似乎是检测这种变化的最佳指标,因为在第 5 组中,RMSE 略有增加,然后在第 6 组中,RMSE 增加到表明模型中存在错误的水平。 一旦系统在故障后恢复到稳定状态,RMSE 就会恢复到故障前的值。 因此,对于这个特定的例子,RMSE 是我们分析的最佳统计指标,但这个结论需要进一步测试,看看这个结果是否也适用于其他数据集中的其他错误。

上面我提供了与之前相同的分析,但当我循环浏览各组时,给出了 SEM 及其各自的相关性。 在第 3 组和第 4 组中,我们看到不同的相关性在统计上变得不显着,就像故障发生后第 5 组和第 6 组中的连接变得不显着一样。 这里的问题是,仅仅从相关性的显着性上无法判断故障是发生在第3组还是第5组。 这种缺乏区别表明了三种可能性:该 SEM 对于系统来说不是一个好的方法,每组没有足够的时间点,或者这种检测故障的方法不是一个好的方法。 下个月,我将进一步探讨 SEM 本身很差的想法。 但考虑到原始 SEM 的比较统计数据,模型不太可能是问题所在。 相反,故障检测方法很可能是问题所在,因为被告知相关性是否显着所提供的信息远少于提供定量值供我们比较的一些统计数据。
正如您希望看到的那样,通过模型比较部分中计算的统计数据检测故障可以更清楚地了解故障发生的位置,而不是单独观察相关性的显着性。
结论/进一步的工作
通过这次探索,您应该能够看到如何创建 SEM 并使用它们来检测真实工业系统中的故障,尽管这很耗时。 然而,这个应用程序和我创建模型的具体方式有明显的缺点。 下个月,我的目标是探讨其中的一些缺点以及 SEM 在实际过程中的应用范围。 现阶段,一个公平的结论是SEM可以用于故障检测,但仅作为某些条件下的基本模型,并不全面。
如果其他人通过另一个示例或使用其他方法来检测故障发生的时间和地点,并在使用 SEM 进行故障检测方面取得了任何成功,请在下面发表评论,我会非常高兴听到这一消息。
约旦:
好奇,您在使用 SEM 进行故障检测方面取得了任何进展吗? 我们已经建立了许多用于故障检测的 MDMVCC 模型,并取得了良好的成功。 我一直想对我们拥有的许多设备(例如原油管道蒸馏器、冷却塔或制冷压缩机)尝试使用 SEM。