如下所示:
1
|
interval = stats.t.interval(a,b,mean,std) |
t分布的置信区 间
a:置信水平
b:检验量的自由度
mean:样本均值
std:样本标准差
1
2
3
4
5
6
7
|
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) |
1
2
|
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分布
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 不同自由度的学生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() |
运行结果:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/luoganttcc/article/details/78278933