详细解释大数定律+中心极限定理(三)

本文详细探讨了大数定律与中心极限定理的基本概念及其应用,阐述了两者之间的区别,并通过实例模拟验证了这些理论的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大数定律

  • 大数定律就以严格的数学形式表现了随机现象的一个性质:平稳结果的稳定性(或者说频率的稳定性)
  • 大数定律从理论上解决:用频率近似代替概率的问题: P(A)nAn P ( A ) ≈ n A n ;用样本均值近似代替理论均值: Eξ=1ni=ni=1ξi E ξ = 1 n ∑ i = 1 i = n ξ i

中心极限定理

当样本量N逐渐趋于无穷大时,N个抽样样本的均值的频数逐渐趋于正态分布,其对原总体的分布不做任何要求,意味着无论总体是什么分布,其抽样样本的均值的频数的分布都随着抽样数的增多而趋于正态分布。

大数定律与中心极限定理之间的区别

  • 大数定律是说,n只要越来越大,我把这n个独立同分布的数加起来去除以n得到的这个样本均值(也是一个随机变量)会依概率收敛到真值u,但是样本均值的分布是怎样的我们不知道。
  • 中心极限定理是说,n只要越来越大,这n个数的样本均值会趋近于正态分布,并且这个正态分布以u为均值,sigma^2/n为方差。
  • 综上所述,这两个定律都是在说样本均值性质。随着n增大,大数定律说样本均值几乎必然等于均值。中心极限定律说,他越来越趋近于正态分布。并且这个正态分布的方差越来越小。直观上来讲,想到大数定律的时候,你脑海里浮现的应该是一个样本,而想到中心极限定理的时候脑海里应该浮现出很多个样本

具体解释的参考资料

1、百度文库:大数定律与中心极限定理
2、百度文库:第五章 大数定律与中心极限定理

建议两个资料,择其一进行仔细阅读即可。

代码实现

大数定律的模型

import numpy as np
from numpy import random as nprd

True_P=0.5

def sampling(N):
    ## 产生Bernouli样本
    x=nprd.rand(N)<True_P
    return x

M=10000 #模拟次数
xbar=np.zeros(M)
N=np.array([i+1 for i in range(M)])
x=sampling(M)
for i in range(M):
    if i==0:
        xbar[i]=x[i]
    else:
        xbar[i]=(x[i]+xbar[i-1]*i)/(i+1)

## 导入matplotlib
import matplotlib.pyplot as plt 
## 使图形直接插入到jupyter中
%matplotlib inline
# 设定图像大小
plt.rcParams['figure.figsize'] = (10.0, 8.0)

plt.plot(N,xbar,label=r'$\bar{x}$',color='pink') ## xbar
xtrue=np.ones(M)*True_P
plt.plot(N,xtrue,label=r'$0.5$',color='black') ## true xbar
plt.xlabel('N')
plt.ylabel(r'$\bar{x}$')
plt.legend(loc='upper right', frameon=True)
plt.show() ## 画图

中心极限定理的模拟

import numpy as np
from numpy import random as nprd

def sampling(N):
    ## 产生一组样本,以0.5的概率为z+3,0.5的概率为z-3,其中z~N(0,1)
    d=nprd.rand(N)<0.5
    z=nprd.randn(N)
    x=np.array([z[i]+3 if d[i] else z[i]-3 for i in range(N)])
    return x

N=[2,3,4,10,100,1000] # sample size
M=2000
MEANS=[]
for n in N:
    mean_x=np.zeros(M)
    for i in range(M):
        x=sampling(n)
        mean_x[i]=np.mean(x)/np.sqrt(10/n) ## 标准化,因为var(x)=10
    MEANS.append(mean_x)

## 导入matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
## 使图形直接插入到jupyter中
%matplotlib inline
# 设定图像大小
plt.rcParams['figure.figsize'] = (10.0, 8.0)

x=sampling(1000)
plt.xlabel('x')
plt.ylabel('Density')
plt.title('Histogram of Mixed Normal')
plt.hist(x,bins=30,normed=1) ## histgram
plt.show() ## 画图

## 均值
ax1 = plt.subplot(2,3,1)
ax2 = plt.subplot(2,3,2)
ax3 = plt.subplot(2,3,3)
ax4 = plt.subplot(2,3,4)
ax5 = plt.subplot(2,3,5)
ax6 = plt.subplot(2,3,6)

## normal density
x=np.linspace(-3,3,100)
d=[1.0/np.sqrt(2*np.pi)*np.exp(-i**2/2) for i in x]

def plot_density(ax,data,N):
    ax.hist(data,bins=30,normed=1) ## histgram
    ax.plot(x,d)
    ax.set_title(r'Histogram of $\bar{x}$:N=%d' % N)

plot_density(ax1,MEANS[0],N[0])
plot_density(ax2,MEANS[1],N[1])
plot_density(ax3,MEANS[2],N[2])
plot_density(ax4,MEANS[3],N[3])
plot_density(ax5,MEANS[4],N[4])
plot_density(ax6,MEANS[5],N[5])


plt.show() ## 画图
参考文献

1、漫谈系列——大数定律
改文章直观的解释了弱/强大数定律,以及证明了切比雪夫不等式。
2、知乎问答
内容太多,并没有仔细看,有意者可以仔细阅读。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱科研的徐博士

请各位看官赏赐,小仙女笔芯笔芯

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值