2013-07-09 4 views
18

Ich habe einige t-Werte und Freiheitsgrade und möchte die p-Werte von ihnen finden (es ist zwei-tailed). In der realen Welt würde ich eine T-Test-Tabelle in der Rückseite eines Statistics-Lehrbuchs verwenden; Wie mache ich das Äquivalent in Python?Python p-Wert von t-statistic

d.h.

t-lookup(5, 7) = 0.04156 oder etwas ähnliches (konfektionierten Zahlen).

Ich weiß in SciPy, wenn ich Arrays hätte ich tun können, aber ich nicht. Ich habe nur T-Statistiken und Freiheitsgrade.

+0

Vermutlich existieren Statistiktabellen zur Bequemlichkeit, anstatt diese Werte aus einer Gleichung zu berechnen. Wenn dies ein Computerprogramm ist, warum verwenden Sie diese Gleichung nicht direkt? – dilbert

+0

Es ist ziemlich kompliziert. Ich würde hoffen, dass es irgendwo in einer Bibliothek eine Methode gibt, die das für mich tun könnte. –

Antwort

23

Von http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html

Als Übung können wir unseren TTEST auch direkt berechnen, ohne mit der mitgelieferten Funktion, die uns die gleiche Antwort geben sollte, und so ist es tut:

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 
+0

Warum nennen sie es (stats.t.sf) eine Überlebensfunktion? Ist es das gleiche wie https://en.wikipedia.org/wiki/Survival_function – wordsforthewise