如何计算0值的加权平均值

时间:2016-08-30 08:41:40

标签: weighted-average

我在excel中执行加权平均逻辑时遇到问题 我正在寻找4个不同可交付成果的领域:总计,完成,待定和重量。

特定交付物的加权平均值计算如下:(完整/总计)*重量例如((5/10)* 0.20)= 10%

对于每个可交付成果,我计算了%,然后将所有%加在一起。

可交割1 - 10 = 10%+ 20%+ 5%+ .... = 65%

我的问题是:
如果对于特定的可交付成果,可用字段是“不适用”'或者' 0'然后该可交付成果的加权平均值为0%。在那里,总数将在较低的一侧。那么,有没有更好的方式来表示这个?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

好的,如果我正确地理解你,你会说以下内容:

(complete/total) * weight = weighted_average

这是许多加权平均值之一,将加总以提供total_deliverable_value。

您有一种情况,由于数据问题,此算法输出0%的weighted_average。这会错误地降低total_deliverable_value。

选项:

  1. 为缺失的数据添加假定值(清楚地将它们标记为假设 而非记录的事实)
  2. 具有丢失数据的标准权重。例如,所有人都缺席 数据获得20%
  3. 来源缺少数据
  4. 更改计算total_deliverable_value的方式,即
  5. 而不是:

    total_deliverable_value = sum(weighted_average::weighted_average)
    

    使用类似的东西:

    total_deliverable_value = sum(weighted_average::weighted_average) / count_of_data_values
    

    其中count_of_data_values是您拥有的非缺失数据值的数量。

    根据评论更新

    您必须更改所有计算的公式。因此,请选择一个完美的' 100%的情景,例如5x weighted_averages,其中weighted_average = 0.2(20%)

    您的原始计算会给出:

    a) 0.2+0.2+0.2+0.2+0.2 = 1 (100%) 
    b) 0.2+NA+0.2+0.2+0.2 = 0.8 (80%)
    

    这表明a不如b好(不要争论丢失数据是否意味着是真的),但是你希望表明实际上它们应该被认为是几乎相同的。

    新计算将给出:

    a) 1/5 => 0.2 (20%) 
    b) 0.8/4 => 0.2 (20%)
    

    因此两者都是相同的total_deliverable_value。如果您想将这些缩放至100%。这样做:

    total_deliverable_value = (sum(weighted_average::weighted_average) / count_of_data_values) * count_of_expect_values
    

    现在我们看起来像这样:

    a) ((0.2+0.2+0.2+0.2+0.2)/5)*5 = 1 (100%) 
    b) ((0.2+NA+0.2+0.2+0.2)/4)*5 = 1 (100%)
    

    更新:处理不一致的max weighted_averages

    以上所有都有效,因为假设所有单独的weighted_averages具有一致的最大值。例如5个值的最大值为0.2:

    [0.2, 0.1, 0.18, 0.08, 0.05]  ==>  61%
    

    因此,我们可以承担丢失一些数据点并仍然进行计算以使total_deliverable_value得以进行比较:

    [0.2, 0.1, NA, NA, 0.05]   ==>   58%
    

    但是,如果最大值不一致,例如,第1个weight_average max为0.5,我们的结果就会中断:

    [0.4, 0.09, NA, NA, 0.15]   ==>  106%
    

    100%应该超出最大total_deliverable_value。有一个简单的解决方案。使用公式中的weighted_average_max值。我们不再缺少40%的价值,我们缺少20%:

    [0.4 (max 0.5), 0.09 (max 0.1), NA (max 0.1), NA (max 0.1), 0.15 (max 0.2)] ==> 80% 
    

    与所有数据点类似的东西进行比较:

    [0.4, 0.09, 0.05, 0.03, 0.15] ==> 72%
    

    这个新公式:

    total_deliverable_value = (sum(weighted_average::weighted_average) / portion_of_max_values_existing) * total_of_max_values