大数定律python
时间: 2023-10-15 18:23:30 浏览: 132
大数定律(Law of Large Numbers)是概率论中的一条重要定理,它指出在独立同分布的随机变量序列中,随着样本数量的增加,样本平均值的稳定性逐渐增强,趋于真实参数的期望值。
在Python中,我们可以通过模拟实验来验证大数定律。下面是一个简单的示例代码:
```python
import random
import matplotlib.pyplot as plt
def law_of_large_numbers(num_samples):
sample_means = []
cumulative_sum = 0
for i in range(num_samples):
# 模拟抛硬币,1表示正面,0表示反面
coin_flip = random.randint(0, 1)
cumulative_sum += coin_flip
sample_mean = cumulative_sum / (i + 1)
sample_means.append(sample_mean)
# 绘制样本平均值随样本数量增加的变化图
plt.plot(range(1, num_samples + 1), sample_means)
plt.axhline(y=0.5, color='r', linestyle='--', label='Expected value')
plt.xlabel('Number of samples')
plt.ylabel('Sample mean')
plt.legend()
plt.show()
# 测试代码
law_of_large_numbers(1000)
```
这段代码模拟了进行1000次抛硬币实验,并计算每次实验的样本平均值。最后绘制了样本平均值随着样本数量增加的变化图,同时绘制了期望值0.5的参考线。根据大数定律,随着抛硬币次数的增加,样本平均值会逐渐接近0.5。
当你运行这段代码时,你会看到样本平均值的变化趋势。注意,由于每次实验的结果是随机的,你可能会观察到不同的结果,但总体上样本平均值会逐渐接近0.5。
阅读全文