Подтвердить что ты не робот

P-значение Python из t-статистики

У меня есть некоторые t-значения и степени свободы, и я хочу найти из них p-значения (они двусторонние). В реальном мире я использовал бы таблицу t-теста в конце учебника по статистике; Как мне сделать эквивалент в Python?

например

t-lookup(5, 7) = 0.00245 или что-то в этом роде.

Я знаю в SciPy, если бы у меня были массивы, я мог бы сделать scipy.stats.ttest_ind, но я не знаю. У меня просто есть t-статистика и степени свободы.

4b9b3361

Ответ 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)