python计算t分布的双侧置信区间
如下所⽰:
interval(a,b,mean,std)
t分布的置信区间
a:置信⽔平
b:检验量的⾃由度
mean:样本均值
numpy库是标准库吗
std:样本标准差
from scipy import stats
import numpy as np
x=[10.1,10,9.8,10.5,9.7,10.1,9.9,10.2,10.3,9.9]
x1=np.array(x)
an()
std=x1.std()
interval(0.95,len(x)-1,mean,std)
interval
Out[9]: (9.531674678392644, 10.568325321607357)
补充:⽤Python学分析 - t分布
1. t分布形状类似于标准正态分布
2. t分布是对称分布,较正态分布离散度强,密度曲线较标准正态分布密度曲线更扁平
3. 对于⼤型样本,t-值与z-值之间的差别很⼩
作⽤
-
t分布纠正了未知的真实标准差的不确定性
- t分布明确解释了估计总体⽅差时样本容量的影响,是适合任何样本容量都可以使⽤的合适分布
应⽤
- 根据⼩样本来估计呈正态分布且⽅差未知的总体的均值
- 对于任何⼀种样本容量,真正的平均值抽样分布是t分布,因此,当存在疑问时,应使⽤t分布
样本容量对分布的影响
- 当样本容量在 30-35之间时,t分布与标准正态分布难以区分
- 当样本容量达到120时,t分布与标准正态分布实际上完全相同了
⾃由度df对分布的影响
- 样本⽅差使⽤⼀个估计的参数(平均值),所以计算置信区间时使⽤的t分布的⾃由度为 n - 1
- 由于引⼊额外的参数(⾃由度df),t分布⽐标准正态分布的⽅差更⼤(置信区间更宽)
  - 与标准正态分布曲线相⽐,⾃由度df越⼩,t分布曲线愈平坦,曲线中间愈低,曲线双侧尾部翘得愈⾼  - ⾃由度df愈⼤,t分布曲线愈接近正态分布曲线,当⾃由度df= ∞ 时,t分布曲线为标准正态分布曲线图表显⽰t分布
代码:
# 不同⾃由度的学⽣t分布与标准正态分布
import numpy as np
from scipy.stats import norm
from scipy.stats import t
import matplotlib.pyplot as plt
print('⽐较t-分布与标准正态分布')
x = np.linspace( -3, 3, 100)
plt.plot(x, t.pdf(x,1), label='df=1')
plt.plot(x, t.pdf(x,2), label='df=20')
plt.plot(x, t.pdf(x,100), label = 'df=100')
plt.plot( x[::5], norm.pdf(x[::5]),'kx', label='normal')
plt.legend()
plt.show()
运⾏结果:
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。