2017-11-26 3 views
0

Ich versuche, eine Funktion in numpy zu finden, die die Wahrscheinlichkeit gibt, eine Sequenz bei einer anfänglichen binomischen Wahrscheinlichkeitsverteilung zu beobachten. Wenn beispielsweise die Sequenz [H, T, H, T, H, T, H, T] und H beide 0,5 Wahrscheinlichkeiten hatte, gibt es eine Funktion, die die niedrige Wahrscheinlichkeit ergibt, diese Zählungen zu beobachten H und T (Reihenfolge spielt keine Rolle)?Statistik: Wahrscheinlichkeit der Sequenz gegeben Binomialverteilung?

Ich habe versucht, das Beispiel in der numpy Dokumentation zu folgen, aber mein Code unten ist eine sehr geringe Wahrscheinlichkeit (5,8%) zu geben, wenn es in der Nähe von 50% liegen sollte: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.random.binomial.html#numpy.random.binomial

import numpy as np 

p_H = 0.5 
p_T = 1 - p_H 

seq = ['H', 'T', 'H', 'T', 'H', 'T', 'H', 'T'] 

num_H = seq.count('H') 

p_obs = sum(np.random.binomial(num_H, p_H, 1000)==num_H)/1000 

print('Probability of observing', num_H, 'H:',p_obs) 

Ich stelle mir vor ich Ich vermisse etwas Offensichtliches, aber ich kann es nicht herausfinden. Vielen Dank!

+0

Gibt es irgendwelche Tippfehler in dem Satz "... und H hatten beide 0,5 Wahrscheinlichkeiten, gibt es eine Funktion, die die geringe Wahrscheinlichkeit der Beobachtung geben wird ..."? Was bedeutet "geringe Wahrscheinlichkeit"? Die Frage ist nicht klar. –

Antwort

2

Sie mögen die Wahrscheinlichkeit eines beobachteten Wert k gegeben n Versuche mit unabhängiger Wahrscheinlichkeit p berechnen, wie:

choose(n, k) * p**k * (1-p)**(n-k) 

, die die Wahrscheinlichkeit Massenfunktion der Binomialverteilung ist. Es ist auch über

binom.pmf(k) 
+0

Perfekt. Vielen Dank! – user6142489

2

Die Antwort Sie bekommen die Chance von 4 in einer Reihe bekommen - oder etwa 6% (4, 4 mehr als 1000 Proben mit p genommen = 0,5)

Was Sie wollen ist: p_obs = sum(np.random.binomial(len(seq), p_H, 1000)==num_H)/1000

+0

Ah, ich sehe - ok, also war das eine Antwort auf ein anderes Problem. Vielen Dank. – user6142489

Verwandte Themen