来自t统计的Python p值给出了nan

时间:2015-06-06 20:32:11

标签: python statistics scipy p-value

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

$query = "
SELECT u.username
     , u.rank
     , u.job_id
     , u.date_joined 
     , r.name rankname 
  FROM lr_users u
  LEFT 
  JOIN lr_ranks r
    ON u.rank = r.rank_id;
";

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

请你帮我理解内部发生的事情。另外,如何读取python这些内部函数的代码。

1 个答案:

答案 0 :(得分:2)

这里内部发生​​了什么。好吧,Student t分布是为dof > 0定义的,至少在scipy.stats中: http://docs.scipy.org/doc/scipy-dev/reference/generated/scipy.stats.t.html。 因此,纳:

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

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