Ich habe diesen Datensatz:Python, Binomialwert berechnen P Wert: Sieht dieser Code richtig aus?
ItemNumber Successes Trials Prob
15 14 95 0.047
9625 20 135 0.047
19 14 147 0.047
24 12 120 0.047
20 15 133 0.047
22 8 91 0.047
9619 16 131 0.047
10006 8 132 0.047
25 15 127 0.047
ich einen culmulative Binomialverteilung p-Wert für jedes Element identifizieren will, die Wahrscheinlichkeit der Beobachtung eine gleiche oder höhere Anzahl von Artikeln Vorkommen zu verstehen.
habe ich diesen Code:
import sys
import scipy
from scipy.stats.distributions import binom
import sys
for line in open(sys.argv[1], 'r').readlines():
line = line.strip().split()
Item,num_succ,num_trials,prob = line[0],int(line[1]),int(line[2]),float(line[3])
print Item + "\t" + str(num_succ) + "\t" + str(num_trials) + "\t" + str(prob) + "\t" + str(1 - (binom.cdf(num_succ, num_trials, prob)))
Die Ausgabe sieht wie folgt aus:
Item NumSucc NumTrials Prob Binomial
15 14 95 0.047 3.73e-05
9625 20 135 0.047 1.48e-06
19 14 147 0.047 0.004
24 12 120 0.047 0.0043
20 15 133 0.047 0.00054
22 8 91 0.047 0.027
9619 16 131 0.047 0.0001
10006 8 132 0.047 0.169
25 15 127 0.047 0.0003
Das Problem: Wenn ich eine Zeile auswählen und überprüfen Sie die erhaltenen kumulativen binomischen p-Wert gegen einen Online-Tool wie dies: http://stattrek.com/online-calculator/binomial.aspx, sind die Ergebnisse nicht das Gleiche.
Zum Beispiel
Für Artikel 20 (# Erfolge = 15, # Versuche = 133, Prob = 0,047):
My Binomial P Val = 0.00054
StatTrek P Val = 0.0015
Allerdings kann ich von StatTrek sehen, dass das, was ich ausgesehen haben oben ist die Culmulative Wahrscheinlichkeit: P (X> 15), aber da ich "gleich oder größer als" wollen, was ich eigentlich berechnen möchte, ist die P (X> = 15) (die 0,0015 ist).
Ich kämpfe richtig den obigen Code zu bearbeiten, den P-Wert von „findet Zahl der Fälle größer als“ zurückgekehrt ändern zu „größer die Anzahl der Fälle finden als oder gleich“. Wenn jemand demonstrieren könnte, würde ich es begrüßen. Wenn Sie sich this question ansehen, habe ich versucht, Volodymyrs Kommentar zu folgen.