Skip to Tutorial Content

09.08.2024

Markus Konrad

Diskrete Wahrscheinlichkeitsverteilungen

Die Dichtefunktion der Binomialverteilung

Ein Praxisbeispiel – Arbeitet der Chatbot wie versprochen?

Stellen Sie sich vor, Sie arbeiten in einer Firma, die einen Chatbot entwickelt, der Wegbeschreibungen erzeugt, z.B. für die Anfrage “Wie komme ich mit dem Auto von Berlin, Treskowallee 8 zur Universität Potsdam?”

Ähnlich wie bei ChatGPT sind die Antworten des Chatbots immer etwas unterschiedlich, selbst wenn man dieselbe Frage stellt. Ihre Kollegin, die den Chatbot maßgeblich entwickelt hat, behauptet, dass dessen Antworten in 91% aller Fälle korrekt sind, also eine vernünftige Wegbeschreibung mit korrekter Grammatik liefert. Sie sollen diese Angabe jetzt prüfen. Sie stellen also dem Chatbot mehrfach dieselbe Frage (jeweils in einer neuen Chatsession) und zählen dann, wie oft die Antwort des Bots korrekt war. Nach 35 Versuchen haben Sie keine Lust mehr und wollen eine erste Auswertung machen. Sie haben bei den 35 Versuchen 29 korrekte Antworten gezählt, das sind etwa \(82.9\%\). Sie möchten jetzt wissen: Wenn die Angabe von 91% korrekten Antworten stimmt, wie wahrscheinlich ist es dann, dass wie bei meinem Experiment 29 von 35 Antworten korrekt sind? Sie können somit schon nach nur vergleichsweise wenigen Versuchen einschätzen, wie sehr man einer Aussage wie der Ihrer Kollegin trauen kann. Allerdings muss man bei solchen errechneten Wahrscheinlichkeiten immer die gesamte Wahrscheinlichkeitsverteilung betrachten und dazu in Bezug setzen – z.B. wie wahrscheinlich ist es 29 korrekte Antworten zu haben im Vergleich zu 30 oder 31 korrekten Antworten?

Einführung

Wir können uns zunächst vorstellen, dass die Generierung einer Antwort durch den Chatbot ein Bernoulli-Experiment oder Bernoulli-Versuch darstellt. Solch ein “Experiment” hat immer zwei mögliche Ergebnisse: Erfolg oder Misserfolg, wobei die Wahrscheinlichkeit für Erfolg als \(p\) angegeben wird. In unserem Fall ist die Erfolgswahrscheinlichkeit \(p=91\%\) – zumindest wird das von Ihrer Kollegin behauptet. Wir können Erfolg und Misserfolg als Ereignisse einer Zufallsvariable \(X\) ansehen. Dann ergibt sich eine ganz einfache diskrete Wahrscheinlichkeitsverteilung für \(X\) mit nur zwei möglichen Werten \(0\) für Misserfolg und \(1\) für Erfolg. Damit ergibt sich auch automatisch die Wahrscheinlichkeit für Misserfolg, nämlich \(q = 1-p = 9\%\), denn die Summe der Wahrscheinlichkeiten für alle Werte einer Zufallsvariable muss immer \(100\%\) ergeben.

Die Wahrscheinlichkeitsfunktion oder auch Dichtefunktion für \(X\) ist nun eine Funktion \(f(x)\), die jedem möglichen Wert von \(X\) eine Wahrscheinlichkeit zuordnet, also \(f(x) = P(X=x)\). In der obigen Grafik ist schon die Dichtefunktion für die Bernoulli-Verteilung dargestellt, denn sie ist ganz einfach: \(f(0) = 0.09\) und \(f(1) = 0.91\).

Für unsere Praxisfrage sind wir schon ein kleines Stück weiter: Wir können jede Generierung einer Antwort als Bernoulli-Versuch auffassen mit einer Erfolgswahrscheinlichkeit \(p=0.91\). Allerdings machen wir nicht nur einen Versuch, sondern viele und zählen dabei die Anzahl der Erfolge. Unsere Frage war dann, wie wahrscheinlich es ist, dass 29 von 35 Antworten korrekt sind, wenn üblicherweise 91% der Antworten richtig sind.

Die Binomialverteilung

Eine solche Fragestellung lässt sich mit Hilfe der Binomialverteilung lösen. Hierbei beschreibt die Binomialverteilung die Anzahl der Erfolge bei mehrfachen identischen und unabhängigen Versuchen, wobei jeder Versuch entweder als Erfolg oder als Misserfolg ausgehen kann. Die Anzahl der Versuche wird als Parameter \(n\) bezeichnet. Die Erfolgswahrscheinlichkeit für jeden Versuch muss dabei konstant sein und wird als Parameter \(p\) bezeichnet. Ist eine Zufallsvariable \(X\) binomialverteilt mit \(n\) Versuchen bei einer Erfolgswahrscheinlichkeit \(p\), wird das mit folgender Notation dargestellt:

\[ X \sim B(n, p) \]

Da dem Chatbot immer dieselbe Frage gestellt wurde und Sie auch immer mit einer frischen Chatsession gestartet sind, können wir davon ausgehen, dass die Annahmen der Binomialverteilung erfüllt sind, d.h. wir können von identischen und unabhängigen Versuchen mit einer konstanten Erfolgswahrscheinlichkeit ausgehen. Somit ist die Zufallsvariable \(X\) die Anzahl der korrekten Antworten. Versuchen Sie jetzt, die Parameter der Binomialverteilung auf unser Beispiel zu übertragen:

Die Anzahl korrekter Antworten als binomialverteilte Variable

Der Chatbot antwortet üblicherweise in 91% der Fälle korrekt. Ein Experiment mit 35 Versuchen ergibt 29 korrekte Antworten. Die Anzahl der korrekten Antworten lässt sich als Zufallsvariable \(X\) auffassen, die binomialverteilt ist mit \(X \sim B(35, 0.91)\).

Dichtefunktion der Binomialverteilung

Wir können die Zufallsvariable \(X\) somit als binomialverteilt auffassen mit Erfolgswahrscheinlichkeit \(p=0.91\) bei \(n=35\) Versuchen: \(X \sim B(35, 0.91)\). Um herauszubekommen, wie wahrscheinlich es unter diesen Umständen ist, dass 29 Antworten des Chatbots korrekt waren, müssen wir also \(P(X=29)\) bestimmen. Das können wir mit Hilfe der Wahrscheinlichkeitsfunktion bzw. Dichtefunktion \(f(x)\) der Binomialverteilung machen.

Zunächst können wir uns die 35 Versuche als eine Reihe von korrekten und falschen Antworten des Chatbots vorstellen, wobei Sie in Ihrem Experiment 29 korrekte Antworten hatten. Grafisch dargestellt wäre das eine solche Antwortfolge:

Die Versuche sind identisch, d.h. bei jedem Versuch ist die Erfolgswahrscheinlichkeit konstant mit \(p=0.91\). Durch die Unabhängigkeit der Versuche können wir die Wahrscheinlichkeiten für jeden der 35 Versuche miteinander multiplizieren. Wir haben 29 korrekte Antworten (also 29 “Erfolge”) und 6 falsche Antworten. Damit können wir die Wahrscheinlichkeit für eine Antwortfolge wie die oben dargestellte berechnen als \(\color{blue}{0.91^{29}} \cdot \color{darkgray}{(1 - 0.91)^6} = 0.000000034487\). Das ist eine verschwindend geringe Wahrscheinlichkeit.

Wir müssen allerdings bedenken, dass die oben dargestellte Reihe von Antworten nur einen möglichen Ausgang des Experiments unter vielen darstellt. Wie viele genau? Dabei hilft die Kombinatorik. Wir können uns vorstellen, dass wir 35 Kästchen haben, von denen wir 29 als “korrekt” markieren können und dementsprechend 6 als “falsch”. Dabei spielt die Reihenfolge, in der wir die Kästchen markieren keine Rolle. Beispielhaft sollen fünf mögliche Reihen von korrekten und falschen Antworten dargestellt werden:

Die Anzahl der möglichen Antwortfolgen lässt sich über den Binomialkoeffizienten \(n \choose k\) bestimmen. In unserem Fall wären das also \({35 \choose 29} = 1,623,160\) Möglichkeiten. Wir haben vorher schon die Wahrscheinlichkeit dafür berechnet, dass genau eine dieser Antwortfolgen auftritt. Somit können wir diese Wahrscheinlichkeit multiplizieren mit der Anzahl aller Antwortfolgen und erhalten:

\[ P(X=29) = {35 \choose 29} \cdot 0.91^{29} \cdot (1 - 0.91)^6 \approx 0.056. \]

Wir können das Ergebnis jetzt auch verallgemeinern. Nehmen wir an, wir haben nicht 35 Versuche gemacht, sondern beliebig viele, also \(n\). Außerdem sei die Erfolgswahrscheinlichkeit \(p\) und gesucht sei \(P(X=x)\). Das ist also die Wahrscheinlichkeit, dass eine binomialverteilte Variable \(X \sim B(n, p)\) den Wert \(x\) annimmt, d.h. dass \(x\) Erfolge bei \(n\) Versuchen auftreten. Die Wahrscheinlichkeit für \(x\) Erfolge ist \(p^x\). Damit bleiben \(n-x\) Misserfolge und deren Wahrscheinlichkeit ist \((1 - p)^{n-x}\). Es gibt \({n \choose x}\) mögliche Anordnungen von \(x\) Erfolgen bei \(n\) Versuchen. Somit erhalten wir die Dichtefunktion der Binomialverteilung:

\[ f(x) = P(X=x) = {n \choose x} p^x (1 - p)^{n-x}. \]

Diese Funktion ist auch in R implementiert und zwar als Funktion dbinom mit den Parametern x, size (entspricht \(n\)) und prob (entspricht \(p\)).

Dichtefunktion der Binomialverteilung

\[ f(x) = P(X=x) = {n \choose x} p^x (1 - p)^{n-x}. \]

  • Wahrscheinlichkeit, dass \(X\) genau den Wert \(x\) annimmt
  • \(n\) – Anzahl Versuche
  • \(x\) – Anzahl Erfolge
  • \(p\) – Erfolgswahrscheinlichkeit pro Versuch
  • Funktion in R: dbinom(x, n, p)

Programmieraufgabe 1

Prüfen Sie das obige Ergebnis, indem Sie im R-Codefeld unten dbinom mit den richtigen Parametern aufrufen. Es reicht, wenn Sie die Lücke ausfüllen, benutzen Sie nicht print oder ähnliches.

dbinom(___)
dbinom(29, 35, 0.91)

Die Dichtefunktion der Binomialverteilung erlaubt es uns, für jeden Wert, den eine binomialverteilte Variable \(X\) annehmen kann, die entsprechende Wahrscheinlichkeit zu bestimmen. Damit lässt sich die Verteilung mittels eines Säulendiagramms darstellen. Im Folgenden sehen Sie eine interaktive Grafik mit solch einem Säulendiagramm und darunter den R-Code für dbinom. Die Parameter für die Binomialverteilung können Sie auf der rechten Seite steuern. Versuchen Sie damit noch einmal \(P(X=29)\) für die Binomialverteilung aus unserem Praxisbeispiel zu bestimmen. Betrachten Sie auch die gesamte Wahrscheinlichkeitsverteilung: wie wahrscheinlich sind im Vergleich dazu Werte wie \(P(X=30)\) oder \(P(X=32)\)?



Meistens ist die Wahrscheinlichkeit, dass eine Zufallsvariable einen bestimmten Wert annimmt, gar nicht so interessant, denn man muss eine solche Wahrscheinlichkeit immer in Relation setzen zu den Wahrscheinlichkeiten für die anderen Werte, die die Zufallsvariable annehmen kann. In der Praxis ist es oft relevanter, die Wahrscheinlichkeit dafür zu ermitteln, dass eine Zufallsvariable Werte in einem bestimmten Bereich oder bis zu einem bestimmten Grenzwert annimmt, z.B. Werte innerhalb einer Fehlertoleranz oder über einer minimalen Erfolgsquote. Solche Wahrscheinlichkeiten bestimmen zu können, ist extrem wichtig zur Qualitätskontrolle. Wie man das macht, erfahren Sie auf der nächsten Seite. Dabei wird auch die hier vorgestellte Dichtefunktion der Binomialverteilung wieder zum Zug kommen.

Verteilungsfunktion

Ihre Projektleitung sagt, dass bei 35 Anfragen an den Chatbot mindestens 31 davon korrekt sein sollten. Sie sollen jetzt herausfinden, wie hoch die Wahrscheinlichkeit ist, dass von 35 Anfragen an den Chatbot mindestens 31 korrekt beantwortet werden, wenn üblicherweise 91% aller Anfragen korrekt beantwortet werden.

Diese Frage ist recht ähnlich zur ersten, nur dieses Mal wird nicht danach gefragt, wie wahrscheinlich es ist, genau eine bestimmte Anzahl von korrekten Antworten (also “Erfolgen”) zu erhalten, sondern mindestens eine bestimmte Anzahl von korrekten Antworten. Es wird also in diesem Fall nach \(P(X \ge 31)\) gesucht. Oft sind solche Fragen sinnvoller, denn dabei geht es uns darum die Wahrscheinlichkeit zu ermitteln, dass eine bestimmte, kritische Grenze nicht überschritten wird. Um solche Fragen zu beantworten, können wir die Verteilungsfunktion der Binomialverteilung zu Hilfe nehmen. Die Verteilungsfunktion \(F(x)\) gibt uns die Wahrscheinlichkeit dafür, dass \(X\) kleiner oder gleich einem Grenzwert \(x\) ist, also \(F(x) = P(X \le x)\). Zunächst können wir wieder die Dichtefunktion \(f(x)\) darstellen und all die Wahrscheinlichkeiten blau hervorheben, die kleiner oder gleich dem Grenzwert \(x\) sind. Diese können wir dann aufaddieren und bekommen damit die Verteilungsfunktion \(F(x)\). Probieren Sie dafür die folgende interaktive Grafik aus und achten Sie auf das Zusammenspiel zwischen der Dichtefunktion \(f(x)\) und der Verteilungsfunktion \(F(x)\) darunter:

Die Berechnung in R geschieht mit Hilfe von pbinom(). Es werden wieder die Parameter \(x, n\) und \(p\) übergeben:


Um unsere Frage zu beantworten, müssen wir die Wahrscheinlichkeit für Werte über einem Grenzwert \(x\) berechnen. Stellen Sie dafür in der interaktiven Grafiken oben den zu berechnenden Bereich auf \(P(X > x)\) und beachten Sie die Erklärungen dazu. Versuchen Sie dann, folgende Aufgabe zu lösen:

Verteilungsfunktion der Binomialverteilung

\[ F(x) = P(X \le x) = \sum_{k=0}^x {n \choose k} p^k (1 - p)^{n-k}. \]

  • Wahrscheinlichkeit, dass \(X\) Werte kleiner oder gleich einem Grenzwert \(x\) annimmt
  • Funktion in R: pbinom(x, n, p)

Programmieraufgabe 2

Lösen Sie nun die zweite Praxisfrage mit Hilfe von R (nutzen Sie die Funktion pbinom): “Wenn der Chatbot üblicherweise in 91% der Fälle korrekt arbeitet, wie hoch ist dann die Wahrscheinlichkeit, dass mindestens 31 von 35 Antworten korrekt sind?” Es reicht, wenn die letzte Codezeile das Endergebnis erzeugt, benutzen Sie nicht print oder ähnliches.

1 - pbinom(30, 35, 0.91)   # oder: pbinom(30, 35, 0.91, lower.tail = FALSE)

Quantilfunktion

Fragestellung

Der Chatbot soll später viele Anfragen verarbeiten können. Ihre Projektleitung geht hypothetisch davon aus, dass der Chatbot 80 Anfragen pro Tag bekommt. Wir möchten analysieren, wie viele davon an einem Tag maximal falsch beantwortet werden. Theoretisch könnten alle Antworten falsch sein, wir möchten aber die schlechtesten 5% der Tage als Restrisiko ausblenden. Dazu betrachten wir die 95% der Fälle mit den geringsten Fehlerquoten und möchten wissen, wie viele falsche Antworten es an diesen Tagen maximal gibt. Wir nehmen also bei dieser Untersuchung in Kauf, dass es mit einer Risikowahrscheinlichkeit von 5% auch mehr falsche Antworten an einem Tag geben kann. Die konkrete Frage lautet damit: Maximal wie viele der 80 Anfragen werden im Schnitt an 95% der Tage falsch beantwortet, wenn wir weiterhin davon ausgehen, dass üblicherweise 91% aller Anfragen korrekt beantwortet werden?

In diesem Fall suchen wir einen Grenzwert an falschen Antworten \(x\), für den gilt, dass die Anzahl falscher Antworten mit 95%-iger Wahrscheinlichkeit kleiner oder gleich diesem Grenzwert ist. Als Wahrscheinlichkeit ausgedrückt, bedeutet das, wir suchen ein \(x\) für das gilt \(P(X \le x) = 95\%\). Wir müssen allerdings darauf achten, dass unsere Zufallsvariable \(X\) jetzt die Anzahl der falschen Antworten darstellt. Somit ist die “Erfolgswahrscheinlichkeit” der Binomialverteilung die Wahrscheinlichkeit für eine falsche Antwort, also \(p = 1 - 0.91 = 0.09\).

Diese Art von Aufgaben lassen sich mit Hilfe der Quantilfunktion lösen. Die folgende interaktive Grafik zeigt den Zusammenhang zwischen Verteilungsfunktion \(F\) und Quantilfunktion \(F^{-1}\):

Die Berechnung in R geschieht mit Hilfe von qbinom(). Es werden die Parameter \(y, n\) und \(p\) übergeben:


Quantilfunktion der Binomialverteilung

  • Quantilfunktion \(F^{-1}\) ist Umkehrfunktion der Verteilungsfunktion \(F\), d.h. wenn \(F(x) = y\) ist, ist \(F^{-1}(y) = x\)
  • \(F^{-1}(y)\) ergibt einen Grenzwert \(x\), für den gilt \(P(X \le x) = y\)
  • Funktion in R: qbinom(y, n, p)

Programmieraufgabe 3

Lösen Sie nun die dritte Praxisfrage mit Hilfe von R (nutzen Sie die Funktion qbinom): “Wenn wir von 80 Anfragen pro Tag ausgehen und dass üblicherweise 91% aller Anfragen korrekt beantwortet werden – maximal wie viele dieser Anfragen werden im Schnitt an 95% der Tage falsch beantwortet?” Es reicht, wenn die letzte Codezeile das Endergebnis erzeugt, benutzen Sie nicht print oder ähnliches.

qbinom(0.95, 80, 0.09)

Zusammenfassung

Mit der Binomialverteilung haben Sie eine wichtige diskrete Wahrscheinlichkeitsverteilung kennengelernt. Wir können sie einsetzen, wenn sich ein Problem so formulieren lässt, dass es um die Anzahl von “Erfolgen” bei mehreren Versuchen geht. Dabei ist wichtig, dass diese Versuche unabhängig voneinander sind und identisch vollzogen werden, so dass die Erfolgswahrscheinlichkeit bei jedem Versuch gleich ist. Es gibt viele weitere diskrete Wahrscheinnlichkeitsverteilungen, wie bspw. die geometrische Verteilung oder die Poisson-Verteilung, die jeweils andere Annahmen und Anwendungsbereiche haben.

Anhand praktischer Fragen zur Binomialverteilung haben Sie auch drei zentrale Funktionen für Verteilungen kennengelernt: die Dichtefunktion, die Verteilungsfunktion und die Quantilfunktion. Alle drei Funktionen hängen miteinander zusammen und existieren zudem für alle Wahrscheinlichkeitsverteilungen, nicht nur die Binomialverteilung. Wenn Sie mit stetigen Verteilungen, wie bspw. der Normalverteilung arbeiten, wird diese Trias – wenn auch mathematisch anders definiert – wieder Anwendung finden.


Umfrage

Datenschutzhinweise

Datenschutzrechtliche Informationspflichten über die Datensammlung im Forschungsprojekt “MultiLA” nach Art. 13 DSGVO

Das Projekt “Multimodale interaktive Lerndashboards mit Learning Analytics” (MultiLA) hat sich zum Ziel gesetzt das Lernverhalten in den zur Verfügung gestellten Lernanwendungen zu erforschen. Zu diesem Zwecke werden Daten erhoben und verarbeiten, worüber wir im folgenden aufklären.

1. Name und Kontaktdaten des Verantwortlichen

Hochschule für Technik und Wirtschaft Berlin
Treskowallee 8
10318 Berlin

T: +49.40.42875-0

Vertreten durch die Präsidentin

2. Datenschutzbeauftragter

Behördlicher Datenschutzbeauftragter
Vitali Dick (HiSolutions AG)

Projektverantwortlicher
Andre Beinrucker

3. Die Verarbeitung von personenbezogenen Daten
3.1 Zweck

Die Verarbeitung personenbezogener Daten dient dem Zweck der Analyse des Lernverhaltens und des Umgangs mit interaktiven Lernanwendungen im Rahmen des Foschungsprojekts “MultiLA”.

3.2 Rechtsgrundlage

Die Rechtsgrundlage ist Art. 6 Abs. 1 lit. e DSGVO.

3.3 Dauer der Speicherung

Alle Daten werden nur innerhalb der Lernanwendung aufgezeichnet. Sie werden auf den Servern der HTW-Berlin gespeichert und werden mit Auslaufen des Projektes oder möglichen Folgeprojekten gelöscht.

4. Ihre Rechte

Sie haben das Recht, von der Hochschule Auskunft über die zu Ihrer Person gespeicherten Daten zu erhalten und/oder unrichtig gespeicherte Daten berichtigen zu lassen. Sie haben darüber hinaus das Recht auf Löschung oder auf Einschränkung der Verarbeitung oder ein Widerspruchsrecht gegen die Verarbeitung. Außerdem haben Sie in dem Fall, in dem als Rechtsgrundlage für die Verarbeitung Sie die Einwilligung gegeben haben, das Recht, die Einwilligung jederzeit zu widerrufen. Die Rechtmäßigkeit, der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung bleibt davon unberührt. Bitte wenden Sie sich in dem Fall jeweils an folgende Person: Andre Beinrucker, . Sie haben das Recht auf Beschwerde bei einer Aufsichtsbehörde, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden personenbezogenen Daten gegen die Rechtsvorschriften verstößt.

5. Information über Ihr Widerspruchsrecht nach Art . 21 Abs. 1 DSGVO

Sie haben das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung Sie betreffender Daten, die aufgrund von Art. 6 Abs. 1 lit. e DSGVO (Datenverarbeitung im öffentlichen Interesse) erfolgt, Widerspruch einzulegen.

Summary