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

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

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

似乎有很多方法可以计算几何平均值(非加权),而我之前遇到过的一个问题是:

  1. EXP(AVERAGE(LN(<值列表>)))

对于大型列表来说是一个好得多的方法:

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

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

我可以find的计算加权几何平均值的参考文献都使用了最后两种方法。 在我有限的经验中,这些方法几乎总是在试图在很长的列表中运行时导致错误。 对于115k的列表,方法2计算一个不规则的中间数字。 Excel是不能够取得数字的115000根,我不知道是否像Python或R的东西可以做到这一点。

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

我build议的解决scheme如下。 一个注意:我主要是在Excel中这样做,尽pipe我先计算了Python中列表中每个值的日志。 我的问题不是关于excel的编程,更多的是关于加权几何平均数的后面的math。 我提出的Excel,因为我build议的解决scheme下面是基于使用Excel数据透视表输出根据权重分组列表值。 我最终的输出需要在excel中,所以excel友好的解决scheme是首选。 它的testing出色,但我想要求确认。

加权几何平均数=

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

How to Find the Weighted Geometric Mean of a Data Set

加权平均几何平均值可以使用以下公式计算:

在这里输入图像说明

所以在Excel中,这将是

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