# R大数定律(Python切比雪夫不等式验证大数定律)模拟圆周率

{% tabs %}
{% tab title="关键词" %}
R | 大数定律 | 圆周率 | 模拟 | 统计 | 收敛 | Python | 切比雪夫不等式 | Matplotlib
{% endtab %}
{% endtabs %}

<details>

<summary>R大数定律模拟圆周率</summary>

### 大数定律

在概率论中，大数定律 (LLN) 是描述大量执行相同实验的结果的定理。 根据规律，大量试验所得结果的平均值应接近预期值，并随着试验次数的增加而趋于接近预期值。

LLN 很重要，因为它保证了一些随机事件的平均值的长期稳定结果。例如，虽然赌场可能会在轮盘赌的单次旋转中赔钱，但其收益将趋向于在大量旋转中的可预测百分比。 玩家的任何连胜最终都会被游戏的参数所克服。 要注意的是，该定律仅在考虑大量观察时才适用（如名称所示）。 没有原理关系的是少数观察结果会与预期值一致，或者一个值的连续性会立即被其他值“平衡”。

另外是要注意，LLN 仅适用于平均值。因此，虽然

$$\lim {n \rightarrow \infty} \sum{i=1}^{n} \frac{X_{i}}{n}=\bar{X}$$

其他看起来相似未经验证的公式，例如与“理论结果”的原始偏差：

$$\sum_{i=1}^{n} X_{i}-n \times \bar{X}$$

它不仅不会随着 $$n$$ 的增加而收敛到零，反而随着 $$n$$ 的增加，它的绝对值也趋于增加。

### 模拟

为了完整起见，下面的模拟将按照以下逻辑估计 $$\pi$$ 的值：

知道圆的面积是 $$\pi r^{2}$$，我们知道半径 ( $$r$$ ) 为 1 的圆的面积只是 $$\pi$$ 。 如果我们将圆完美地放置在边长为 2 的正方形（即面积为 4）的内部，我们知道圆的面积与正方形的面积之比为 $$\frac{\pi}{4}$$。

因此，如果我们随机向一个尺寸相同的飞镖板多次投掷飞镖，那么圆内的飞镖与击中正方形的飞镖的比率应该接近 $$\frac{\pi}{4}$$。如果我们将这个比率乘以 4，我们就得到了 $$\pi$$ 的估计值。

```r
# Create a dartboard 
dart_board <- ggplot() + 
 geom_circle(aes(x0 = 0, y0 = 0, r = 1), fill = "black") + 
 geom_circle(aes(x0 = 0, y0 = 0, r = 0.99), fill = "red") + 
 geom_circle(aes(x0 = 0, y0 = 0, r = 0.7), fill = "lightyellow") + 
 geom_circle(aes(x0 = 0, y0 = 0, r = 0.2), fill = "red") + 
 geom_circle(aes(x0 = 0, y0 = 0, r = 0.1), fill = "darkgreen") + 
 coord_fixed() + 
 geom_segment(aes(x=-1,xend=1,y=1,yend=1)) + 
 geom_segment(aes(x=-1,xend=1,y=-1,yend=-1)) + 
 geom_segment(aes(x=1,xend=1,y=-1,yend=1)) + 
 geom_segment(aes(x=-1,xend=-1,y=-1,yend=1)) + 
 xlab("x")+ylab("y")+ 
 theme_bw() 
 
dart_board
```

#### 绘制收敛趋势图

### 源代码

</details>

<details>

<summary>Python切比雪夫不等式验证大数定律</summary>

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

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

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

```python
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=\frac{\sum_{i=1}^{n} X_{i}}{n}$$

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

$$m_{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 变得不是随机的。 当你的方差几乎等于零时没有随机性。 现在我们来到了这个不平等。

### 源代码

</details>

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}
