제2차 세계대전 당시 연합군은 독일이 탱크를 얼마나 생산하는지 알아야 했습니다. 공장 생산 기록을 직접 볼 수 없었기 때문에 첩보 보고, 포로 진술, 원자재 사용량과 공장 능력 등을 종합해 생산량을 추정했습니다. 그런데 노획하거나 파괴된 장비에 남아 있던 일련번호와 부품 표식이 예상보다 정확한 단서를 제공했습니다.
이 역사에서 유래한 통계 문제가 독일 탱크 문제(German Tank Problem)입니다. 교과서에서 다루는 기본 문제는 간단합니다. 탱크가 1번부터 N번까지 빠짐없이 번호를 받았고, 그중 k대를 무작위로 관찰했을 때 전체 탱크 수 N을 추정하는 것입니다. 관찰한 번호 중 가장 큰 값 m을 이용하면 다음과 같은 불편 추정량을 만들 수 있습니다.
N̂ = m(k+1)/k - 1 = m + m/k - 1
공식은 짧지만 아무 자료에나 적용할 수 있는 마법은 아닙니다. 번호가 연속적이어야 하고, 시작 번호와 번호 체계를 알아야 하며, 관찰된 장비가 전체에서 무작위로 뽑힌 표본에 가까워야 합니다. 실제 전시 분석도 이 간단한 공식 하나로 끝나지 않았습니다. 차체, 엔진, 변속기, 바퀴, 타이어 금형, 검사 표식과 제조일을 함께 조사하고 번호가 끊기는 구간과 부품 교체까지 검토했습니다.
독일 탱크 문제란 무엇인가요?
전체 제품에 `1, 2, 3, …, N`이라는 서로 다른 일련번호가 붙어 있다고 가정하겠습니다. N은 알려지지 않은 전체 생산량입니다. 이 가운데 k개를 복원 없이 무작위로 뽑아 일련번호를 확인합니다. 한 번 본 제품을 다시 표본으로 뽑지 않는다는 뜻입니다.
관찰한 번호를 `x₁, x₂, …, xₖ`라고 하고 가장 큰 번호를 m이라고 쓰겠습니다.
m = max(x₁, x₂, …, xₖ)
최소한 N은 m보다 작을 수 없습니다. 60번 제품을 봤다면 제품이 적어도 60개는 존재해야 합니다. 그러나 N을 곧바로 60이라고 정하면 관찰한 표본에 우연히 마지막 제품이 포함됐다고 가정하는 셈입니다. 일반적으로 표본의 최대값은 실제 전체 최대값보다 작거나 같기 때문에 N을 낮게 추정하는 경향이 있습니다.
독일 탱크 문제는 표본 최대값의 이러한 하향 편향을 보정해 전체 최대 번호를 추정하는 문제입니다.
최대 일련번호만 사용하면 왜 부족한가요?
전체가 100대이고 그중 5대를 무작위로 관찰한다고 해보겠습니다. 관찰 번호가 `{8, 21, 35, 47, 60}`이라면 최대값은 60입니다. 60대가 존재한다는 사실은 확실하지만 전체가 정확히 60대라는 근거는 없습니다. 61번 이후의 탱크를 표본에서 만나지 못했을 수 있습니다.
같은 최대값 60이라도 표본 수에 따라 정보의 양이 다릅니다. 한 대만 관찰해 60번이 나왔다면 N은 60보다 훨씬 클 가능성을 넓게 열어 둬야 합니다. 반대로 50대를 관찰했는데 최대값이 60이라면 전체 최대 번호도 60 근처일 가능성이 커집니다.
따라서 추정식에는 최대값 m뿐 아니라 표본 크기 k도 들어갑니다. 표본이 많을수록 최대값 위에 더하는 보정량 `m/k - 1`이 작아집니다.
독일 탱크 생산량 추정 공식
번호가 1부터 N까지 연속이고 k개를 균등하게 비복원 추출했다는 모형에서 N의 대표적인 불편 추정량은 다음과 같습니다.
N̂ = m + m/k - 1
앞의 표본 `{8, 21, 35, 47, 60}`에서는 k=5, m=60입니다.
N̂ = 60 + 60/5 - 1
N̂ = 60 + 12 - 1 = 71
따라서 이 모형의 점추정값은 71대입니다. 최대값만 그대로 사용한 60대보다 11대를 더한 결과입니다.
이 식에서 `-1`은 일련번호가 1부터 시작하는 이산형 모형의 보정입니다. 0과 1 사이의 연속 균등분포처럼 연속형 최대값 문제에서는 같은 형태의 보정식에 이 항이 나타나지 않습니다.
공식은 어떻게 유도하나요?
N개 중 k개를 비복원 추출할 때 가능한 표본 집합의 수는 조합 `C(N,k)`입니다. 표본의 최대값이 정확히 m이 되려면 m이 반드시 표본에 들어가고, 나머지 k-1개는 1부터 m-1 사이에서 선택돼야 합니다. 가능한 표본의 수는 `C(m-1,k-1)`입니다.
따라서 최대값 M의 확률분포는 다음과 같습니다.
P(M=m | N,k) = C(m-1,k-1) / C(N,k)
이 분포에서 최대값의 기댓값을 계산하면 다음 결과를 얻습니다.
E[M | N,k] = k(N+1)/(k+1)
표본 최대값은 평균적으로 N에 미치지 못합니다. 위 식을 N에 관해 풀면 다음과 같습니다.
N = (k+1)E[M]/k - 1
실제로 관찰한 최대값 m을 E[M]의 자리에 넣으면 추정량이 나옵니다.
N̂ = (k+1)m/k - 1
이 추정량을 같은 조건에서 반복해 계산하면 그 장기 평균이 실제 N과 일치합니다. 이런 성질을 불편성(unbiasedness)이라고 합니다. 한 번의 추정이 반드시 정답이라는 뜻은 아닙니다. 같은 크기의 표본을 여러 번 뽑아 얻는 추정값들의 평균이 참값을 향한다는 뜻입니다.
평균 간격으로 이해하는 쉬운 방법
k개의 관찰 번호를 작은 순서대로 놓으면 1부터 최대 관찰값 m까지가 여러 간격으로 나뉩니다. 번호가 대체로 고르게 퍼져 있다고 생각하면 최대값 이후에도 관찰 번호 사이의 평균 간격과 비슷한 빈 구간이 하나 더 있을 것으로 예상할 수 있습니다.
불편 추정식은 최대값 m에 `m/k - 1`을 더합니다. 이 값은 관찰된 번호 사이에서 기대하는 미관찰 번호의 평균적인 수와 연결됩니다. k가 작으면 번호 사이의 빈 구간을 크게 예상하고, k가 커지면 마지막 관찰 번호 이후의 보정도 작아집니다.
다만 실제 표본의 단순한 간격 평균을 그대로 더하는 임의 공식과 불편 추정량을 혼동하면 안 됩니다. `m + m/k - 1`은 이산 균등분포와 비복원 무작위 표집이라는 확률모형에서 최대값의 기댓값을 이용해 유도된 식입니다.
최대우도추정량은 왜 m인가요?
관찰한 k개의 번호가 주어졌을 때 N은 적어도 m이어야 합니다. 특정 N에서 그 표본 집합을 관찰할 가능도는 `1/C(N,k)`입니다. N이 커질수록 가능한 k개짜리 표본의 수 `C(N,k)`가 커지므로 이미 관찰한 특정 표본의 가능도는 작아집니다.
따라서 가능한 N 가운데 가장 작은 값인 m에서 가능도가 가장 큽니다. 최대우도추정량(MLE)은 `N̂MLE=m`입니다. 하지만 m은 실제 N보다 커질 수 없고 대개 더 작으므로 하향 편향이 있습니다.
불편 추정량 `m(k+1)/k-1`은 이 편향을 보정합니다. 최대우도추정과 불편 추정은 서로 다른 기준으로 만든 추정량이므로 값이 다를 수 있습니다.
점추정 하나만으로 충분하지 않습니다
71대라는 점추정값이 나왔다고 해서 전체가 정확히 71대라고 확정할 수는 없습니다. 표본은 우연에 따라 달라지며, 작은 표본에서는 오차가 클 수 있습니다.
최대값이 m 이하일 확률은 다음과 같습니다.
P(M≤m | N,k) = C(m,k) / C(N,k)
이 식을 이용하면 너무 큰 N일 때 지금처럼 낮은 최대값을 관찰할 확률이 얼마나 작은지 계산할 수 있습니다. 예를 들어 k=5, m=60인 기본 모형에서 N=108이라면 최대값이 60 이하일 확률은 약 4.90%입니다. N=107일 때는 약 5.14%입니다. 따라서 한쪽 5% 기준으로 큰 N을 배제하는 방식에서는 107과 108 사이가 경계가 됩니다.
이 계산은 모형이 맞다는 조건 아래의 빈도주의적 구간 추론입니다. “N이 60에서 107 사이일 확률이 95%”라고 해석하는 베이즈 구간과는 의미가 다릅니다. 베이즈 분석에서는 N에 대한 사전분포를 정한 뒤 사후분포를 계산합니다. 사전분포 선택에 따라 점추정과 구간이 달라질 수 있습니다.
공식이 성립하려면 어떤 가정이 필요한가요?
고전적인 독일 탱크 문제의 공식은 다음 조건을 전제로 합니다.
- 번호가 1부터 N까지 연속적으로 부여됩니다.
- 같은 번호가 중복되지 않습니다.
- 결번이나 별도의 번호 계열이 없습니다.
- 관찰된 k개는 전체 N개에서 균등한 무작위 표본입니다.
- 한 제품을 두 번 세지 않는 비복원 표집입니다.
- 관찰 기간과 생산량의 기준이 일치합니다.
번호가 공장별로 다시 1부터 시작하거나, 제품 종류마다 다른 범위를 사용하거나, 보안을 위해 번호를 무작위로 붙이면 단순 공식을 적용할 수 없습니다. 폐기된 번호, 시제품, 교체 부품과 재생 부품도 분석을 흐릴 수 있습니다.
표본 선택도 중요합니다. 전선에 먼저 도착한 장비만 노획된다면 생산 시점이 빠른 낮은 번호가 과도하게 포함될 수 있습니다. 특정 전선이나 특정 부대의 장비만 관찰하면 전체 생산분의 균등 표본이 아닐 수 있습니다. 이 경우 공식의 불편성은 보장되지 않습니다.
실제 전시 분석은 교과서 문제보다 복잡했습니다
리처드 러글스와 헨리 브로디가 1947년 《Journal of the American Statistical Association》에 발표한 기록에 따르면, 런던 주재 미국대사관의 경제전 부서는 1943년 초부터 노획한 독일 장비의 표식과 일련번호를 체계적으로 분석했습니다.
현장에서 얻은 자료에는 탱크 차체와 엔진 번호, 수리창 기록, 예비 부품 주문서, 제조사 코드와 검사 표식이 포함됐습니다. 독일 탱크의 차체 번호도 모든 탱크를 1번부터 한 줄로 센 단순한 체계가 아니었습니다. 탱크 형식마다 번호 범위가 달랐고 일부 계열은 여러 개의 불연속 구간으로 나뉘었습니다.
분석가들은 변속기 번호처럼 한두 개의 단순하고 끊기지 않은 계열을 찾아 생산량을 교차 확인했습니다. 부품에 찍힌 월·연도 표식으로 부품 생산과 최종 조립 사이의 시간도 추정했습니다. 차체, 엔진, 포, 라디에이터, 포탑 모터, 보기륜 같은 서로 다른 자료를 대조하면서 한 종류의 표식이 가진 약점을 보완했습니다.
따라서 실제 역사적 성과를 “노획한 탱크의 가장 큰 번호를 공식에 한 번 넣었다”라고 설명하면 지나치게 단순화한 것입니다. 오늘날의 독일 탱크 문제는 그 정보분석 작업에서 핵심 아이디어를 추려 만든 통계 모형입니다.
246대 추정과 실제 245대의 의미
독일 탱크 문제를 소개할 때 연합군의 통계적 추정은 월 246대였고 전후 독일 기록은 월 245대였다는 수치가 자주 인용됩니다. 1947년 원 논문에는 세 시점의 월 생산량이 다음과 같이 실려 있습니다.
| 기준 시점 | 일련번호 추정 | 당시 미·영 정보기관 추정 | 전후 슈페어부 기록 |
|---|---|---|---|
| 1940년 6월 | 169대 | 1,000대 | 122대 |
| 1941년 6월 | 244대 | 1,550대 | 271대 |
| 1942년 8월 | 327대 | 1,550대 | 342대 |
세 행에 표시된 정수를 단순평균하면 일련번호 추정은 약 246.7대, 당시 정보기관 추정은 약 1,366.7대, 독일 기록은 245대입니다. 널리 알려진 246대, 1,400대, 245대라는 요약은 이 표의 규모와 거의 일치합니다. 다만 246.7을 통상적으로 반올림하면 247이므로, 원 논문 표만으로 ‘246’이라는 정수의 정확한 산출 방식을 확정할 수는 없습니다.
중요한 점은 246대와 245대가 하나의 특정 달을 맞힌 숫자도 아니고 1940년부터 1942년까지 모든 달을 평균한 수치도 아니라는 사실입니다. 원 논문 표에 제시된 세 시점의 월 생산량을 단순평균한 요약입니다. 개별 시점에서는 차이가 있었습니다. 1940년 6월은 통계 추정 169대와 기록 122대, 1941년 6월은 244대와 271대, 1942년 8월은 327대와 342대였습니다.
그럼에도 세 시점 모두 일련번호 기반 추정이 당시 미·영 정보기관 수치보다 독일 기록에 훨씬 가까웠습니다. 원 논문은 당시 공식 정보기관의 수치가 미국과 영국 정보기관의 종합 견해였다고 명시합니다.
누적 생산량과 판터 탱크도 추정했습니다
1947년 기록에 따르면 당시 받아들여지던 독일 탱크 누적 생산량은 약 4만 대였지만, 일련번호 분석은 1만 4천 대를 넘지 않는다고 추정했습니다. 1942년 생산량도 기존에는 약 1만 8천 대로 보았으나 일련번호 분석은 약 3,400대로 추정했습니다.
판터로 알려진 5호 전차의 경우에는 노획된 두 대의 보기륜 타이어 금형 번호와 제조사 자료까지 활용했습니다. 분석진은 1944년 2월 생산능력을 월 270대로 추정했고, 전후 확인된 실제 생산은 276대였습니다. 이 수치는 단순한 차체 최대 번호 공식이 아니라 부품 금형 수, 영국 제조업체가 제공한 생산 정보, 교체용 부품 비율 등을 결합한 결과였습니다.
생산업체별 판터 생산 비중도 추정했습니다. 원 논문 표에서 MAN은 추정 40%와 실제 35%, 다임러-벤츠는 29%와 31%, MNH는 28%와 31%, 기타 업체는 3%와 3%였습니다.
언제 분석이 크게 빗나갔나요?
일련번호 분석이 항상 정확했던 것은 아닙니다. 원 논문은 돌격포 생산량 추정에서 큰 과소추정이 있었다고 기록합니다. 1942년과 1943년 추정은 실제보다 각각 71%와 62% 낮았습니다. 현장에서 이 장비의 표식 수집이 소홀해 여러 형식의 사례가 없었던 것이 주요 원인으로 제시됐습니다.
V-1 비행폭탄 분석에서도 부품 생산과 최종 조립의 관계가 어긋나 큰 오차가 발생했습니다. 부품은 많이 만들어졌지만 판금 부족으로 최종 조립이 따라가지 못했습니다. 부품 일련번호를 완성품 생산량으로 곧바로 바꾸는 가정이 성립하지 않았던 것입니다.
이 실패 사례는 표본 최대값 공식보다 모형 설정이 더 중요하다는 사실을 보여 줍니다. 어떤 번호가 무엇을 세는지, 번호 계열이 완성품 수와 일대일로 대응하는지, 수집되지 않은 계열이 있는지를 확인하지 않으면 정교한 계산도 잘못된 결과를 낼 수 있습니다.
표본 수가 늘면 추정은 얼마나 좋아지나요?
불편 추정량의 분산은 다음과 같습니다.
Var(N̂) = (N-k)(N+1) / [k(k+2)]
k가 N보다 훨씬 작을 때 표준편차는 대략 `N/k` 규모입니다. 표본 수가 늘면 추정량의 분포가 실제 N 주변으로 좁아집니다. 극단적으로 모든 N개를 관찰하면 k=N이고 최대값도 N이므로 추정값은 정확히 N입니다.
표본을 두 배로 늘리면 모든 상황에서 오차가 정확히 절반이 된다는 뜻은 아닙니다. 실제 오차는 뽑힌 번호와 표집 구조에 따라 달라집니다. 하지만 고전 모형에서는 표본 수가 커질수록 최대값이 전체 최대값 근처에 나타날 가능성이 높아지고 추정의 불확실성이 줄어듭니다.
평균 일련번호로도 추정할 수 있나요?
1부터 N까지의 이산 균등분포 평균은 `(N+1)/2`입니다. 표본 평균을 x̄라고 하면 `2x̄-1`도 N의 불편 추정량이 됩니다.
N̂평균 = 2x̄ - 1
그러나 같은 기본 모형에서 표본 최대값을 이용한 추정량은 N에 관한 정보를 효율적으로 활용하며, 최소분산 불편 추정량으로 알려져 있습니다. 평균 기반 추정은 이상한 번호 체계나 표집 편향을 살펴보는 보조 진단에는 도움이 될 수 있지만 고전 문제의 대표 공식은 최대값 기반 식입니다.
관찰 번호의 간격이 지나치게 불규칙하거나 특정 범위에 몰려 있다면 번호가 연속적이고 표본이 균등하다는 가정을 다시 점검해야 합니다.
현대에는 어디에 적용할 수 있나요?
같은 구조는 전체 개수를 공개하지 않지만 순차 번호가 붙는 대상에서 나타납니다. 생산품, 송장, 주문, 회원 번호, 사건 접수 번호와 같은 자료에서 마지막 번호가 전체 규모에 관한 정보를 줄 수 있습니다.
다만 실제 시스템에서는 번호를 1부터 시작하지 않거나 여러 서버가 별도 번호 범위를 사용하고, 취소 건에도 번호를 남기며, 보안을 위해 값을 건너뛰거나 무작위화할 수 있습니다. 개인정보나 영업비밀을 침해하는 수집도 허용되지 않습니다. 대상 시스템의 규칙과 합법적인 접근 범위를 확인하지 않은 채 고전 공식을 적용하면 신뢰할 수 있는 추정이 되지 않습니다.
자주 묻는 질문
가장 큰 일련번호가 곧 전체 생산량 아닌가요?
가장 큰 관찰 번호는 전체 생산량의 하한입니다. 마지막으로 생산된 제품을 표본에서 관찰했다는 보장이 없으므로 보통 실제 N보다 작습니다. 고전 모형은 `m(k+1)/k-1`로 이 하향 편향을 보정합니다.
일련번호 몇 개만 있으면 언제나 생산량을 알 수 있나요?
아닙니다. 연속 번호, 알려진 시작점, 중복 없는 번호, 균등한 무작위 표본이라는 조건이 필요합니다. 공장별 번호 재시작, 결번, 무작위 번호, 선택 편향이 있으면 별도의 모형이 필요합니다.
추정값 71은 실제로 탱크가 71대라는 뜻인가요?
점추정값일 뿐 확정값이 아닙니다. 다른 표본을 관찰하면 추정값도 달라집니다. 구간 추정과 모형 검토를 함께 제시해야 불확실성을 제대로 전달할 수 있습니다.
왜 공식 끝에 1을 빼나요?
번호가 1부터 N까지인 이산형 자료이기 때문입니다. 최대값의 기댓값 `k(N+1)/(k+1)`을 N에 관해 풀면 `-1`이 생깁니다.
246대 추정과 245대 실제 기록은 정확한가요?
근거가 된 원자료의 범위를 함께 말해야 합니다. 1947년 원 논문 표에 있는 1940년 6월, 1941년 6월, 1942년 8월의 세 월별 수치를 각각 단순평균하면 일련번호 추정은 약 246.7대, 전후 독일 기록은 245대입니다. 통계 추정이 실제 기록에 매우 가까웠지만 ‘246대를 정확히 맞혔다’는 표현은 이 표의 정수값만으로는 확인되지 않습니다.
연합군은 공식 하나만으로 생산량을 맞혔나요?
아닙니다. 실제 분석은 차체와 엔진 번호, 변속기, 바퀴, 타이어 금형, 제조사 코드, 검사 표식과 부품 날짜를 함께 사용했습니다. 번호 계열의 간격과 생산 시차도 조사했습니다.
결론: 적은 표본보다 중요한 것은 올바른 번호 체계입니다
독일 탱크 문제의 고전 모형에서 k개의 일련번호 중 최대값이 m이면 전체 수 N의 불편 추정량은 `m(k+1)/k-1`입니다. 이 공식은 표본 최대값이 실제 최대 번호를 낮게 잡는 경향을 보정합니다. 최대값의 확률분포와 기댓값에서 직접 유도할 수 있습니다.
역사적 전시 분석은 이 교과서 모형보다 훨씬 복잡했습니다. 연합군 분석가들은 여러 부품의 일련번호, 제조사와 검사 표식, 날짜, 불연속 번호 구간을 대조했습니다. 전후 생산 기록과 비교했을 때 탱크 추정은 기존 정보기관의 판단보다 대체로 정확했지만, 표본이 부족하거나 부품 생산과 완성품 조립의 관계가 달랐던 장비에서는 큰 오차도 발생했습니다.
따라서 독일 탱크 문제의 핵심은 작은 표본만으로 언제나 정확한 숫자를 얻는다는 데 있지 않습니다. 번호가 생성되는 과정과 표본이 수집되는 방식을 정확히 이해하면 제한된 자료에서도 전체 규모에 관한 유용한 추정을 만들 수 있다는 데 있습니다.
참고 자료
- Richard Ruggles and Henry Brodie, An Empirical Approach to Economic Intelligence in World War II, JASA, 1947
- Ruggles and Brodie 원문 PDF, An Empirical Approach to Economic Intelligence in World War II
- Cory Simon, The German Tank Problem—확률분포와 불편 추정량 유도
- Penn State CAUSEweb, Introduction to Estimation—The German Tank Problem
- A Bayesian Treatment of the German Tank Problem, The Mathematical Intelligencer, 2023