日期:2014-05-18  浏览次数:20761 次

C#算法:一组数据中,如何挑出波动不太一致的数据

1:例如数据 35897,35885,35884,35883,35883,35882,35882,35881,35000,35880,35878,36000


有什么好的算法能提取出 35000 和 36000 



------解决方案--------------------
有规则吗,什么条件才是波动不太一致呢
------解决方案--------------------
前后2个数比较下,然后看是否大于你设定的波动数
------解决方案--------------------
笨办法: 算出平均数 比较出相差超过XX的数
------解决方案--------------------
平均数是不行的,衡量波动的统计量是方差。得定义一个规则,方差超过多少算波动不一致。然后可以考虑一个个地移除,计算方差的偏移量,找出使方差偏移最大的那个移除,依次重复,直到方差在允许值之内。
------解决方案--------------------
foreach数组,然后里面放个判断,值在X-Y范围正常,否则移除这个元素,当然,如果你想移除的话~~