中心极限定理和置信区间

大数定律

大数定律不涉及到数据分布,
随着样本增大,抽样分布近似总体分布,算术平均值接近其期望值。

中心极限定理

中心极限定理是说无论抽样分布如何,随机变量求和服从正态分布。

用正态分布逼近二项分布,所以我们使用二项分布来模拟正态分布。
正态分布模拟

import numpy as np
from numpy import random as nprd
## 导入matplotlib
import matplotlib.pyplot as plt


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)

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.savefig('simulation')
# plt.show() ## 画图

置信区间

一个区间可信的程度(概率),分布的概率密度面积。

正态分布

密度函数关于平均值对称
平均值与它的众数(statistical mode)以及中位数(median)同一数值。
函数曲线下68.268949%的面积在平均数左右的一个标准差范围内。

  • 95.449974%的面积在平均数左右两个标准差的范围内。
  • 99.730020%的面积在平均数左右三个标准差的范围内。
  • 99.993666%的面积在平均数左右四个标准差的范围内。

猜你喜欢

转载自blog.csdn.net/the_harder_to_love/article/details/89049124