如何从平均数中删除值

时间:2017-06-12 14:32:36

标签: math average

我的要求是,每次我需要计算所提供成本的平均值。目前我正在使用以下公式来计算它:

平均成本=(previous_average_cost + cost_value)/ 2

在添加5到6个cost_value之后,我需要从平均成本中删除其中一个cost_value。目前我在考虑如何从平均成本中删除增加的cost_value。请分享您的想法。

例如:

Step:1
previous_average_cost = 0
cost_value = 10
average cost = (0+10)/2 = 5

Step:2 
previous_average_cost = 5
cost_value = 15
average cost = (5+15)/2 = 10

Step:3 
previous_average_cost = 10
cost_value = 20
average cost = (10+20)/2 = 15

最后现在平均成本是15:我需要从当前的平均成本15中删除之前添加的cost_value = 15.请分享您的想法

1 个答案:

答案 0 :(得分:1)

这是不正确的:

Average cost = (previous_average_cost + cost_value)/2

让我们回顾一下平均值的定义:

x(ave) = sum(x)/N

其中N =点数。

如果再添加一个点:

x(new_ave) = (N*x(ave) + y)/(N+1)

您必须挂起当前的平均值和能够更新的点数。

如果你删除了你添加的一个点:

x(new_ave) = (N*x(ave) - y)/(N-1)