关于数据异常值检测的问题,想法用机器学习做,请教一下各位!

2019-09-12 10:59:40 +08:00
 yellowmarlboro
数据很简单,只检测某一个字段,这个字段基本随时间递增,或者不变,总之不会减小。
这个字段会出现异常值 比如 [1,2,3,16,17,18] 16 就是异常值,也可能会有减小的异常值。
但是数据种类有很多。每个种类的数据的这个字段增长曲线是不一样的
领导希望用机器学习,我还是机器学习新手,只了解 k 近邻,普通线性回归这些算法,
另外,当然是无标签的数据,不过能找到一些没有异常值的数据拿来训练。
有没有什么思路,算法看得我头蒙(太蠢。
哦 开发语言 python
4308 次点击
所在节点    Python
34 条回复
kccbc
2019-09-12 11:28:51 +08:00
因为不知道数据性质、用途,是有限数量还是无限数量,数据异常值出现频率,除了机器学习,要不考虑下简单的低通滤波处理?
swulling
2019-09-12 11:36:39 +08:00
> 数据很简单,只检测某一个字段,这个字段基本随时间递增,或者不变,总之不会减小。
> 这个字段会出现异常值 比如 [1,2,3,16,17,18] 16 就是异常值,也可能会有减小的异常值。

这个序列里,为什么 16 是异常值?如果 16 去掉,那么 17 是不是异常值? 18 是不是异常值?
先不着急去搞异常值的算法,你先把什么是异常值给定义出来。
swulling
2019-09-12 11:37:58 +08:00
另外为啥不能做数据标注?如果人都分辨不出来,你让计算机去分辨,也是缘木求鱼
sadfQED2
2019-09-12 11:40:59 +08:00
我目测你领导根本没搞懂机器学习是什么东西?另外,我目测随便写个判断语句都比机器学习好一万倍。
HankAviator
2019-09-12 11:42:52 +08:00
机器学习是从数据中提取规则,已经知道规则的情况下用机器学习有些舍近求远。
GTX765
2019-09-12 11:48:02 +08:00
首先你说数据种类很多 是不是可以理解为整数和浮点数呢(一般也不涉及复数吧) 那你类型转换一下统一为浮点,然后设定起始值和步长 用个生成器 遍历一下好了 识别了异常值或者异常的步长就设为新常态. ps 要个毛机器学习算法 你数据量够么就机器学习 人工智能,领导屁都不懂就会放 big words
lishunan246
2019-09-12 11:55:32 +08:00
```
import numpy as np

threshold = 1
a = np.array([1,2,3,16,17,18])

print(a[np.where(np.diff(a) > threshold)[0] + 1])
```
yellowmarlboro
2019-09-12 13:13:25 +08:00
@kccbc 简单来说数据性质是 逐步增长的用量, 用途是做分析使用,出现频率大概 1/10000,我就是在想用机器学习做这个好像没必要,但是还不知道别的通用方法大概有什么,没有做过这方面的小白。。
yellowmarlboro
2019-09-12 13:35:14 +08:00
@swulling 对! 16,17,18 也是异常值,后续会恢复正常,比如[1,2,3,16,17,18,7,8,9],也有种情况,比如[1,2,3,4,10,11,12,13,14], 这里边也都是正常值,出现 10 也可能是正常原因,我就是觉得没要用机器学习,这些异常数据更像噪音,产生的原因也是实际情况中数据传输的干扰。
yellowmarlboro
2019-09-12 13:36:32 +08:00
@sadfQED2 哈哈哈 目测的对,他们压根不懂机器学习,我也是希望写判断直接滤掉。是时候去怼领导了
wqzjk393
2019-09-12 13:56:55 +08:00
你这是数据预处理部分。连标准的机器学习模型都要单独写预处理,更何况你这就压根不是为了写模型的。。相对于机器学习算法,你应该去研究的是数据探索、数据预处理和特征工程。
to
2019-09-12 14:02:12 +08:00
cusum arima hw 等基于时间序列的都可以。pip install tad 解决烦恼
HENQIGUAI
2019-09-12 14:07:52 +08:00
LSTM
yellowmarlboro
2019-09-12 14:23:56 +08:00
@HankAviator 我也懵
yellowmarlboro
2019-09-12 14:25:56 +08:00
@lishunan246 差值也不一定
yellowmarlboro
2019-09-12 14:27:06 +08:00
@GTX765 got it ! 说实话 看到数据异常规律之后,妈呀就这还要机器学习啊
yellowmarlboro
2019-09-12 14:29:14 +08:00
@wqzjk393 是的 我也在想去看数据处理方面的东西,或者直接写判断.. 确实我的问题不复杂或者简单.
yellowmarlboro
2019-09-12 14:33:48 +08:00
@to thx
yellowmarlboro
2019-09-12 14:34:30 +08:00
@HENQIGUAI emmm.. THX too.
pelloz
2019-09-12 14:37:52 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/600322

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX