0
$\begingroup$

Origin

In The Clever Way to Count Tanks - Numberphile, the Dr James Grime presents how the allies mathematically estimated the number of tanks produced by Germany during WWII.
The video is very interesting, and I'd recommend seeing it.

First intuition

There exist N objects, numbered from 1 to N. The goal is to estimate the total number of objects by sampling a few objects and using their "serial number". This sampling is made without replacement.

Long story short, the estimation formula looks as follows: $E_T = \textrm{max observation }+ \textrm{average gap}$.
Here we use $ \textrm{max observation }$, which is the largest serial number in the sample and $ \textrm{average gap }$, which is the average gap between serial numbers in the sample (including the gap to the minimum possible element, 1).

At the same time, I was wondering how we could tie this to the bell curve. Though not exactly the same situation, it reminded me of the sum of two dice, which produces such a curve.
I am aware that the absence of replacement will impact the results, but I wanted to test it nonetheless.
My estimation formula is then: $ E_P = \textrm{average observation} \times 2 $.
Here I use $ \textrm{average observation} $, which is the average serial number in the sample.
The goal now is to compare them and find which is the best (and by how much).

First tests

In the video, 2 tests of the first estimation formula are made. The samples are: $ S_1 = [1, 15, 16, 23, 30] $ and $ S_2 = [3, 10, 15, 18, 24] $.
With the first estimation formula, we get: $ E_T(S_1) = 30 + (0 + 13 + 0 + 6 + 6) / 5 = 30 + 5 = 35 $ and $ E_T(S_2) = 24 + (1 + 6 + 4 + 2 + 5) / 5 = 24 + 18 / 5 \approx 28 $
With the second estimation formula, we get: $ E_P(S_1) = (1 + 15 + 16 + 23 + 30) / 5 \times 2 = 85 / 5 \times 2 = 17 \times 2 = 34 $ and $ E_P(S_2) = (3 + 10 + 15 + 18 + 24) / 5 \times 2 = 70 / 5 \times 2 = 14\times 2 = 28.$
This seems promising as an estimation formula.

More tests

Though this seemed almost better on the 2 previous examples as an estimation formula, this is not nearly enough testing (and I am expecting to not outperform a team of mathematicians).
I used Python to test on a large array of N and #S for both the estimation formulae (N ranged from $ 30 $ to $ 100'000 $ while #S ranged from $ 0.1 \times N $ to $ N $). For each set of parameter, I made 1'000 different samples and calculated the average error (in % of $ N $).
As expected, the former estimation formula outperformed mine in almost every situation. You can find my code here and play with the parameters yourself, but here are some views of the results (in red is the estimation formula from the video, in blue is mine).

N=30 to N=100k N=30 to N=100k, 2 axis: error(#S) N=30 to N=100k, 2 axis: N(error) N=30 to N=100k, 2 axis: N(#S)

In each of these, we see that the first formula is better (almost) everywhere.

How can we prove this

How could we have ranked the estimation formulae in terms of precision without actually doing the tests (/ for the general case). Can we prove than one is better than the other? If so, how?

$\endgroup$
4
  • $\begingroup$ This has been cross posted from MathOverflow as some thought it might fit here better. If that is the case, I will delete the former post. $\endgroup$ Commented Aug 9 at 10:04
  • 3
    $\begingroup$ This is the "German Tank Problem". If you write $X_{(n)}$ as the maximum observation from $n$ observations, then this is a sufficient statistic, and the minimum-variance unbiased estimator is $\left(1+\frac1n\right)X_{(n)}-1$. When $n=1$ (a single observation) then $1+\frac1n=2$ but for larger $n$ then multiplying by $2$ is likely to be too much. $\endgroup$
    – Henry
    Commented Aug 9 at 10:44
  • 1
    $\begingroup$ It certainly fits better here! $\endgroup$ Commented Aug 14 at 1:35
  • 1
    $\begingroup$ Other posts here about the german tank problem $\endgroup$ Commented Aug 14 at 1:37

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.