求一个算法,如何去除突变值
有一组数据,没有规律,但是会在一个范围内波动,偶尔存在突变值,如何将这些突变值剔除?
数据大致如下:
0.157
0.105
0.151
0.106
0.16
0.1
0.3 跳变
0.32跳变
0.26 跳变
0.102
0.15
0.106
0.153
-1
-2.6
-0.9
-2.4
-1.5
-5 跳变
-5.6 跳变
-4.8 跳变
-2.1
-1
-2.3
[解决办法]
差分,取绝对值,然后找出较大的值
[解决办法]
关于 数据挖掘 的书中都有关于数据平滑处理的算法,lz可以参考
[解决办法]
顶楼上,数据平滑处理
[解决办法]
1.求第一1,2两位数之和的平均值
2.从第三位数开始,比较这个数和平均值的比值
3.如果比值在合理范围,通过,半调整平均值(1,2,3的平均值)
4.重复3
[解决办法]
建议用k-means
分两类,除去数据量小的一类
(貌似按这种小数据值的跳跃分一次就够了)
[解决办法]
小波变换,剔除小尺度项即可。
[解决办法]
既然“会在一个范围内波动”你检测某值是否在范围之内就可以了,从你列的数据看,范围就是[-3, 0.2]。
[解决办法]
能检测突变就能消除。