从系列中:预见性维护
Melda Ulusoy, MathWorks
了解如何使用诊断特征设计器提取时域和光谱特征,以开发预测性维护算法。
您可以从数据中提取数百个特征。你如何知道哪些特征对训练机器学习模型有用?尽管这些模型可以处理高维的特征集,但这些特征必须是独特的,这样模型才能做出准确的预测,并有效地分离不同类型的组。在本视频中,我们将讨论如何使用诊断特征设计器为三缸泵提取有用的特征,并使用分类学习器训练机器学习模型进行故障分类。
在本视频中,我们将为三缸泵设计一种预测性维护算法。我们将演示使用诊断特征设计器进行特征提取,并使用分类学习器训练机器学习模型。
让我们使用在第2部分视频中介绍过的三缸泵的例子。我们要确保水泵安全、正确地运行。但我们知道,随着时间的推移,它可能会出现这些故障。所以我们想要设计一个预测性维护算法来及时发现故障,并识别故障类型,因为这将帮助我们找出哪些部件需要修理或更换,并相应地安排维护。
我们从哪里开始呢?我们首先从泵中收集数据并对其进行预处理以清除噪声。在算法的下一步中,我们从训练机器学习模型的数据中提取特征。这些模型可以帮助我们对不同的故障类型进行分类。这就是事情变得具有挑战性的地方。为什么?因为我们可以从数据中提取出数百个特征。那么我们如何知道该选择哪些功能呢?我们所知道的是,机器学习模型在默认情况下并不智能,如果我们不能用有用的和独特的特征来训练它们,它们就不能准确地预测不同的故障类型。那么,我们如何判断一个特性是好是坏呢? In this video, we’ll try to answer these questions and give you insights into feature extraction.
让我们从工作流的第一步开始。我们收集了泵在不同故障条件下的流量和压力测量数据。它们存储在集成中。在每一行中,有1.2秒长的流量和压力测量,以及对应不同故障类型的故障代码。这些数据已经被预处理过了。因此,我们将按照以下步骤继续使用Diagnostic feature Designer进行特征提取。我们首先将数据导入到应用程序中。一旦导入,我们就可以将信号可视化。这是所有流量信号的测量结果。在这些图中,不同的颜色对应不同的故障类型。正如您在这里看到的,不同类型的故障之间没有明显的区别。 That’s why we need to extract features which will help us set different fault types apart. This app lets us compute commonly used time- and frequency-domain features. We select the flow data and compute statistical time-domain features. These are features such as the mean, standard deviation, skewness, and kurtosis. Once the app computes the feature values, they are displayed on the feature table. The app also plots histograms for each feature. Before we discuss how we can interpret these histograms, we will extract some additional features by analyzing our data in frequency-domain.
为什么我们需要更多的特性?我们知道机器学习模型可以处理大量的特征集,当使用许多特征进行训练时,它们可以做出更好的预测。然而,只有当我们有有用的和独特的特征,可以唯一地区分不同的故障类型时,这才是正确的。为了更好地理解这一点,让我们看看我的同事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.
当我们点击“排名特征”时,应用程序使用单向方差分析来计算所有特征的排名得分。ANOVA测试的结果显示在右侧,而左侧的柱状图显示了不同特征的标准化分数。对于训练机器学习模型,我们将选择具有高ANOVA分数的特征,而忽略那些分数小得多的特征,因为这些特征对训练模型没有帮助。当您提取特征来训练模型时,您会发现自己在尝试不同的特征集,以查看哪一组特征集最适合分类故障类型。因此,在设计算法时,这些步骤很可能是迭代的。
现在,我们准备将提取的特征导出到分类学习器,以训练机器学习模型。该应用程序导入所有功能以及故障代码。我们可以看到不同的特征之间的相互关系,并了解它们如何对错误进行分类。不同的故障代码用不同的颜色表示。现在,我们将训练所有可用的分类器类型,它们显示在左侧面板上。我们用这个分类器得到了最高的准确率。为了评估这个训练过的模型的性能,我们还可以看看混淆矩阵,它向我们展示了准确和不准确的预测。我们可以看到,训练后的模型对大多数故障类型的估计具有较高的精度。但在某些情况下,它的估计很差。原因之一可能是这些故障类型的正常和故障状态的数据非常相似,因此很难区分。 But it can be also due to the set of features we selected. As we mentioned before, this part of the algorithm is iterative. If we’re not satisfied with the performance of the trained model, we need to go back and select a different set of features and evaluate the performance of this new model.
在本视频中,我们已经了解了如何使用诊断特征设计器提取特征,以开发预测性维护算法。我们还讨论了如何使用分类学习器训练机器学习模型。不要忘记查看本系列之前的视频,以及产品页面,了解更多关于如何使用MATLAB和Simulink开发预测性维护算法的信息。金宝app
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。