gpt4 book ai didi

python - 使用 scipy 的意外置信区间

转载 作者:行者123 更新时间:2023-12-04 15:00:24 26 4
gpt4 key购买 nike

我使用 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

为什么会这样?我错过了什么吗?

最佳答案

这确实是违反直觉的,但事实证明 interval() 方法中的 alpha 参数是包含在边缘内的分布的概率间隔。

因此,计算 95% 置信区间的正确方法是:

X.interval(alpha=0.95)
> (0.19109204017782955, 0.20210795982217045)

这违背了统计中使用的标准命名法,所以我提出了一个 issue on GitHub。显然,它还会导致与其他方法的名称冲突。

关于python - 使用 scipy 的意外置信区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67039931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com