告诉我为什么函数使用 (1 + confidence) / 2. ? 你能提供一个公式吗?对于单尾假设和双尾假设,这个函数有何不同?
import numpy as np
import scipy.stats
def mean_confidence_interval(data, confidence=0.95):
a = 1.0 * np.array(data)
n = len(a)
m, se = np.mean(a), scipy.stats.sem(a)
h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1)
return m, m-h, m+h
因为有单边和双边的置信区间。如果给定一定的显着性水平α,那么它会切断分布密度函数曲线下的部分区域。如果区间是单边的,那么只取alpha,如果是双边的,那么就分成两部分,而很明显(1+alpha)/2这个值对应的截止点是被搜索。(即 95% 的区域必须适合这两个点。例如,alpha =0.95 - 在对应于 0.025 和 0.975 的点之间)。
我再告诉你一个秘密——在某些情况下(方法、库、函数),alpha 本身被设置为 alpha,而在其他情况下——设置为 1-alpha。这需要非常仔细地监控。
公式可以在任何统计教科书中找到。但是,从这里的教科书中要复制哪个公式的问题并不清楚。