python统计分析——t分布

参考资料:用python动手学统计学

1、t统计量

t统计量的计算公式为:t=\frac{\hat{\mu}-\mu}{\hat{\sigma}/\sqrt{N}}

其中,\hat{\mu}为样本均值,μ为总体均值,\hat{\sigma}为实际样本的无偏标准差,N为样本容量。

t统计量的公式与标准化公式类似。t统计量可以理解为对样本均值进行标准化。

2、模拟t分布

2.1 获取t值

# 导入库
import pandas as pd
import numpy as np
import scipy as sp
from scipy import stats

import matplotlib.pyplot as plt
import seaborn as sns

# 建立均值为4,标准差为0.8的正态总体
pop=stats.norm(loc=4,scale=0.8)

# 设置随机种子,用于复现结果
np.random.seed(1)
# 添加数组用于存放t值
t_value_array=np.zeros(10000)
# 模拟抽样获取t值,并存放至数组
for i in range(0,10000):
    sample=pop.rvs(size=10)
    sample_mean=np.mean(sample)
    sample_std=np.std(sample,ddof=1)
    sample_se=sample_std/np.sqrt(len(sample))
    t_value_array[i]=(sample_mean-4)/sample_se

2.1 绘制t值分布的直方图

sns.set()
# t值分布直方图,并添加核密度曲线
sns.histplot(t_value_array,kde=True,stat='density')
# 绘制标准正态分布的概率密度曲线
x=np.arange(-8,8.1,0.1)
y=stats.norm.pdf(x=x) # 默认为均值为0,标准差为1的正态分布
plt.plot(x,y,linestyle=":")

       由上图可以看到实线的t分布核密度曲线和虚线的标准正态分布曲线二者没有完全重合。

3、t分布的自由度

若样本容量为N,则N-1为t分布的自由度。当样本容量越大,t分布就约接近于标准正态分布。

4、t分布概率密度曲线和标准正态分布概率密度曲线对比图

x=np.arange(-8,8.1,0.1)
y_u=stats.norm.pdf(x)   # 标准正态分布概率密度 
y_t=stats.t.pdf(x,df=9) # 自由度为9的t分布概率密度
plt.plot(x,y_t,linestyle="-")
plt.plot(x,y_u,linestyle=":")

       t分布相对于标准正态分布更扁平,这是因为t分布以均值的标准误为除数。另外,t分布的数据范围较标正态分布的范围稍大一些,也就是更容易出现远离均值的数据。

5、t分布的意义

      t分布的意义就是在总体方差未知时也可以研究样本均值的分布。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值