黑箱里有n个小球,编号为1,2,…,n,随机抽一个球的号码是10,能获得什么关于n的信息?

任何观察都能带来信息,只是看你怎么用的问题。

实际上,仅仅凭这一个观察我们就能得到估计。

最简单的估计:n = 10

这我相信你肯定是不信服的,怎么可能那么巧就拿到最大编号的呢?但它也是有道理的,你听我跟你说:

考虑最大编号为n的情况下,随机摸到10号的概率,可以知道n < 10时为0,n >= 10时为1/n,这样n = 10的时候,发生这件事的概率是最大的,相比起来如果n非常大,那么摸到10的概率就会小,所以如果没有任何信息的情况下,取n = 10可以让我们观察到的这个现象发生的概率最大。

这种估计方法就叫做最概然估计,它让被观察条件的似然值(likelihood,可以理解为是没有归一化过的某种概率)最大。它的缺点你也看到了,它是有偏(bias)的,我们已经知道了真值肯定至少是10,那么我们很不习惯猜在一个端点上,我们会希望往中间猜一点。

为什么要往中间猜呢?

很多时候我们不止是想要猜中这个n,还希望在猜不中的情况下能尽量地接近,这样如果n有一定的分布的话,我们猜在靠中间的地方,均方误差会比较小一些,也就是说即使猜不中也差不远。数学上来说,我们恰好猜在n的期望的位置的时候,这个估计达到了最小均方误差,同时也是无偏的,这种估计方法就叫做最小均方误差估计。

最简单的一种方法就是用似然值代替概率,作加权平均:我们已经知道不同n下被观察现象发生的概率了,我们用这个概率来做加权平均,这看上去是很有道理的一件事,实际计算一下:

\frac{\sum_{k=10}^{+\infty} \frac{1}{k} k}{\sum_{k=10}^{+\infty} \frac{1}{k}}

遗憾的是这个结果是发散的,原因在于即便n很大,取到10的概率也不算太小,这样就没有什么所谓中间了。做一个无可奈何下的修正,我们假定n有个上限N,那么利用调和级数求和的近似公式可以得到结果约为

\frac{N - 9}{\ln \frac{N}{9.5}}

如果取N = 100的话,大致就是38.7左右。注意这个估计值连整数都不是,但它符合我们“往中间猜”的期望。

为了解决刚才的不收敛的问题,我们可以考虑下面的问题:

我们取平均的时候,只考虑了被观察的事件在特定n取值下的可能性,但却没有考虑n本身取值的可能性。比如说,n有可能特别特别大、甚至超过了整个太阳系的总质量吗?这一点都不符合实际啊,可对这种n的取值,我们的处理和对n = 100这样的比较“正常”的值没有任何区别。这样并不合理啊。

最合理的办法是动用贝叶斯公式:

p(n|x) = \frac{p(x|n) p(n)}{\sum_k p(x|k) p(k)}

我们将n也看作一个随机变量,它有先验分布,我们通过观察到的实验结果x来计算n的后验分布,利用这个后验分布来计算期望。我们首先要先给一个合理的先验分布,在这里我们假定这个箱子的小球是某个人一个一个放进去的,他抓一个放一个,直到自己厌倦了为止,而厌倦的可能性每次抓球都是独立同分布的,这样就得到了一个几何分布:

P(n = k) = (1-u)^{k-1}u

为了防止混淆我们用u表示几何分布的参数,下一步代入贝叶斯公式:

p(n|x) = \frac{\frac{1}{n}(1-u)^{n-1}u}{\sum_{k=10}^{+\infty} \frac{1}{k}(1-u)^{k-1}u}

期望就可以写为

E(n|x) = \frac{\sum_{n=10}^{+\infty}(1-u)^{n-1}u}{\sum_{k=10}^{+\infty} \frac{1}{k}(1-u)^{k-1}u}

求出这个结果并不难,分式上面的式子显然是个等比数列求和,结果为

(1-u)^{9}

下面的式子可以使用母函数,令

f(u) = \sum_{k=10}^{+\infty} \frac{1}{k}(1-u)^{k}

\frac{\rm d}{{\rm d} u} f(u) = -\sum_{k=10}^{+\infty}(1-u)^{k-1} = -(1-u)^9 \frac{1}{u}

直接暴力二项式展开

\frac{\rm d}{{\rm d} u} f(u) = \sum_{k=0}^9 C_9^k(-u)^{k-1} = \sum_{k=0}^8 C_9^{k+1}(-u)^{k} - \frac{1}{u}

两边同时积分

f(u) = -\sum_{k=0}^8 \frac{C_9^{k+1}}{k+1}(-u)^{k+1} - \ln u + C

= -\sum_{k=0}^8 \frac{C_9^{k+1}}{k+1}(-u)^{k+1} - \ln u + C

利用u = 1时f(u) = 0,得到

f(u) = \sum_{k=0}^8 \frac{C_9^{k+1}}{k+1}((-1)^{k+1} - (-u)^{k+1}) - \ln u

好歹是有限项的和,我们就不继续化简了……注意到分母上是 \frac{u}{1-u}f(u)

于是

E(n|x)=\frac{(1-u)^{10}}{u\left(\sum_{k=0}^8 \frac{C_9^{k+1}}{k+1}((-1)^{k+1} - (-u)^{k+1}) - \ln u\right)}

它与u有关也是意料之中,我们来研究它和u的关系,考虑到几何分布的期望是1/u,我们画出E和1/u的关系:

1/u较小时:

可以看到贝叶斯修正是怎么工作的:

  1. 无论1/u多么小(哪怕接近于1),得到的估计也大于10(符合预期)
  2. 随着1/u的上升,n的估计值也上升,但上升得要比1/u慢

u \rightarrow 0 时, \lim_{u\rightarrow 0}E(n|x) = O(\frac{\frac{1}{u}}{\ln \frac{1}{u}}) ,注意它跟我们前面的简单最小均方误差估计得到了同一个结果。实际上,前面的结果就可以看作是这里 u \rightarrow 0 的极限情况。

注意贝叶斯估计并不是唯一正确的估计方法,其实也没有什么所谓正确的估计方法,每种方法都有自己的优点和缺点。贝叶斯估计方法的好处在于比较灵活,坏处也在于比较灵活——因为很灵活,所以只要先验分布可靠,用很少的样本也可以得到准确的估计;反过来,如果先验分布取的不对头,就需要很多的样本才能纠正过来。

还有许多基于统计量的估计方法,就不再介绍了。

来源:知乎 www.zhihu.com

作者:灵剑

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 20 个回答,查看全部。