Equalling the geometric average to the arithmetic

66 Views Asked by At

I have a range of numbers numbers $n_i$, each with a different weight $w_i$ that sum up to 1. To keep things simple, let's take the case where we have three numbers with the following weights:

    n_i                       w_i
    ------------------------------
    100                       0.5
    30                        0.2
    20                        0.3

Their geometric average is $(100^{0.5})*(30^{0.2})*(20^{0.3})=48.4991$. The arithmetic average of the numbers is $100*0.5 + 30*0.2 + 20*0.3=62$, so it is larger than the geometric average.

How can I find a new set of normalized weights $w_i'$ that sum to 1 that can be used to find the arithmetic average of the numbers such that it is equal to the geometric average? In other words, I would like to find a new set $w_i'$ such that

$100*w_1' + 30*w_2' + 20*w_3' = (100^{0.5})*(30^{0.2})*(20^{0.3})$ given that $w_1'+w_2'+w_3'=1$.

1

There are 1 best solutions below

4
On

Yes, it's possible. You can see that by observing that the smallest $n$, $20$, is less than the target (the geometric mean) and the largest $n$, $100$, is greater, so you can find a weighted average of just these two that does the job.

The algebra is easy: just solve $$ 20t + 100(1-t) = 48.4991 $$ for $t$; use $0$ for the weight of $30$.

This argument works for any input data.

There will in fact be lots of solutions when there are more than two numbers involved. The complete solution isn't that hard to write down. Since you have two linear equations for the three unknown weights (they sum to $1$ and they must produce the right weighted average) the solutions will form a family with one free parameter. You probably know enough algebra to work that out.