我如何计算一组数据的平均值,同时平滑任何超出“规范”的点。我已经有一段时间没有做任何真正的数学了,但我确定我是在某个地方学到的……
假设我有一个商品12天的销售数据: 2,2,2,50,10,15,9,6,2,0,2,1
我想计算每天的平均销售额,而不是让第四天(50天)搞砸太多的平均销售额。对数,百分位数,我想是这样的。
发布于 2009-08-13 18:49:51
我听起来你在找一个moving average。
发布于 2009-08-13 18:56:32
您还可以通过在标准偏差的某个倍数处设置阈值来进行过滤。这将过滤出比预期的平均值(平均值)远得多的结果。
标准差是简单的sqrt(sum(your_values - average_value) / number_of_values)。
编辑:您还可以查看按其与平均值的偏差来加权该值。因此,非常大的值可以加权为1/exp(偏差),因此离平均值越远,贡献就越小。
发布于 2009-08-13 18:58:44
你会想要使用类似IQR (interquartile range)的东西。基本上,您将数据分为四个分位数,然后从第一个和第三个四分位数计算中位数。然后,您可以获得数据的中心趋势。
https://stackoverflow.com/questions/1273856
复制相似问题