Wie viele Würfe gibt es insgesamt, wenn Sie 100 Mal würfeln?
Der in der Grundschule gelernte Durchschnitt steht ganz oben in der Statistik. Verwenden Sie zunächst den Durchschnitt, um die Antwort auf die erste Frage abzuleiten und mit den Simulationsergebnissen zu vergleichen.
import numpy as np
import numpy.random as rd
import matplotlib.pyplot as plt
#Definiere einen Würfel
#Kennen Sie den Durchschnitt
dice = [1, 2, 3, 4, 5, 6]
print("durchschnittlich:", np.mean(dice))
#Definieren Sie die Anzahl der Versuche
#Sie können den erwarteten Wert der Summe in Kombination mit dem Durchschnitt sehen
trialsNum = 100
print("Erwarteter Gesamtwert:", np.mean(dice) * trialsNum)
input("Drücken Sie die Eingabetaste, um fortzufahren. . .")
#Eigentlich versuchen
#Zeichnen Sie ein Histogramm, um die Verteilung der Rollen zu überprüfen
resultList = [rd.choice(dice) for i in range(trialsNum)]
plt.hist(resultList, bins=6, rwidth=0.8, range=(0.5, 6.5))
plt.show()
print("gesamt:", np.sum(resultList))
Das Ergebnis ist nicht konstant, da Zufallszahlen verwendet werden.
Stichprobenmittelwert: 3.5
Erwarteter Gesamtwert: 350.0
Drücken Sie die Eingabetaste, um fortzufahren. . .
gesamt: 355
Die durchschnittliche Anzahl der Würfe, die Sie erhalten, wenn Sie einmal würfeln, beträgt 3,5. Sie können also die erste Frage beantworten, dass die Gesamtzahl der Würfe 100-mal etwa 350 beträgt, was dem 100-fachen des Durchschnitts entspricht. Sie können den Fortschritt wie folgt verwalten, indem Sie den Durchschnitts- / Erwartungswert verwenden.
Aber ist es in Ordnung, den Vergleich und das Urteil der menschlichen Erfahrung und Intuition zu überlassen? Sie können das Burndown-Diagramm verwenden, um anhand von Trends im Zeitverlauf zu beurteilen, aber Sie verlassen sich immer noch auf Erfahrung und Intuition.
Über 350 ... Sie können die erste Frage beantworten.
Über 350 ... Wie viel ist "ungefähr 350"? Dies wird durch die Varianz / Standardabweichung dargestellt. Ermitteln Sie zuerst die Standardabweichung von der Probe, dann die Standardabweichung von den Simulationsergebnissen und vergleichen Sie sie.
import numpy as np
import numpy.random as rd
import matplotlib.pyplot as plt
#Definiere einen Würfel
#Kennen Sie den Mittelwert und die Varianz
dice = [1, 2, 3, 4, 5, 6]
print("Stichprobenmittelwert:", np.mean(dice))
print("Probendispersion:", np.var(dice))
#Definieren Sie die Anzahl der Versuche
#Sie können den erwarteten Wert der Summe in Kombination mit dem Stichprobenmittelwert sehen
#Kann die Gesamtstandardabweichung in Kombination mit der Stichprobenvarianz vorhersagen
trialsNum = 100
print("Erwarteter Gesamtwert:", np.mean(dice) * trialsNum)
print("Gesamtstandardabweichung (erwartet):", np.sqrt(np.var(dice) * trialsNum))
input("Drücken Sie die Eingabetaste, um fortzufahren. . .")
#Eigentlich versuchen...Versuchen
metaTrialsNum = 10000
resultList = [np.sum([rd.choice(dice) for i in range(trialsNum)])
for i in range(metaTrialsNum)]
myMean = np.mean(resultList)
myStd = np.std(resultList)
print("Durchschnitt der Gesamtzahl:", myMean)
print("Gesamtstandardabweichung (tatsächlich):", myStd)
# 68–95–99.Überprüfen Sie, ob die 7 Regeln gelten
win = [len([n for n in resultList if myMean - r * myStd <= n and n <= myMean + r * myStd]) /
metaTrialsNum for r in range(1, 4)]
print(
f'μ±σ : {myMean - 1 * myStd :.1f} ~ {myMean + 1 * myStd:.1f}: {win[0]:.2%}')
print(
f'μ±2σ: {myMean - 2 * myStd :.1f} ~ {myMean + 2 * myStd:.1f}: {win[1]:.2%}')
print(
f'μ±3σ: {myMean - 3 * myStd :.1f} ~ {myMean + 3 * myStd:.1f}: {win[2]:.2%}')
#Zeichnen Sie ein Histogramm, um die Gesamtverteilung anzuzeigen
plt.hist(resultList, bins=25)
plt.show()
Das Ergebnis ist nicht konstant, da immer noch Zufallszahlen verwendet werden.
Stichprobenmittelwert: 3.5
Probendispersion: 2.9166666666666665
Erwarteter Gesamtwert: 350.0
Gesamtstandardabweichung (erwartet): 17.078251276599328
Drücken Sie die Eingabetaste, um fortzufahren. . .
Durchschnitt der Gesamtzahl: 349.9814
Gesamtstandardabweichung (tatsächlich): 17.034108548438923
μ±σ : 332.9 ~ 367.0: 69.69%
μ±2σ: 315.9 ~ 384.0: 95.77%
μ±3σ: 298.9 ~ 401.1: 99.76%
Die Gesamtverteilung passt gut zu 68–95–99.7 Regel Es wurde eine Verteilung. Die Standardabweichung von ungefähr 17 zeigt, wie viel es "ungefähr 350" ist. Und die Standardabweichung kann ohne Simulation aus der Probe erhalten werden.
Aus der 68–95–99,7-Regel ermittelten wir die Wahrscheinlichkeit, dass das Versuchsergebnis innerhalb dieses Bereichs liegt, wenn x von μ ± xσ 1,2,3 beträgt. Kennst du also nicht die Wahrscheinlichkeit, wenn x 1,5 ist? Oder kennen Sie die Wahrscheinlichkeit, dass die Gesamtzahl der Rollen 370 oder mehr beträgt? Hier kommt die Fehlerfunktion erf ins Spiel. Lassen Sie uns veranschaulichen, wie diese Funktion im folgenden Python-Programm funktioniert.
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-4.0, 4.1, 0.1)
leg1 = "μ-xσ ≦ a ≦ μ+xσ"
y1 = [math.erf(i/math.sqrt(2)) for i in x]
p1 = plt.plot(x, y1)
leg2 = "a ≦ μ+xσ"
y2 = [0.5 + 0.5 * math.erf(i/math.sqrt(2)) for i in x]
p2 = plt.plot(x, y2)
leg3 = "μ+xσ ≦ a"
y3 = [0.5 - 0.5 * math.erf(i/math.sqrt(2)) for i in x]
p3 = plt.plot(x, y3)
plt.legend((p1[0], p2[0], p3[0]),
(leg1, leg2, leg3), loc=0)
plt.grid(True)
plt.show()
Mit der Fehlerfunktion erf können Sie die Wahrscheinlichkeit berechnen, dass das Versuchsergebnis für jedes x innerhalb von μ ± xσ und kleiner oder gleich μ + xσ liegt.
Oder kennen Sie die Wahrscheinlichkeit, dass die Gesamtzahl der Rollen 370 oder mehr beträgt?
Es kann mit der Fehlerfunktion erf gefunden werden Ermitteln Sie zunächst den Wert von x, indem Sie die Werte in der folgenden Gleichung auf μ und σ anwenden.
μ+xσ = 370
Erwarteter Gesamtwert: 350,0 Gesamtstandardabweichung (geschätzt): 17.078251276599328
350+17x = 370 17x = 20 x = 1.18
Sie können dann die Wahrscheinlichkeit berechnen, indem Sie in der in Ihrem Programm verwendeten Formel einen Wert auf x anwenden.
0.5 - 0.5 * math.erf(i/math.sqrt(2)
0.5 - 0.5 * erf(1.18/√2) = 0.12 = 12%
Wenn Sie 100 Mal würfeln, besteht eine Wahrscheinlichkeit von 12%, dass die Gesamtzahl der Würfe 370 oder höher beträgt. Mit der Funktion Mittelwert, Standardabweichung und Fehler können Sie jetzt die erste Frage beantworten.
Wie weit wird das Team, das mit dem in der folgenden Tabelle angegebenen Tempo vorangekommen ist, nach Abschluss von Iteration 20 vorankommen?
Wiederholung | Geschwindigkeit | Akkumulation |
---|---|---|
1 | 7 | 7 |
2 | 3 | 10 |
3 | 3 | 13 |
4 | 6 | 19 |
5 | 6 | 25 |
μ = 200, nicht wahr?
Da die Varianz bis zur Iteration 5 3,5 beträgt, kann erwartet werden, dass die Standardabweichung bis zur Iteration 20 σ = √ (3,5 * 20) ≒ 8,4 ist. Der Bereich von μ ± 3σ beträgt ungefähr 175 bis 225.
Wenn Sie mit einer Genauigkeit von ca. 80% antworten, sagen Sie 191 mit μ-1σ (abgerundet). Wenn das Fortschrittsziel bis Iteration 20 größer ist, sollten Sie verhandeln, um das Ziel auf 191 zu senken.
Wenn Sie mit einer Genauigkeit von 99% antworten, sagen Sie 175 mit μ-3σ. Wenn Ihr Ziel 225 ist, besteht keine 1% ige Chance, dass Sie rechtzeitig sind. Selbst wenn das Ziel 200 ist, beträgt die Wahrscheinlichkeit, rechtzeitig zu sein, 50%, was einem Treffer von fünfzig bis fünfzig entspricht. Es ist leicht, verletzt zu werden, wenn Sie beurteilen: "Wenn Sie im durchschnittlichen Tempo weitermachen, sind Sie pünktlich!"
Da sowohl μ als auch σ schwanken, wenn sich die Fortschritte erreichen, berechnen wir die Wahrscheinlichkeit, jederzeit mit der Fehlerfunktion erf über das Ziel hinauszugehen. Im Gegensatz zu Würfeln gibt es kein perfektes Exemplar.
Die Einheit der Ressourcenmenge ist einfach, wenn es sich um die Anzahl der Iterationen handelt. Wenn Sie sie jedoch detaillierter gestalten möchten, können Sie sie auch anhand der Anzahl der Tage oder Manntage berechnen.