【发布时间】:2021-07-06 10:40:56
【问题描述】:
我使用 scipy 计算了 95% 的置信区间,结果与我的预期不同。
我正在解决一个问题,其中有人掷骰子 20K 次并观察到 3,932 个 6。我被要求为掷出 6 的概率建立 95% 的置信区间。 6 的数量遵循二项式分布,重复次数为 20K,成功概率为 3,932 / 20K。
# Number of observations
n_obs = 20000
# Observed proportion of successes
p_obs = 3932 / n_obs
# Observed standard deviation
s_obs = numpy.sqrt((p_obs * (1 - p_obs)) / n_obs)
如果我对这些参数使用正态近似值,则置信区间应为 p_obs ± 1.96 * s_obs。也就是说,介于 0.1911 和 0.2021 之间。
但是,如果我执行以下操作,它会返回一个完全不同的区间。
# Declare normal random variable
X = scipy.stats.norm(loc=p_obs, scale=s_obs)
# Get interval
X.interval(alpha=0.05)
> (0.1964, 0.1968) # Different to what I was expecting
为什么会这样?我错过了什么吗?
【问题讨论】:
标签: python scipy confidence-interval scipy.stats