问题标签 [anomaly-detection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - 使用机器学习创建异常检测
弹性堆栈的新x-pack ML给我留下了深刻的印象。似乎他们的技术随着时间的推移学习数据模式,并且可以预测多个域中的异常。
我想知道可以使用什么方法和网络拓扑来创建类似的功能。假设由于 x-pack 适用于时间序列数据,RNN 将是一个好的开始,这是否公平?
对您的意见和参考感兴趣。
machine-learning - 无标签机器学习异常检测
我在一段时间内跟踪多个信号并将它们与时间戳相关联,如下所示:
其中 t0 是戳戳,1 是信号 1 的值,10 是信号 2 的值,依此类推。
在特定时间段内捕获的数据应视为正常情况。现在应该从正常情况中检测到重要的推导。通过显着推导,我并不是说一个信号值只是更改为在跟踪阶段未看到的值,而是指许多尚未相互关联的值更改。我不想硬编码规则,因为将来可能会添加或删除更多信号,并且可能会实现具有其他信号值的其他“modi”。
这可以通过某种机器学习算法来实现吗?如果发生一个小的推导,我希望算法首先将其视为对训练集的微小更改,如果它在未来多次发生,则应该“学习”。主要目标是检测更大的变化/异常。
我希望我能足够详细地解释我的问题。提前致谢。
python - 隔离森林
我目前正在使用 Python 中的 IsolationForest 方法识别数据集中的异常值,但不完全理解 sklearn 上的示例:
具体来说,图表实际上向我们展示了什么?观察结果已经被定义为正常/异常值——所以我假设等高线图的阴影表明该观察结果是否确实是异常值(例如,具有较高异常分数的观察值位于较暗的阴影区域?)。
最后,如何实际使用以下代码部分(特别是 y_pred 函数)?
我猜它只是为了完整性而提供的,以防有人想要打印输出?
在此先感谢您的帮助!
scikit-learn - sklearn:使用隔离森林进行异常检测
我有一个不包含异常值的训练数据集:
而且,我还有另一组测试向量 ( test_vectors
),它们都是异常值。
这是我进行异常值检测的尝试:
因此,这里的异常值百分比约为 10%,这是 sklearn 中用于隔离森林的默认污染参数。请注意,训练集中没有任何异常值。
测试代码和结果:
所以,它只检测到 100 个异常中的 17 个。有人可以告诉我如何提高性能。我完全不确定为什么该算法需要用户指定污染参数。我很清楚它被用作阈值,但我如何事先知道污染水平。谢谢!
python - 使用python进行高维异常值检测
有人可以请我指出一个强大的 python 实现算法,如 Robust-PCA 或基于角度的异常值检测 (ABOD) 吗?我尝试了几个 Robust-PCA 的 python 实现,但结果证明它们非常占用内存,程序崩溃了。我的数据集是 60,000 X 900 浮点数。R 有 ABOD 的实现,但我想坚持使用 python。
pandas - 什么时候适合在拟合之前将特征转换为对数值
我计划使用一类 SVM实现异常检测。我拥有的数据有 25 个特征,其中一些列具有独特的变化,例如趋势和季节性。
我试图将趋势和季节性特征转换为对数值。我发现分布已从偏斜变为正常。
不过,我不确定转换是否可行。另外,我不确定它在装配过程中可能会造成什么后果。
如果有人能强调将特征转换为对数值和/或任何其他可以减轻时间序列变化影响的技术的最佳情况,将不胜感激。
python - TensorFlow 异常检测
我被要求使用 tensorflow 和 python 创建一个机器算法,该算法可以通过创建一系列“正常”值来检测异常。我有两个参数,一大堆大约 1.5 的浮点数和时间戳。从基本意义上讲,我还没有看到使用 tensorflow 的类似线程,并且由于我是技术新手,所以我希望制造一台更基本的机器。但是,我希望它不受监督,这意味着我没有指定异常是什么,而是大量过去的数据。谢谢,我正在运行 python 3.5 和 tensorflow 1.2.1。
python - Scikit-Learn 的 IsolationForest 决策函数得分范围是多少?
Scikit-Learn 的IsolationForest类有一个方法decision_function
可以返回输入样本的异常分数。但是,文档并没有说明这些分数的可能范围是多少,只是说“[分数]越低,越不正常。”
编辑:阅读 jmunsch 的评论后,我再次查看了源代码,这是我更新后的猜测:如果分数公式中的指数始终为负,那么分数将始终介于 0 和 1 之间,这意味着返回的范围是 [- 0.5, 0.5] 因为0.5 - scores
由方法返回。但我不确定指数是否总是负数。
apache-spark - Spark - 评估问题
我正在尝试评估我创建的模型。该模型在输出中为我提供了一个 id 列表及其对应的错误构造(一个分数),并且 id 根据这个分数进行排序。假设分数越高,id 越可疑。
例子:
另外,我还有另一个列表,其中包含真正的可疑 ID。
我的目标是能够说我的可疑列表中的 x% 的 id 在分数列表中位于前 y%。
请问有什么想法吗?和火花的实施将是你的慷慨!
time-series - 在比较时间序列时,如何实时弥补时间错位?
我正在尝试自动从时间序列中提取特征并学习模式。然而,某些算法期望训练样本在时间上对齐。使用 DTW(动态时间扭曲)- 算法或其子类型之一,可以通过在时间维度上扭曲时间序列来对齐时间序列,以适应平均序列。各个时间序列将具有任意长度(50 - 10000 个数据点),而无法预见沿时间轴的最大偏移(这对处理时间有负面影响)。
关于计算复杂性(DTW 的 O(N^2)),我可以使用哪些替代方案或更改来使 alignmet 实时可行?
任何帮助,将不胜感激。谢谢!