python 计算t分布的双侧置信区间

如下所示:

interval=stats.t.interval(a,b,mean,std)

t分布的置信区 间

a:置信水平

b:检验量的自由度

mean:样本均值

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)
mean=x1.mean()
std=x1.std()
interval=stats.t.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()

运行结果:

python 计算t分布的双侧置信区间_第1张图片

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

你可能感兴趣的:(python 计算t分布的双侧置信区间)