Kursinhalt
Fortgeschrittene Wahrscheinlichkeitstheorie
Fortgeschrittene Wahrscheinlichkeitstheorie
Gesetz der Großen Zahlen für Bernoulli-Prozess
Ein Bernoulli-Versuch ist ein statistisches Experiment mit nur zwei möglichen Ergebnissen, normalerweise Erfolg und Misserfolg, mit festen Eintrittswahrscheinlichkeiten bei jedem Versuch. Es wurde im Kurs Grundlagen der Wahrscheinlichkeitstheorie ausführlicher behandelt.
In einem Bernoulli-Prozess ist jeder Versuch unabhängig, was bedeutet, dass das Ergebnis eines Versuchs das Ergebnis eines anderen Versuchs nicht beeinflusst. Die Erfolgswahrscheinlichkeit, bezeichnet mit p
, ist für jeden Versuch gleich. Die Wahrscheinlichkeit des Misserfolgs wird durch q = 1 - p
angegeben.
Versuchen wir, das Gesetz der großen Zahlen auf dieses Schema anzuwenden. Angenommen, wir führen n
Experimente durch und möchten die Gesamtzahl der erfolgreichen Ergebnisse berechnen. Gemäß dem Gesetz der großen Zahlen können wir dies wie folgt tun:
Jede Variable im Zähler repräsentiert das Ergebnis eines Experiments: es ist 1
, wenn das Experiment erfolgreich ist (mit Wahrscheinlichkeit p
) und 0
, wenn es fehlschlägt (mit Wahrscheinlichkeit 1-p
).
In diesem Fall sind die Bedingungen des Gesetzes der großen Zahlen erfüllt: die Variablen sind unabhängig (da die Experimente unabhängig sind), identisch verteilt und haben einen endlichen Erwartungswert (wie durch die Verteilungsreihe gezeigt).
Daher können wir das Gesetz der großen Zahlen verwenden, um die Wahrscheinlichkeiten des Eintretens eines Ereignisses zu schätzen, indem wir die Häufigkeit seines Auftretens analysieren.
Zum Beispiel betrachten wir das Werfen einer Münze mit einem verschobenen Schwerpunkt. Unser Ziel ist es, die Wahrscheinlichkeit zu schätzen, dass sie mit Kopf nach oben landet. Schauen Sie sich den folgenden Code an:
import numpy as np import matplotlib.pyplot as plt # Set the probability of heads to 0.3 p = 0.3 # Generate 2000 flips of the coin with probability of heads equal to `p` coin_flips = np.random.choice([1, 0], size=2000, p=[p, 1-p]) # Function that will calculate mean value of subsamples def mean_value(data, subsample_size): return data[:subsample_size].mean() # Visualizing the results x = np.arange(2000) y = np.zeros(2000) for i in range(1, 2000): y[i] = mean_value(coin_flips, x[i]) plt.plot(x, y, label='Estimated probability') plt.xlabel('Number of elements to calculate probability') plt.ylabel('Probability of success') plt.axhline(y=p, color='k', label='Real probability of success') plt.legend() plt.show()
Ähnlich kann das Gesetz der großen Zahlen für ein polynomiales Schema verallgemeinert werden: für 1 betrachten wir das Eintreten des/der für uns interessanten Ereignisses/Ereignisse, und für 0 alle anderen Ergebnisse. Schauen wir uns ein Beispiel an:
import numpy as np import matplotlib.pyplot as plt # Our distribution with 4 possible values outcomes = ['Red', 'Blue', 'Black', 'Green'] # Probabilities of corresponding values probs = [0.3, 0.2, 0.4, 0.1] # Generate samples samples = np.random.choice(outcomes, size=2000, p=probs) # Suppose we want to determine the probability of occurrence of red or black colors. # Let's transform the data in such a way that 1 stands in place of 'Red' and 'Black' colors, # and 0 in place of other colors encoded_samples = np.where(np.logical_or(samples == 'Red', samples == 'Black'), 1, 0) # Function that will calculate mean value of subsamples def mean_value(data, subsample_size): return data[:subsample_size].mean() # Visualizing the results x = np.arange(2000) y = np.zeros(2000) for i in range(1, 2000): y[i] = mean_value(encoded_samples, x[i]) plt.plot(x, y, label='Estimated probability') plt.xlabel('Number of elements to calculate probability') plt.ylabel('Probability of success') plt.axhline(y=probs[0]+probs[2], color='k', label='Real probability of success') plt.legend() plt.show()
Danke für Ihr Feedback!