计算大数字列表的加权几何平均数

时间:2017-04-18 20:44:56

标签: python excel weighted-average geometric-mean large-data

我正在尝试计算一个大数字列表的加权几何平均值(约115k数字)。

每个号码的权重值均为1,2或3。

似乎有很多方法可以计算几何平均值(非加权),我之前遇到的一件事就是方法:

  1. EXP(AVERAGE(LN(<值列表>)))
  2. 对于大型列表,

    是一种比其中任何一种更好的方法:

    1. PRODUCT(nTH_ROOT()),其中n是列表中值的数量

    2. nTH_ROOT(PRODUCT()),其中n是列表中值的数量

    3. 我可以找到的用于计算加权几何平均值的参考文献都使用了最后两种方法。在我有限的经验中,这些方法在尝试在很长的列表中运行时几乎总是会导致错误。对于115k的列表,方法编号2计算不大的中间数。 Excel无法获取数字的第115000个根,我不确定是否可以使用python或R这样的东西。

      无论如何,我的目标是基于上面的方法1提出加权几何平均公式。

      我建议的解决方案如下。一个注意事项:我主要是在Excel中执行此操作,尽管我先在python中计算列表中每个值的日志。我的问题不是关于excel中的编程,而是关于加权几何平均数背后的数学。我提出了excel,因为我提出的解决方案基于使用excel数据透视表输出来根据权重对列表值进行分组。我的最终输出需要优秀,因此首选的是优秀的解决方案。它在excel中测试得很好,但我想要求确认。

      加权几何平均值=

      EXP(
       AVERAGE ( LN ( <list values where weight is 1> ) )  *  ( 1 / 6  ) 
       + AVERAGE ( LN ( <list values where weight is 2> ) )  *  ( 2 / 6 )
       + AVERAGE ( LN ( <list values where weight is 3> ) )  *  ( 3 / 6 ) 
      )
      

      非常感谢!

      一些几乎有用的链接:

      https://www.quora.com/How-do-I-calculate-a-weighted-geometric-mean

      http://www.dummies.com/education/math/business-statistics/how-to-find-the-weighted-geometric-mean-of-a-data-set/

1 个答案:

答案 0 :(得分:1)

可以使用以下公式计算weighted average geometric mean

enter image description here

所以在Excel中,它将是

=EXP(SUMPRODUCT(weights, LN(x)) / SUM(weights))