微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Scipy 置信区间返回与手动计算不同的界限

如何解决Scipy 置信区间返回与手动计算不同的界限

我有来自 10 个不同人的以下数据。

df = pd.DataFrame({'id':range(1,11),'x':[.7,-1.6,-.2,-1.2,-.1,3.4,3.7,.8,2]})
print(df)
   id    x
0   1  0.7
1   2 -1.6
2   3 -0.2
3   4 -1.2
4   5 -0.1
5   6  3.4
6   7  3.7
7   8  0.8
8   9  0.0
9  10  2.0

我想计算 df[x] 的总体均值的 95% 置信区间。

由于观察次数很少,样本均值应遵循 t 分布,自由度为 10 - 1。我尝试了以下方法来计算 95% 的 C.I.使用 scipy

# Libraries
import numpy as np
from scipy import stats

# Number of observations
n_obs = 10

# Observed mean
m_obs = df['x'].mean()

# Observed variance (unbiased)
v_obs = df['x'].var(ddof=1) / n_obs

# Declare random variable with observed parameters
t = stats.t(df=n_obs - 1,loc=m_obs,scale=np.sqrt(v_obs))

# Calculate 95% CI
t.interval(alpha=0.95)
> (-0.5297804134938646,2.0297804134938646) ### Correct interval

这个置信区间是正确的。但是,当我手动计算间隔时,我得到了完全不同的结果。这是什么原因造成的?

# T such that P(t < T) = 0.975
T = t.ppf(0.975)

# Manually compute interval
(m_obs - (T * np.sqrt(v_obs)),m_obs + (T * np.sqrt(v_obs)))
> (-0.3983168630668432,1.8983168630668432) ### Incorrect interval

解决方法

自从我在评论中发布答案以来已经两周了,但没有人对此表示赞赏,所以它是这样的:

两个置信区间不同的原因是值T累积了t概率分布下面积的97.5%,而t的均值m_obs和方差v_obs。也就是说,它不是一个标准的t分布。

只需将 T 设为标准 t 分布概率的 0.975 的累加值,即可正确计算出正确的区间:

# Number of observations                                      (UNCHANGED)
n_obs = 10

# Observed mean                                               (UNCHANGED)
m_obs = df['x'].mean()

# Observed variance (unbiased)                                (UNCHANGED)
v_obs = df['x'].var(ddof=1) / n_obs

# Declare *STANDARD* t distribution                           (CHANGED!!!)
t = stats.t(df=n_obs - 1,loc=0,scale=1)

# T such that P(x < T) = 0.975                              (CHANGED!!!)
T = t.ppf(0.975)

# Manually compute interval                                   (CORRECT ANSWER)
(m_obs - (T * np.sqrt(v_obs)),m_obs + (T * np.sqrt(v_obs)))
> (-0.5297804134938646,2.0297804134938646)

这会产生正确的答案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。