来自系列:预测性维护
Melda Ulusoy, MathWorks
了解如何使用诊断特征设计器提取时域和光谱功能,以开发预测性维护算法。
你可以从你的数据中提取成百上千的特征。你如何知道哪些特征对训练机器学习模型有用?尽管这些模型可以处理高维特征集,但这些特征需要与众不同,这样模型才能做出准确的预测,并有效地分离不同类型的群体。在本视频中,我们将讨论如何使用三缸泵的诊断特征设计器提取有用的特征,并使用分类学习器训练机器学习模型进行故障分类。
在此视频中,我们将设计一种用于Triplex泵的预测性维护算法。我们将使用具有分类学习者的诊断功能设计师和火车机学习模型来展示特征提取。
让我们使用第2部分视频中介绍的三缸泵示例。我们要确保泵安全、正确地运行。但我们知道,随着时间的推移,它可能会出现这些故障。因此,我们希望设计一种预测性维护算法,以及时检测故障并识别故障类型,因为这将帮助我们确定哪些部件需要修理或更换,并相应地安排维护。
我们从哪里开始?我们首先从泵中收集数据,并对其进行预处理,以清除噪声。在算法的下一步,我们从用于训练机器学习模型的数据中提取特征。这些模型可以帮助我们对不同类型的故障进行分类。这就是挑战所在。为什么?因为我们可以从数据中提取数百种特征。那么,我们如何知道应该选择哪些特征呢?我们所知道的是,机器学习模型在默认情况下并不聪明,如果我们不能用有用的和独特的特征训练它们,它们不会准确地预测不同的故障类型。那么,我们如何判断一个功能是好是坏呢? In this video, we’ll try to answer these questions and give you insights into feature extraction.
让我们从工作流的第一步开始。我们收集了泵在不同故障条件下的流量和压力测量值。这些存储在一个集合中。在每一行中,都有1.2秒长的流量和压力测量值以及对应于不同故障类型的故障代码。这些数据已经过预处理。因此,我们将按照以下步骤继续使用诊断功能设计器进行特征提取。我们首先将数据导入应用程序。一旦输入,我们就可以将信号可视化。以下是流量信号的所有测量结果。在这些图上,不同的颜色对应不同的断层类型。正如您在这里看到的,不同类型的故障之间没有明显的区别。这就是为什么我们需要提取能够帮助我们区分不同故障类型的特征。这个应用程序让我们可以计算常用的时域和频域特征。我们选择流量数据并计算统计时域特征。这些特征包括均值、标准差、偏度和峰度。应用程序计算功能值后,它们将显示在功能表上。该应用程序还为每个功能绘制直方图。在讨论如何解释这些直方图之前,我们将通过在频域分析数据来提取一些额外的特征。
为什么我们需要更多的功能?我们知道机器学习模型可以处理大量的特征,当用许多特征训练时,它们可以做更好的预测。然而,只有当我们有有用的和独特的特征,能够唯一地区分不同类型的故障时,这才是正确的。为了更好地理解这一点,让我们看看我的同事Loren Shure在她的“什么是机器学习?””视频。卡片上标有三种类别:狗、猫或鸟。你需要确定有助于区分不同动物的特征。然后你用这些特征来训练一个模型,这个模型决定了某物被标记为狗、猫还是鸟。一个很好的特征就是耳朵。为什么?因为它能立即将猫狗群和鸟群区分开来。 However, by itself this feature is not enough, as there may be dogs and cats whose ears may look similar in size and shape. Therefore, we add additional features such as mouth, nose, and whiskers. These are useful and distinctive features that will help us distinguish different animals. But imagine what would happen if we picked eye color as a feature. Dogs, cats, and birds can all share the same eye color and therefore this feature is not distinctive for separating different animals. These kinds of features will act as noise to our machine learning model and can even hurt the model’s performance and lead to inaccurate predictions. Because of what we just discussed, we’ll now extract some additional features and then we’ll rank all the extracted features to determine the most useful ones for training a machine learning model.
到目前为止,我们只计算了来自泵数据的时域特征。但是单独的这些特征可能不足以区分正常的健康操作。这是前一个例子的情况,其中单独的耳朵不足以区分不同的动物。我们知道泵具有旋转组件,其数据是周期性的。因此,频域分析可以揭示正常和健康操作之间的一些显着差异,这可以帮助我们更好地分开故障类型。所以,现在我们将继续提取额外的频域特征。为此,我们首先需要计算流量信号的功率谱。有参数和非参数选项来计算光谱。您可以尝试一下,了解哪一个最适合您的信号。在这里,我们将使用自回归模型,因为我尝试了这些选项,我知道自回归模型很好。 On the spectrum plot, we notice that different types of faults are more separable when compared to time-domain signal. For example, we can easily set apart the red and green curves corresponding to these faults.
现在我们已准备好计算频谱功能。此处列出了最常用的功能。这些是诸如光谱峰值,模态系数和频带电源的特征。在这里,我们不会保留整个频段,但我们将选择更小的范围,使其包括前五个峰。为什么?因为较高频率的数据是嘈杂的,因此频谱峰值更难。因此,在培训机器学习模型时,从这部分图中提取的任何功能可能不会有助于更好的分类。请记住,如果我们未能选择有用的功能,我们可能会伤害我们的机器学习模型在做出正确的预测方面的性能。
到目前为止,我们从流动数据中识别出了时域和频域特征。我对压力数据重复了同样的过程,我提取了额外的特征。有很多特征是好的,因为机器学习模型可以使用高维特征集。所有的计算特征现在都列在左边,这里我们也有直方图。在这些图中,不同的断层类型用不同的颜色突出显示。理想情况下,我们希望得到这样的图。在这里,所有不同的颜色分布是彼此分开的。如果我们的直方图像这样,我们可以很容易地区别不同类型的错误。但它们看起来很像这个,不同类型的断层之间有很多重叠。由于这种重叠和大量的特征,仅仅通过看这些图,我们真的很难说出最有用的特征。 However, this app lets you rank these features to determine the ones that will help us effectively separate different types of faults.
当我们点击“排名功能”时,应用程序使用单向方差分析来计算所有功能的排名分数。方差分析测试的结果显示在右侧,而左侧的条形图显示了不同特征的标准化分数。为了训练机器学习模型,我们将选择方差分析分数高的特征,而忽略分数小得多的特征,因为这些特征不会有助于训练模型。当您提取特征来训练模型时,您会发现自己正在尝试不同的特征集,以查看哪一组最适合分类故障类型。因此,在设计算法时,这些步骤可能是迭代的。
现在,我们准备将提取的特征导出到分类学习器,以训练机器学习模型。应用程序将导入所有功能以及故障代码。我们可以可视化不同的特征,并了解它们如何对故障进行分类。不同的故障代码以不同的颜色显示。现在,我们将训练所有可用的分类器类型,它们显示在左面板上。我们用这种分类器获得了最高的准确率。为了评估这个经过训练的模型的性能,我们还可以查看显示准确和不准确预测的混淆矩阵。我们发现,经过训练的模型以高精度估计了大多数故障类型。但也有一些情况下,它的估计很差。原因之一可能是这些故障类型的正常和故障状态数据非常相似,因此难以相互区分。但这也可能是由于我们选择了一组功能。正如我们前面提到的,算法的这一部分是迭代的。如果我们对经过训练的模型的性能不满意,我们需要返回并选择一组不同的特性,并评估这个新模型的性能。
在本视频中,我们了解了如何使用诊断功能设计器提取功能,以开发预测性维护算法。我们还讨论了如何使用分类学习器训练机器学习模型。请不要忘记查看本系列之前的视频和产品页面,以了解有关如何使用分类学习器的更多信息可以使用MATLAB和Simulink开发预测性维护算法。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。