Angenommen, es gibt einen Satz mit Fragen und es gibt 2 Schüler a und b .
Sei die Wahrscheinlichkeit, dass die Frage richtig beantwortet, und dasselbe für .
Alle und sind für .
Angenommen, eine Prüfung wird durchgeführt, indem zufällige Fragen von .
Wie kann ich die Wahrscheinlichkeit , finden bessere Trefferquote als sich ?
Ich habe darüber nachgedacht, die Kombinationen zu überprüfen und die Wahrscheinlichkeiten zu vergleichen, aber es ist eine sehr große Zahl, die ewig dauern wird, daher gingen mir die Ideen aus.
probability
irt
Daniel
quelle
quelle
Antworten:
Ein dynamisches Programm wird dies in kurzer Zeit erledigen.
Angenommen, wir verwalten alle Fragen an die Schüler und wählen dann zufällig eine Teilmenge von aus allen Fragen aus. Definieren wir eine Zufallsvariable , um die beiden Schüler in Frage zu vergleichen Setzen Sie sie auf wenn Schüler A korrekt ist und Schüler B nicht, wenn Schüler B korrekt ist und Schüler A nicht, und ansonsten auf . Die SummeI k=10 n=100 Xi i: 1 −1 0
ist der Unterschied in den Punktzahlen für die Fragen in Wir möchten berechnen Diese Wahrscheinlichkeit wird über die gemeinsame Verteilung von undI. Pr(XI>0). I Xi.
Die Verteilungsfunktion von sich leichtXi unter der Annahme berechnen, dass die Schüler unabhängig reagieren:
Nennen wir diese Wahrscheinlichkeiten als Abkürzung bzw. . Schreibenai, bi, di,
Dieses Polynom ist eine Wahrscheinlichkeitsfunktion fürXi.
Betrachten Sie die rationale Funktion
(Tatsächlich ist ein Polynom: Es ist eine ziemlich einfache rationale Funktion.)xnψn(x,t)
Wenn als Polynom in , besteht der Koeffizient von aus der Summe aller möglichen Produkte von verschiedenen Dies ist eine rationale Funktion mit Koeffizienten ungleich Null nur für Potenzen von von bisDa gleichmäßig zufällig ausgewählt wird, geben die Koeffizienten dieser Potenzen von wenn sie auf Eins summiert werden, die Wahrscheinlichkeitsgenerierungsfunktion für die Differenz der Bewertungen an. Die Potenzen entsprechen der Größe vonψn t tk k fi(x). x x−k xk. I x, I.
Der Punkt dieser Analyse ist, dass wir einfach und mit angemessener Effizienz berechnen können :ψ(x,t) Multiplizieren Sie einfach die Polynome nacheinander. Um dies zu tun, müssen die Koeffizienten von in für(Wir können natürlich alle höheren Potenzen von ignorieren , die in einem dieser Teilprodukte auftreten). Dementsprechend können alle notwendigen Informationen, die von werden, durch eine Matrix dargestellt werden, wobei Zeilen durch die Potenzen von (von bis ) indiziert und Spalten durch indiziert werdenn 1,t,…,tk ψj(x,t) j=0,1,…,n. t ψj(x,t) 2k+1×n+1 x −k k 0 bis .k
Jeder Schritt der Berechnung erfordert Arbeit proportional zur Größe dieser Matrix, skaliert als Unter Berücksichtigung der Anzahl der Schritte ist dies ein -Zeit-, -Raumalgorithmus . Das macht es für kleine ziemlich schnell Ich habe es in (nicht bekannt für übermäßige Geschwindigkeit) für bis und bis wo es neun Sekunden dauert (auf einem einzelnen Kern). Bei der Einstellung der Frage mit und dauert die Berechnung Sekunden.O(k2). O(k2n) O(kn) k. k 100 n 105, n=100 k=10, 0.03
R
Hier ist ein Beispiel, in dem die einheitliche Zufallswerte zwischen und und die ihre Quadrate sind (die immer kleiner als die , wodurch Schüler A stark bevorzugt wird). Ich habe 100.000 Untersuchungen simuliert, wie in diesem Histogramm der Nettoergebnisse zusammengefasst:Pai 0 1 Pbi Pai
Die blauen Balken zeigen die Ergebnisse an, bei denen Schüler A eine bessere Punktzahl als B erzielt hat. Die roten Punkte sind das Ergebnis des dynamischen Programms. Sie stimmen wunderbar mit der Simulation überein ( Test, ). Die aller positiven Wahrscheinlichkeiten ergibt in diesem Fall die Antwortχ2 p=51% 0.7526….
Beachten Sie, dass diese Berechnung mehr ergibt als verlangt: Sie erzeugt die gesamte Wahrscheinlichkeitsverteilung der Differenz der Bewertungen für alle Prüfungen von oder weniger zufällig ausgewählten Fragen.k
Für diejenigen, die eine funktionierende Implementierung verwenden oder portieren möchten, ist hier derχ2
R
Code, der die Simulation erzeugt (im Vektor gespeichertSimulation
) und das dynamische Programm ausgeführt hat (mit Ergebnissen im ArrayP
). Derrepeat
Block am Ende dient nur dazu, alle ungewöhnlich seltenen Ergebnisse zusammenzufassen, damit der Test offensichtlich zuverlässig wird. (In den meisten Situationen spielt dies keine Rolle, aber es verhindert, dass sich die Software beschwert.)quelle
Bei jeder Iteration
weil A nur dann besser ist, wenn A richtig und B falsch ist. Wenn also für eine bestimmte Frage A 90% der Zeit richtig und B 80% der Zeit richtig ist, ist die gemeinsame Wahrscheinlichkeit, dass A richtig und B falsch ist, gleich
Jetzt können Sie einen Code schreiben, der alle zehn ausgewählten Fragen durchläuft und A oder B basierend auf dieser gemeinsamen Wahrscheinlichkeit einen Punkt zuweist. Am Ende jeder Prüfung ist der Gewinner derjenige mit den meisten Punkten. Tun Sie dies viele Male und sehen Sie sich die Wahrscheinlichkeit an, dass A B gewinnt.
Ich habe hier einen Code geschrieben, der dies tut: https://nbviewer.jupyter.org/github/kevinmcinerney/exam_probabilities/blob/master/exam_probabilities.ipynb
Das Diagramm wird auf dem Link nicht gerendert, sieht aber folgendermaßen aus:
Diese Simulation verwendete WertePai=Pbi=0.5
In diesem Beispiel habe ich 1000 Prüfungen mit jeweils 25 Fragen durchgeführt, aber alle bilden den gleichen Satz von 100 Fragen. Die y-Achse ist die Wahrscheinlichkeit, dass A bei einer Prüfung besser abschneidet als B. Die Prüfungsnummer von (0-1000) liegt entlang der x-Achse
Sowohl A als auch B hatten ein zufälliges P, um eine Frage richtig zu stellen, sodass die Grafik auf 50% konvergiert. Ich habe 25 Fragen verwendet, weil 10 nicht sehr repräsentativ für die Bevölkerung mit 100 Fragen sind. Bei Verwendung von zehn Fragen konvergiert das Diagramm eher zu einem Prozentsatz nahe oder um 50%. Die drei Zeilen sind drei separate Versuche.
quelle