如何在Python中计算置信区间
在这篇文章中,我们将研究在Python编程语言中使用各种分布来计算置信区间的不同方法。平均数的置信区间是一个可能包含人口平均数的数值范围,具有一定的置信度。
公式:
- x:样本平均数
- t:与信心水平相对应的t值
- s:样本标准差
- n:样本量
方法1:使用t分布计算置信区间
这种方法用于计算n<=30的小数据集的置信区间,为此,用户需要调用scipy.stats库中的t.interval()函数来获得python中给定数据集的群体平均值的置信区间。
语法: st.t.interval(alpha, length, loc, scale))
参数:
- alpha:从返回的范围中抽取一个RV的概率。
- length:数据集的长度
- loc: 位置参数
- scale:刻度参数
示例 1:
在这个例子中,我们将使用大小为(n=20)的数据集,并将使用t分布计算90%的置信区间,使用t.interval()函数,在python中传递α参数为0.90。
输出:
示例 2:
在这个例子中,我们将使用大小为(n=20)的数据集,并将使用t分布计算90%的置信区间,使用t.interval()函数,在python中传递α参数为0.99。
输出:
从实例1和实例2的解释:
在例1中,计算出的90%人口的置信区间是(2.96-4.83),而在例2中,计算出的99%人口的置信区间是(2.34-5.45),可以解释为例2的置信区间比例1的95%人口的置信区间宽,这意味着[2.34,5.45]的置信区间有99%的机会包含真实的人口平均值。
方法2:使用正态分布计算置信区间
这种方法用于计算n>30的大数据集的置信区间,为此,用户需要调用scipy.stats库中的norm.interval()函数来获得给定数据集的群体平均值的置信区间,在python中数据集为正态分布。
语法: st.norm.interval(alpha, loc, scale))
参数:
- alpha: 从返回的范围中抽取一个RV的概率。
- loc: 位置参数
- scale: 规模参数
示例 3:
在这个例子中,我们将使用大小为(n=100)的随机数据集,并使用norm.interval()函数的norm分布计算90%的置信区间,并在python中传递α参数为0.90。
输出:
示例 4:
在这个例子中,我们将使用大小为(n=100)的随机数据集,并使用norm.interval()函数的norm分布来计算99%的置信区间,并在python中传递α参数为0.99。
输出:
从例3和例4的解释:
在例3中,计算出的90%人口的置信区间是(6.92-7.35),而在例4中计算出的99%人口的置信区间是(6.68-7.45),可以解释为例4的置信区间比例3的95%人口的置信区间宽,这意味着[6.68,7.45]的置信区间有99%的机会包含真实的人口平均值。