P-значение Python из t-статистики
У меня есть некоторые t-значения и степени свободы, и я хочу найти из них p-значения (они двусторонние). В реальном мире я использовал бы таблицу t-теста в конце учебника по статистике; Как мне сделать эквивалент в Python?
например
t-lookup(5, 7) = 0.00245
или что-то в этом роде.
Я знаю в SciPy, если бы у меня были массивы, я мог бы сделать scipy.stats.ttest_ind
, но я не знаю. У меня просто есть t-статистика и степени свободы.
Ответы
Ответ 1
С
http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html
Как упражнение, мы можем рассчитать наш тест также непосредственно, не используя предоставленную функцию, которая должна дать нам тот же ответ, и поэтому делает:
tt = (sm-m)/np.sqrt(sv/float(n)) # t-statistic for mean
pval = stats.t.sf(np.abs(tt), n-1)*2 # two-sided pvalue = Prob(abs(t)>tt)
print 't-statistic = %6.3f pvalue = %6.4f' % (tt, pval)
t-statistic = 0.391 pvalue = 0.6955
Ответ 2
Продолжение принятого ответа:
Значение p одностороннего t-критерия - это значение p двустороннего критерия, деленное на 2:
pval_one_sided = stats.t.sf(np.abs(tt), n-1)