为什么在 (0, 255) 上均匀生成 8 个随机位?

机器算法验证 二项分布 随机生成 均匀分布
2022-01-30 20:06:19

我正在生成 8 个随机位(0 或 1)并将它们连接在一起形成一个 8 位数字。一个简单的 Python 模拟在离散集 [0, 255] 上产生均匀分布。

我试图证明为什么这在我的脑海中是有道理的。如果我将此与翻转 8 个硬币进行比较,那么预期值不是大约 4 个正面/4 个反面吗?所以对我来说,我的结果应该反映范围中间的峰值是有道理的。换句话说,为什么 8 个 0 或 8 个 1 的序列似乎与 4 和 4 或 5 和 3 等的序列一样可能?我在这里想念什么?

4个回答

TL;DR: 比特和硬币之间的鲜明对比是,在硬币的情况下,你忽略了结果的顺序HHHHTTTT 被视为与 TTTTHHHH 相同(都有 4 个头和 4 个尾)。但是在位中,您关心顺序(因为您必须为位位置赋予“权重”才能获得 256 个结果),因此 11110000 与 00001111 不同。


更长的解释: 如果我们在框架问题上更正式一点,这些概念可以更精确地统一。将实验视为具有二分结果的八次试验序列,“成功”概率为 0.5,“失败”概率为 0.5,并且这些试验是独立的。一般来说,我会称之为k成功,n总试验和nk失败和成功的概率是p.

  • 在硬币示例中,结果“k头,nktails”忽略了试验的顺序(无论出现的顺序如何,4 个正面都是 4 个正面),这导致您观察到 4 个正面比 0 或 8 个正面更有可能。四个正面更常见,因为有很多制作四个头的方法(TTHHTTHH 或 HHTTHHTT 等)比其他一些数字(8 个头只有一个序列)。二项式定理给出了制作这些不同配置的方法的数量。

  • 相比之下,顺序对位很重要,因为每个位置都有一个关联的“权重”或“位置值”。二项式系数的一个属性是,也就是说,如果我们计算所有不同的有序序列,我们会得到次二项式试验中有多少种不同的方法使个头与不同字节序列的数量联系起来。2n=k=0n(nk)28=256kn

  • 此外,我们可以通过独立性证明这 256 个结果的可能性相同。先前的试验对下一次试验没有影响,因此特定排序的概率通常为(因为独立事件的联合概率是它们概率的乘积)。因为试验是公平的,,这个表达式简化为因为所有排序具有相同的概率,所以我们在这些结果上具有均匀分布(通过二进制编码可以表示为中的整数)。pk(1p)nkP(success)=P(fail)=p=0.5P(any ordering)=0.58=1256[0,255]

  • 最后,我们可以把这个完整的循环带回到抛硬币和二项分布。我们知道 0 个正面出现的概率与 4 个正面出现的概率不同,这是因为对 4 个正面的出现有不同的排序方式,并且这种排序的数量由二项式定理给出。所以必须以某种方式加权,特别是它必须由二项式系数加权。所以这给了我们二项分布的 PMF,这个表达式是一个 PMF 可能令人惊讶,特别是因为它的总和为 1 并不是很明显。为了验证,我们必须检查P(4 heads)P(k successes)=(nk)pk(1p)nkk=0n(nk)pk(1p)nk=1, 然而这只是二项式系数的问题:1=1n=(p+1p)n=k=0n(nk)pk(1p)nk

为什么 8 个 0 或 8 个 1 的序列似乎与 4 和 4 或 5 和 3 等的序列一样可能

显而易见的悖论可以概括为两个看似矛盾的命题:

  1. 序列 (八个零)与序列(四个零,四个一)的概率相同。(通常:所有序列具有相同的概率,无论它们有多少个零/一。)s1:00000000s2:0101010128

  2. 事件“序列有四个零序列有八个零”更可能(实际上,倍)e170e2

这些命题都是正确的。因为事件包含许多序列。e1

所有的序列具有相同的概率 1/ =1/256。认为具有更接近相等数量的 0 和 1 的序列更有可能在解释问题时是错误的。应该清楚的是,我们到达 1/256,因为我们假设从试验到试验是独立的这就是为什么我们乘以概率并且一次试验的结果对下一次试验没有影响。2828

具有 3 位的示例(通常示例更具说明性)

我将把自然数 0 到 7 写成:

  • 以10 为底的数字
  • 以2 为底的数字(即位序列)
  • 基数 2 表示暗示的一系列硬币翻转(1 表示正面翻转,0 表示反面翻转)。

Base 10Base 2 (with 3 bits)Implied Coin Flip SeriesHeadsTails0000TTT031001TTH122010THT123011THH214100HTT125101HTH216110HHT217111HHH30

以相等的概率从 0 到 7 中选择一个自然数相当于以相等的概率选择右侧的硬币翻转系列之一。

因此,如果你从整数 0-7 的均匀分布中选择一个数字,你有机会选择 3 个正面,机会选择 2 个正面,,选择 0 个正面的概率为18383818