坦克问题的频率及贝叶斯解释

在统计学理论的估计中,用不放回抽样来估计离散型均匀分布最大值问题在英语世界中是著名的德国坦克问题(German tank problem),它因在第二次世界大战中用于估计德国坦克数量而得名。本文将从频率以及贝叶斯的角度探索坦克问题。

背景

假设所有的德国坦克是从1开始按自然数递增编号的,坦克的总数为N,也就是说坦克的最大编号为N。盟军在战斗中共随机俘获/击毁了k辆坦克,且这些坦克的最大编号为m,那么应当如何对N的大小进行估计?

盟军利用统计理论做的的估计取得了很棒的结果,与德军真实数据非常接近,如下表所示:

月份

统计估计

情报估计

德国记录

1940-06

169

1000

122

1941-06

244

1550

271

1942-08

327

1550

342

上面的问题,转化为数学问题是:用不放回抽样来估计离散型均匀分布最大值。 已知样本数量k和样本最大值m,求群体最大值N

频率解释

推导

定义样本最大值随机变量M,那么

M的期望为:

因此,

问题转化为了求μM

因为实验只进行了一次(实际上也无法进行多次),因此以单词实验的值作为μM的估计值,即μM= m。所以有:

直观理解

直观理解如上,群体最大值的估计值等于样本最大值加上样本观测值之间的平均距离。

置信区间

假定抽样后放回以简化计算,记k次抽样都集中在分位数p内,

那么该k次抽样出现的的概率为

。 设两个概率p1,p2p1,p2,那么其对应的分位数为[p11/k,p21/k][p1^{1/k},p2^{1/k}],其对应样本的抽样区间的最大值为[N∗p11/k,N∗p21/k][N*p1^{1/k},N*p2^{1/k}]。 那么,已知样本最大值m,估计群体最大值的置信区间为[m/p21/k,m/p11/k][m/p2^{1/k},m/p1^{1/k}]。

例如,k=5,p1=2.5%,p2=97.5%。那么置信区间大约为

更一般地,若选择95%置信区间

对于一系列的k,可得下表:

k

点估计值

置信区间

1

2m

[m,20m]

2

1.5m

[m,4.5m]

5

1.2m

[m,1.82m]

10

1.1m

[m,1.35m]

20

1.05m

[m,1.16m]

贝叶斯解释

贝叶斯法,在给定m,k的情况下使用贝叶斯公式计算N的概率分布,然后再求期望和方差。

对于P(n|k),表示的是在收集到k量坦克信息(仅知道收集了k辆坦克而不知其数字)的条件下对群体数n的先验估计。假定其为某种离散均匀分布:

所以,上式可化简为:

这样便根据m,k的信息求出了n的后验概率分布。一些信息如下:

  • 当k ≥ 1时,敌方坦克数量分布的众数为m。
  • 当k ≥ 3时, N的均值有限:
  • 当k ≥ 4时, N的标准差有限:
  1. wiki
  2. Tony blog

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java闲聊

JDK1.8 ArrayList 源码解析

当运行 ArrayList<Integer> list = new ArrayList<>() ; ,因为它没有指定初始容量,所以它调用的是它的无参构造

1242
来自专栏刘君君

JDK8的HashMap源码学习笔记

3308
来自专栏项勇

笔记68 | 切换fragmengt的replace和add方法笔记

1544
来自专栏开发与安全

算法:AOV网(Activity on Vextex Network)与拓扑排序

在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称之为AOV网(Activity on Vextex ...

4057
来自专栏Hongten

ArrayList VS Vector(ArrayList和Vector的区别)_面试的时候经常出现

2382
来自专栏学海无涯

Android开发之奇怪的Fragment

说起Android中的Fragment,在使用的时候稍加注意,就会发现存在以下两种: v4包中的兼容Fragment,android.support.v4.ap...

3225
来自专栏alexqdjay

HashMap 多线程下死循环分析及JDK8修复

1.2K4
来自专栏xingoo, 一个梦想做发明家的程序员

Spark踩坑——java.lang.AbstractMethodError

百度了一下说是版本不一致导致的。于是重新检查各个jar包,发现spark-sql-kafka的版本是2.2,而spark的版本是2.3,修改spark-sql-...

1290
来自专栏聊聊技术

原 初学图论-Kahn拓扑排序算法(Kah

3018
来自专栏xingoo, 一个梦想做发明家的程序员

AOE关键路径

这个算法来求关键路径,其实就是利用拓扑排序,首先求出,每个节点最晚开始时间,再倒退求每个最早开始的时间。 从而算出活动最早开始的时间和最晚开始的时间,如果这两个...

2647

扫码关注云+社区