大数定律与中心极限定理详解

作者: pdnbplus | 发布时间: 2024/07/13 | 阅读量: 297

大数定律与中心极限定理详解-- 潘登同学的数理统计笔记

大数定律

只有理解了大数定律才理解了数理统计是一个由现实到理论的学科,概率是由频率无限趋近的一个理想概念

切比雪夫不等式

设随机变量X,其数学期望EX=μ,DX=σ2EX=\mu, DX=\sigma^2,则对于任意正数ε\varepsilon,有
P{Xμε}σ2ε2P\{|X-\mu|\geq\varepsilon\}\leq\frac{\sigma^2}{\varepsilon^2}

  • 推导
    P{Xμε}=Xμεf(x)dxXμεXμ2ε2f(x)dx1ε2(Xμ)2f(x)dx=σ2ε2\begin{aligned} P\{|X-\mu|\geq\varepsilon\} &= \int_{|X-\mu|\geq\varepsilon}^{\infty}f(x)dx\\ &\leq \int_{|X-\mu|\geq\varepsilon}^{\infty} \frac{|X-\mu|^2}{\varepsilon^2}f(x)dx\\ &\leq \frac{1}{\varepsilon^2}\int_{-\infty}^{\infty} (X-\mu)^2f(x)dx\\ &= \frac{\sigma^2}{\varepsilon^2} \end{aligned}

推到完了,再来定性的分析一下

  • 如果ε\varepsilon很大,那么P{Xμε}P\{|X-\mu|\geq\varepsilon\}理所当然的很小,与右侧的ε\varepsilon在分母上吻合;
  • 如果这个随机变量的方差很大,那么就会有较多的随机变量偏离均值,P{Xμε}P\{|X-\mu|\geq\varepsilon\}理所当然会大,与右侧的σ2\sigma^2在分母上吻合;

依概率收敛

依概率收敛就是那个由现实到理论的最最重要的一个桥梁了

设随机变量XX,{X1,X2,,XnX_1, X_2, \ldots, X_n}独立同分布,且EX=μEX=\mu, 则对于任意ε>0\varepsilon>0,有
limnP{1ni=1nXiμ<ε}=1\lim_{n\to\infty}P\{|\frac{1}{n}\sum_{i=1}^nX_i-\mu|<\varepsilon\}=1

  • 推导
    由切比雪夫不等式:P{Xμε}σ2ε2改写一下:P{Xμ<ε}1σ2ε2这里的X:=1ni=1nXiσ2:=σ2nP{1ni=1nXiμε}<1σ2/nε2n,则P{1ni=1nXiμε}1由切比雪夫不等式: P\{|X-\mu|\geq\varepsilon\}\leq\frac{\sigma^2}{\varepsilon^2}\\ 改写一下: P\{|X-\mu|<\varepsilon\}\geq 1-\frac{\sigma^2}{\varepsilon^2}\\ 这里的X:=\frac{1}{n}\sum_{i=1}^nX_i \therefore \sigma^2:=\frac{\sigma^2}{n}\\ \therefore P\{|\frac{1}{n}\sum_{i=1}^nX_i-\mu|\geq\varepsilon\}<1-\frac{\sigma^2/n}{\varepsilon^2}\\ 令n\to \infty ,则 P\{|\frac{1}{n}\sum_{i=1}^nX_i-\mu|\geq\varepsilon\}\to1

深刻理解为什么叫依概率收敛

  • 这里的XiX_i是一次随机事件的结果,而1ni=1nXi\frac{1}{n}\sum_{i=1}^nX_i是这n次随机事件的平均结果
  • 这里的μ\mu是总体参数,可以理解为客观规律,这个随机事件客观上的平均结果是μ\mu(上帝才知道的一个数值)
  • 而这个上面的这个式子limnP{1ni=1nXiμ<ε}=1\lim_{n\to\infty}P\{|\frac{1}{n}\sum_{i=1}^nX_i-\mu|<\varepsilon\}=1表示的是如果我们做无穷次的实验,我们得到的平均结果与客观规律的值一样

所以原本只有上帝能知道的总体参数μ\mu,被我们做无数次实验后知道了。

其实这个总体参数也可以理解为概率,就拿抛硬币举例子,想知道正面朝上的概率为多少,就设 事件A:在一次实验中是否正面朝上,是则1,否则0,然后做无数次, 得到的1ni=1nXi\frac{1}{n}\sum_{i=1}^nX_i就是硬币正面朝上的概率;

正确表述依概率收敛

Y1,Y2,,YnY_1,Y_2,\ldots,Y_n是一个随机变量序列,a是一个常数,若对于任意正数ε\varepsilon,都有
limn{1ni=1nYiμ<ε}=1\lim_{n\to\infty}\{|\frac{1}{n}\sum_{i=1}^nY_i-\mu|<\varepsilon\}=1

则称序列Y1,Y2,,YnY_1,Y_2,\ldots,Y_n依概率收敛于a,记为YnPaY_n \stackrel{P}\to a

中心极限定理

中心极限定理是用于刻画抽样分布服从正态分布的一个定理

深刻理解为什么要抽样

  • 根据上面讲的依概率收敛,其实只有去做无数次实验才能逼近那个总体参数,那么我们的观测样本理应是总体才对
  • 但是观测总体的代价太大了,我们想只从中随机抽出一些样本,通过样本来推测总体

深刻理解为什么要有中心极限定理

  • 但是根据前面的依概率收敛,只要n不是∞,那么样本均值就不是总体参数(数值上),但他肯定不会与他相差太远,因为样本也是从总体中抽出来的
  • 但是具体相差多少呢,这个抽样结果到底服从什么样的分布呢?

一次样本数为nn(足够大),均值为Xˉ\bar{X}的抽样,抽样结果服从正态分布
XˉN(μ,σ2n)\bar{X}\sim N(\mu,\frac{\sigma^2}{n})
其中,总体均值为μ\mu,总体方差为σ2\sigma^2,不论总体服从何种分布

直观感受

以三个总体为例,三个总体分别服从均匀分布、卡方分布、指数分布,抽样的样本分别为2、20、200,观察总体分布于抽样分布

中心极限定理的举例

可以看出,当n越大,抽样分布就越接近正态分布;这就是中心极限定理!

  • 贴上代码
#%% 各种分布及其抽样分布
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False


def plt_sample(a, b, n, lam, sample_list):
    '''

    Parameters
    ----------
    a : float
        均匀分布的左端点

    b : float
        均匀分布的右端点

    n : int
        卡方df自由度

    lam : float
        指数分布的 λ
        
    sample_list: [x,y]
        传入一个数组表示抽几次样 for example: [5, 10]
    Returns
    -------
    pk : float
        累计概率.
    plt : figure
        分布函数与抽烟分布

    '''
    y = np.linspace(0, 15, 101)
    plt.figure(figsize=(16,12))

    plt.subplot(431) # 均匀分布
    p_uniform = st.uniform.pdf(y, a, b)
    delta_y = y[1]-y[0]
    result_uniform = []
    for i,j in enumerate(p_uniform):
        if i == 0:
            result_uniform.append(j*delta_y)
        else:
            result_uniform.append(result_uniform[i-1] + j*delta_y)
    plt.plot(y, result_uniform, 'red')
    plt.xticks([])  #去掉x轴
    plt.title('[%d,%d]区间上的均匀分布分布函数'%(a,b))
    
    plt.subplot(432) # 卡方分布
    p_chi = st.chi2.pdf(y, df=n)
    delta_y = y[1]-y[0]
    result_chi = []
    for i,j in enumerate(p_chi):
        if i == 0:
            result_chi.append(j*delta_y)
        else:
            result_chi.append(result_chi[i-1] + j*delta_y)
    plt.plot(y, result_chi, 'blue')
    plt.xticks([])  #去掉x轴
    plt.title('df=%d时卡方分布分布函数'%(n))

    plt.subplot(433) # 指数分布
    p_exp = st.expon.pdf(y, scale=1/lam)
    result_exp = []
    for i,j in enumerate(p_exp):
        if i == 0:
            result_exp.append(j*delta_y)
        else:
            result_exp.append(result_exp[i-1] + j*delta_y)
    plt.plot(y, result_exp, 'red')
    plt.xticks([])  #去掉x轴
    plt.title('λ=%d时指数分布分布函数'%(lam))

    for j in range(3):
        plt.subplot(4,3,3*j+4) # 均匀分布的抽样
        sample_result = []
        for i in range(1000):
            sample_result.append(np.random.choice(y,size=sample_list[j],p=p_uniform*delta_y/((p_uniform*delta_y).sum())).mean())
        plt.hist(sample_result,color='red')
        plt.xticks([])  #去掉x轴
        plt.title('[%d,%d]区间上的均匀分布的样本量为%d的抽样分布'%(a,b,sample_list[j]))
        
        plt.subplot(4,3,3*j+5) # 卡方分布的抽样
        sample_result = []
        for i in range(1000):
            sample_result.append(np.random.choice(y,size=sample_list[j],p=p_chi*delta_y/((p_chi*delta_y).sum())).mean())
        plt.hist(sample_result,color='blue')
        plt.xticks([])  #去掉x轴
        plt.title('df=%d时卡方分布分布函数的样本量为%d的抽样分布'%(n,sample_list[j]))
        
        plt.subplot(4,3,3*j+6) # 指数分布的抽样
        sample_result = []
        for i in range(1000):
            sample_result.append(np.random.choice(y,size=sample_list[j],p=p_exp*delta_y/((p_exp*delta_y).sum())).mean())
        plt.hist(sample_result,color='blue')
        plt.xticks([])  #去掉x轴
        plt.title('λ=%d时指数分布分布函数的样本量为%d的抽样分布'%(lam,sample_list[j]))
    
    plt.show()
 
if __name__=='__main__':
    plt_sample(0, 5, 4, 2, [2,20,200])

依据中心极限定理做假设检验

举个例子:

小潘同学说:东北财经大学的同学的平均身高是170cm;而你想验证小潘说的对不对;于是你去做了一个抽样,发现样本均值是165cm;于是你陷入了沉思...

问题:到底是你抽样偏误导致了你的结果与小潘同学的说法不同,还是小潘同学说的就是错的呢?

直观上的分析,如果你的抽样抽取了所有人的身高,那么得到的显然就是总体参数;如果你只抽一个人,那么你偏离总体参数的概率就越大;所有你的抽样到底有多接近总体参数取决于你的样本数;

下面给出假设检验的一般步骤

  • 原假设: H0H_0: 东北财经大学的同学的平均身高是170cm,即μ0=170\mu_0 = 170
  • 确定检验统计量,这里采用t检验
  • 设定显著性水平α=0.05\alpha=0.05
  • 确定拒绝域{xt>μ0+1.96σ}\{x||t|>\mu_0+1.96\sigma\}
  • 计算检验统计量t=Xˉμ0σ/nt = \frac{\bar{X}-\mu_0}{\sigma/\sqrt{n}}
  • 做出统计判断

解释如下:

  • 因为抽样分布服从均值为μ0\mu_0,方差为σ2n\frac{\sigma^2}{n}的正态分布N(μ,σ2n)N(\mu,\frac{\sigma^2}{n})
  • 由于抽样分布可能会落在正态分布的两边尾巴处,而设定显著性水平为0.05的意思是:认为0.05(落在正态分布的两边尾巴处)是小概率事件在一次抽样中不可能发生,只要这个一次抽样的结果(即Xˉ\bar{X}落在正态分布的两边尾巴处)发生了,就认为是原假设错了,而不是认为是抽样误差;故这个显著性水平,就是解决上面问题的方法.

这里也只是简单讲了讲假设检验,当然假设检验还有很多内容,比如第一类错误,第二类错误,p-value这些比较常识的内容就不讲了,主要还是在说中心极限定理的作用,另外的假设检验