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

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

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

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

下面我列出了包含 A-Flow 变量的两个模型的比较统计数据。 像往常一样,给出了不受限制和独立的模型,以及模型 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 进行故障检测方面取得了任何成功,请在下面发表评论,我会很高兴听到它。