预测性维护中的数据分析示例(一)

内容

方法一:霍特林t方法

在众多的统计异常检测技术中,霍特林t平方法作为一种多元统计分析技术,是最具代表性的方法之一。这种方法有一个基本假设,即数据遵循单峰分布。基于此假设,该方法计算多维空间中每个数据的马氏距离的平方,并将数据集中x %的异常值判定为异常值。

加载预处理数据

该数据由运行生成Demo0_PreProcessing.m

负载(“Preprocessed_FD001.mat”);

霍特林的丁字尺测试

为了可视化结果,我想将Hotelling的T-square方法应用到前两个PCA组件。

首先,将标记为“long”的一组数据点假定为正常条件。由于解释变量的总数(= 2)比数据样本(= 20631)小得多,所以马氏距离的分布可以用卡方分布(自由度= 2)来近似。

接下来,根据卡方分布计算检测5%、1%和0.1%异常值的阈值。

最后,我想用这些阈值创建前两个组件的图。

%计算马氏距离阈值,检测5%、1%和% 0.1%离群值idx = (dataTrainZ。标签= =“长”);Th = [0.001, 0.01, 0.05];C =细胞(3,1);%计算每个数据的马氏距离d = 0.1;[x1Grid, x2Grid] = meshgrid(-8:d:8, -8:d:8);方式=泰姬陵([x1Grid (:) x2Grid(:)),得分(idx 1:2));网格=重塑(网格,大小(x1Grid,1),大小(x2Grid,2));计算阈值以检测在上的5%,1%和0.1%的异常值前两组分%Lev = chi2inv((1-th(Kk)),2);C {kk} = contourc ((8: d: 8), (8: d: 8),方式,[lev列弗]);结束设置颜色为5%,1%和0.1%的离群区域Col5per = [0.75 0.95 1];Col1per = [0.75 1 0.75];Col01per = [1 1 0.75];colAnomaly = [1 0.85 0.85];%绘制结果图plotContourmatrix (C {1}, col01per);plotContourmatrix (C {2}, col1per);plotContourmatrix (C {3}, col5per);持有;s1 = gscatter(分数(:1),...分数(:,2),...dataTrainZ.Label);idx = dataTrainZ。时间= = 0;s2 =情节(分数(idx, 1),...分数(idx, 2),“记者”“MarkerSize”10“MarkerFaceColor”' w ');传奇([s1;s2) {“紧急”“短”“媒介”“长”故障发生的},...“颜色”, [1 1 1],...“位置”“西北”...“字形大小”12);甘氨胆酸ax =;斧子。颜色= colAnomaly;斧子。盒=“上”;斧子。层=“高级”;包含(第一主成分的“字形大小”12);ylabel (第二主成分的“字形大小”12);标题({“训练数据和计算离群点检测阈值”...“蓝色:正常,绿色:5%离群值,黄色:1%离群值,红色:0.1%离群值”},“字形大小”, 12)

应用到测试集

在此过程中,将这些阈值(可以检测出5%、1%和0.1%的异常值)应用于测试数据集。通过创建带有测试集和这些阈值的前两个组件的图来显示结果。在这个图中,每个引擎的条件通过改变每个数据点的颜色来显示。在实际情况中,只有每个数据点的位置和离群点检测的阈值是可用的。

如图所示,Hotelling’s T-square方法计算出的异常值检测阈值对于检测异常和预测机器正常运行时的故障非常有帮助。在本例中,可以使用1%离群值检测阈值检测测试集中的所有“紧急”条件。

将测试集标准化dataTestZ =人数(;dataTestZ {: 3: end-1} =(人数({:3:end-1} -μ)。/σ;%将传感器数据转换为PCA组件分数= dataTestZ {: 3: end-1} * wcoeff;%绘制结果图plotContourmatrix (C {1}, col01per);plotContourmatrix (C {2}, col1per);plotContourmatrix (C {3}, col5per);持有;s1 = gscatter(分数(:1),...分数(:,2),...dataTestZ.Label);传奇(s1, {s1。DisplayName},...“颜色”, [1 1 1],...“位置”“西北”...“字形大小”12);甘氨胆酸ax =;斧子。颜色= colAnomaly;斧子。盒=“上”;斧子。层=“高级”;包含(第一主成分的“字形大小”12);ylabel (第二主成分的“字形大小”12);标题({“对测试数据应用离群值检测阈值”...“蓝色:正常,绿色:5%离群值,黄色:1%离群值,红色:0.1%离群值”},“字形大小”, 12)