-3

我有一些 t 值和自由度,并想从中找到 p 值(它是双尾的)。在现实世界中,我会使用统计教科书背面的 t 检验表;但是,我在 python 中使用 stdtr 或 stats.t.sf 函数。它们都适用于小自由度,但给我 nan 大自由度:

pf = 2*stdtr(dof, -np.abs(tf))
pval = 2*stats.t.sf(np.abs(tf), dof-1)

tf = -11.374250, dof=-2176568.362223 给出 pf 和 pval= nan。

你能帮我了解一下内部发生的事情吗?此外,如何阅读python这些内部函数的代码。

4

1 回答 1

2

重新在内部发生什么。dof > 0好吧,至少在 scipy.stats 中定义了 Student t 分布: http ://docs.scipy.org/doc/scipy-dev/reference/generated/scipy.stats.t.html 。因此一个nan:

In [11]: stats.t.sf(-11, df=10)
Out[11]: 0.99999967038443183

In [12]: stats.t.sf(-11, df=-10)
Out[12]: nan
于 2015-06-08T10:56:01.320 回答