异常检测 - 相关变量

时间:2017-03-28 10:46:36

标签: r pca anomaly-detection

我正在研究R中的'异常'检测任务。我的数据集有大约30,000条记录,其中大约200条是异常的。它有大约30列&都是定量的。一些变量高度相关(~0.9)。异常我的意思是某些记录中某些记录具有异常(高/低)值,而某些记录具有不符合预期的相关变量。下面的例子将给出一些想法。

假设车速&心率高度正相关。通常车速在40到40之间变化。 60岁时心率在55-70之间。

time_s  steering    vehicle.speed running.distance heart_rate
0       -0.011734953    40         0.251867414      58
0.01    -0.011734953    50         0.251936555      61
0.02    -0.011734953    60         0.252005577      62
0.03    -0.011734953    60         0.252074778      90
0.04    -0.011734953    40         0.252074778      65

这里我们有两种类型的异常。第4条记录对heart_rate具有非常高的价值,而第5条记录似乎没有问题,如果我们查看单独的列。但正如我们可以看到heart_rate随着速度的增加而增加,我们预计第五记录的心率会降低,而我们的值会更高。

我可以使用箱形图等识别柱级异常,但发现很难识别第二种类型。在某处,我读到了基于PCA的异常检测,但我无法在R中找到它的实现。

在这种情况下,请你帮我解决R中基于PCA的异常检测问题。我的谷歌搜索主要是扔时间序列相关的东西,这不是我要找的东西。

注意:在Microsoft Azure机器学习中有一个类似的实现 - “基于PCA的信用风险异常检测”可以完成这项工作,但我不知道它背后的逻辑和在R中复制相同的内容。

0 个答案:

没有答案