两个样本方差比的分布(来自Python的实验)

模拟结果图

按照两个样本方差比分布的理论推导可以得到
F=\frac{{S^2_1}/{S^2_2}}{{\sigma^2_1}/{\sigma^2_2}}\sim F(n_1-1,n_2-1)
这里S^2为样本方差,\sigma^2为总体方差。

这里将对这一结论进行基于Python的计算机模拟。代码如下。

1 生成两个总体,总体1服从正态分布N(4,3^2),总体2服从正态分布N(7,2^2)

import matplotlib.pyplot as plt #加载可视化工具
import seaborn as sns #加载可视化工具
import numpy as np #加载numpy工具
import pandas as pd
np.random.seed(1234)# 设置随机数种子,保证每次的随机数相同
pdata1=4+3*np.random.randn(50000) #生成服从标准正态分布的50000个数据
np.random.seed(2345)
pdata2=7+2*np.random.randn(50000) #生成服从标准正态分布的50000个数据
sns.distplot(pdata1,bins=50,kde=True,label="$N(4,3^2)$") #绘制直方图,50个分箱(直方),kde表示需要密度曲线
sns.distplot(pdata2,bins=50,kde=True,label="$N(7,2^2)$") #绘制直方图,50个分箱(直方),kde表示需要密度曲线
plt.title("Population")
plt.legend()
plt.show()
总体分布

2 随机抽样5000次,样本量分别为50和40,得到两个样本方差S^2_1,S^2_2的分布,以及\frac{{S^2_1}/{S^2_2}}{{\sigma^2_1}/{\sigma^2_2}}的分布

from tqdm import tqdm
import statistics
loop_var=pd.DataFrame(columns=('vars1', 'vars2','vars_ratio'))

loop=5000
n_size=[50,40]
for loop in tqdm(range(loop)):
    np.random.seed(loop+1)
    sample1 = np.random.choice(pdata1, size=n_size[0]) 
    vars1 = statistics.variance(sample1)
    np.random.seed(loop+1+5000)
    sample2 = np.random.choice(pdata2, size=n_size[1]) 
    vars2 = statistics.variance(sample2)
    vars_ratio=(vars1/9)/(vars2/4)
    loop_var=loop_var.append(pd.DataFrame({'vars1':[vars1],'vars2':[vars2],'vars_ratio':[vars_ratio]}),ignore_index=True)
loop_var.head()

3 画出两个样本方差S^2_1,S^2_2的分布图,以及\frac{{S^2_1}/{S^2_2}}{{\sigma^2_1}/{\sigma^2_2}}的分布图

import matplotlib.pyplot as plt #加载可视化工具
import seaborn as sns #加载可视化工具

plt.figure()
fig = plt.figure(figsize=(8,5))
sns1=sns.distplot(loop_var["vars1"],bins=30,kde=True,label="Distribution of sample variance 1") #绘制直方图,30个分箱(直方),kde表示需要密度曲线
sns2=sns.distplot(loop_var["vars2"],bins=30,kde=True,label="Distribution of sample variance 2") 
sns3=sns.distplot(loop_var["vars_ratio"],bins=30,kde=True,label="Distribution of sample variance ratio") 
#plt.xlabel("X")
plt.legend()
plt.show()
抽样分布

动动手,让统计学变得更有趣!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。