10

我有兴趣使用 python 计算学生 t 的置信区间。

我在 Mathematica 中使用 StudentTCI() 函数,现在需要在 python http://reference.wolfram.com/mathematica/HypothesisTesting/ref/StudentTCI.html中编写相同的函数

我不太确定如何自己构建这个函数,但在我开始之前,这个函数在 python 中的某个地方吗?像麻木?(我没有使用过 numpy,我的顾问建议尽可能不要使用 numpy)。

解决这个问题的最简单方法是什么?我可以将 numpy 中 StudentTCI() 的源代码(如果存在)复制到我的代码中作为函数定义吗?

编辑:我将需要使用 python 代码(如果可能)构建学生 TCI。安装 scipy 变成了死胡同。我遇到了其他人都遇到的同样问题,如果设置需要这么长时间,我就无法要求 Scipy 分发我分发的代码。

有人知道如何查看 scipy 版本中算法的源代码吗?我想我会将它重构为 python 定义。

4

1 回答 1

17

我想你可以使用scipy.stats.t它的interval方法:

In [1]: from scipy.stats import t
In [2]: t.interval(0.95, 10, loc=1, scale=2)  # 95% confidence interval
Out[2]: (-3.4562777039298762, 5.4562777039298762)
In [3]: t.interval(0.99, 10, loc=1, scale=2)  # 99% confidence interval
Out[3]: (-5.338545334351676, 7.338545334351676)

当然,如果你愿意,你可以制作自己的函数。让我们让它看起来像Mathematica

from scipy.stats import t


def StudentTCI(loc, scale, df, alpha=0.95):
    return t.interval(alpha, df, loc, scale)

print StudentTCI(1, 2, 10)
print StudentTCI(1, 2, 10, 0.99)

结果:

(-3.4562777039298762, 5.4562777039298762)
(-5.338545334351676, 7.338545334351676)
于 2013-06-20T05:13:54.063 回答