🫑Python切比雪夫不等式验证大数定律

Python | 切比雪夫不等式 | 大数定律 | Matplotlib

切比雪夫不等式表明,对于任何正数,随机变量 X 偏离期望值不小于 a 的概率等于:

P(Xmxa)Dxa2P\left(\left|X-m_{x}\right| \geq a\right) \leq \frac{D_{x}}{a^{2}}

例如,掷骰子结果偏离预期值不小于 2 的概率是多少?首先,我们将计算期望值。

def expected_value(values, probabilities):
    return sum([v * p for v, p in zip(values, probabilities)])

xs = [1, 2, 3, 4, 5, 6]
probabilities = [1/len(xs)] * len(xs)

expected_value(xs, probabilities)
# 3.5

它等于 3.5。现在我们可以绘制所有可能的值和区间(m-a,m+a)。

对于我们的示例,我们需要找到值超出范围的概率——得到 1 或 6 的概率。

Python计算期望值

如您所见,切比雪夫不等式给出了概率偏差的唯一上限。无论如何,概率都不能超过这个值。

大数定律是描述多次执行相同实验的结果的定理。根据规律,大量试验所得结果的平均值应接近预期值。

大数定律可以用切比雪夫不等式来证明。有一个随机变量 X。高于该值进行 n 次独立实验并计算平均值。因此,我们有随机变量 Y。

Y=i=1nXinY=\frac{\sum_{i=1}^{n} X_{i}}{n}

让我们找到获得的随机变量的期望值和方差。

my=1ni=1nmx=1nnmx=mxDy=1n2i=1nDx=Dxnm_{y}=\frac{1}{n} \sum_{i=1}^{n} m_{x}=\frac{1}{n} n m_{x}=m_{x} \quad D_{y}=\frac{1}{n^{2}} \sum_{i=1}^{n} D_{x}=\frac{D_{x}}{n}

如您所见,预期值与实验次数无关,并且等于 X 的预期值。随着实验次数的增加,方差会减小。 因为方差变得非常小,随机变量 Y 变得不是随机的。 当你的方差几乎等于零时没有随机性。 现在我们来到了这个不平等。

源代码

🏈指点迷津 | Brief

Last updated