Wie berechnet man die Wahrscheinlichkeit in der Normalverteilung bei gegebenem Mittelwert, Standard in Python? Ich kann meine eigene Funktion immer explizit gemäß der Definition codieren, wie es das OP in dieser Frage getan hat: Berechnung der Wahrscheinlichkeit einer Zufallsvariablen in einer Verteilung in Python
Wenn Sie sich nur fragen, ob es einen Bibliotheksfunktionsaufruf gibt, können Sie dies tun. In meiner Vorstellung würde es so aussehen:
nd = NormalDistribution(mu=100, std=12)
p = nd.prob(98)
In Perl gibt es eine ähnliche Frage: Wie kann ich die Wahrscheinlichkeit an einem Punkt berechnen, an dem eine Normalverteilung in Perl gegeben ist? . Aber ich habe keinen in Python gesehen.
Numpy
hat eine random.normal
Funktion, aber es ist wie Sampling, nicht genau das, was ich will.
quelle
scipy.stats.norm(100, 12).pdf(98)
, bedeutet , dass die Wahrscheinlichkeit , mit 98 in einer Verteilung bekommenmean 100
undstddev 12
ist0.032
?rv.cdf(102) - rv.cdf(98)
dort istrv = scipy.stats.norm(100, 12)
.Scipy.stats ist ein großartiges Modul. Um einen anderen Ansatz anzubieten, können Sie ihn direkt mit berechnen
Hierbei wird die hier angegebene Formel verwendet: http://en.wikipedia.org/wiki/Normal_distribution#Probability_density_function
zu testen:
quelle
Hier gibt es mehr Infos . Zuerst haben Sie es mit einer eingefrorenen Verteilung zu tun (eingefroren bedeutet in diesem Fall, dass ihre Parameter auf bestimmte Werte eingestellt sind). So erstellen Sie eine eingefrorene Verteilung:
quelle
Ab
Python 3.8
dem Start stellt die Standardbibliothek dasNormalDist
Objekt als Teil desstatistics
Moduls bereit .Es kann verwendet werden, um die Wahrscheinlichkeitsdichtefunktion (
pdf
- Wahrscheinlichkeit, dass eine Zufallsstichprobe X nahe dem gegebenen Wert x liegt) für einen gegebenen Mittelwert (mu
) und eine gegebene Standardabweichung (sigma
) zu erhalten:Beachten Sie auch, dass das
NormalDist
Objekt auch die kumulative Verteilungsfunktion bereitstellt (cdf
- Wahrscheinlichkeit, dass eine Zufallsstichprobe X kleiner oder gleich x ist):quelle
Falls Sie den Bereich zwischen 2 Werten von x mean = 1 finden möchten; Standardabweichung = 2; die Wahrscheinlichkeit von x zwischen [0,5,2]
quelle
Die in den Antworten erwähnte Formel aus Wikipedia kann nicht zur Berechnung normaler Wahrscheinlichkeiten verwendet werden. Sie müssten eine numerische Integrationsnäherungsfunktion unter Verwendung dieser Formel schreiben, um die Wahrscheinlichkeit zu berechnen.
Diese Formel berechnet den Wert für die Wahrscheinlichkeitsdichtefunktion. Da die Normalverteilung stetig ist, müssen Sie ein Integral berechnen, um Wahrscheinlichkeiten zu erhalten. Die Wikipedia-Site erwähnt die CDF, die keine geschlossene Form für die Normalverteilung hat.
quelle
Ich habe dieses Programm geschrieben, um die Mathematik für Sie zu erledigen. Geben Sie einfach die zusammenfassende Statistik ein. Sie müssen kein Array bereitstellen:
Z-Test mit einer Stichprobe für einen Bevölkerungsanteil:
Um dies eher für den Mittelwert als für den Anteil zu tun, ändern Sie die Formel für z entsprechend
EDIT:
Hier ist der Inhalt des Links:
quelle
Sie können einfach die Fehlerfunktion verwenden, die in die Mathematikbibliothek integriert ist, wie auf deren Website angegeben .
quelle