Signatur
Beschreibung
stats_cdf_binomial() gehört zur PECL-Erweiterung stats und arbeitet mit der kumulativen Verteilungsfunktion (CDF) der Binomialverteilung. Die Binomialverteilung beschreibt die Wahrscheinlichkeit, bei n unabhängigen Bernoulli-Experimenten genau k Erfolge zu beobachten, wobei jedes Experiment die Erfolgswahrscheinlichkeit p hat.
Der Parameter $which steuert, welcher der vier Größen — kumulative Wahrscheinlichkeit P, Anzahl der Erfolge k, Anzahl der Versuche n oder Erfolgswahrscheinlichkeit p — berechnet werden soll. Die drei restlichen Parameter müssen als bekannte Werte übergeben werden.
- which = 1: Berechne die kumulative Wahrscheinlichkeit P aus k, n und p.
- which = 2: Berechne die Anzahl der Erfolge k aus P, n und p.
- which = 3: Berechne die Anzahl der Versuche n aus P, k und p.
- which = 4: Berechne die Erfolgswahrscheinlichkeit p aus P, k und n.
Die Funktion ist nützlich in der Statistik, z. B. bei Hypothesentests, beim Bestimmen von Stichprobengrößen oder bei der Qualitätssicherung, wenn man wissen möchte, wie viele Versuche nötig sind, um mit einer bestimmten Wahrscheinlichkeit eine gewisse Erfolgsanzahl zu erreichen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $par1 Pflicht | float | Erster Parameter, dessen Bedeutung von $which abhängt: kumulative Wahrscheinlichkeit P (which=1) oder Anzahl der Erfolge k (which=2,3,4). |
|
| $par2 Pflicht | float | Zweiter Parameter: Anzahl der Versuche n (which=1,2) oder kumulative Wahrscheinlichkeit P (which=3,4). | |
| $par3 Pflicht | float | Dritter Parameter: Erfolgswahrscheinlichkeit p je Versuch (which=1,2,3) oder Anzahl der Versuche n (which=4). Muss im Bereich [0, 1] liegen, wenn es sich um eine Wahrscheinlichkeit handelt. | |
| $which Pflicht | int | Gibt an, welcher Parameter berechnet werden soll: 1 = kumulative Wahrscheinlichkeit, 2 = Anzahl Erfolge, 3 = Anzahl Versuche, 4 = Erfolgswahrscheinlichkeit. |
Rückgabewert
which=1 liegt der Wert im Bereich [0, 1]. Bei ungültigen Eingaben kann das Ergebnis undefiniert oder NAN sein.Beispiele
Kumulative Wahrscheinlichkeit bei 3 Erfolgen in 10 Versuchen berechnen
<?php
// Wahrscheinlichkeit, bei 10 Münzwürfen (p=0.5) höchstens 3 Mal Kopf zu werfen
// which=1: Berechne P aus k=3, n=10, p=0.5
$p_cumulative = stats_cdf_binomial(3, 10, 0.5, 1);
echo number_format($p_cumulative, 6); // Erwarteter Wert: ~0.171875
?>
Benötigte Versuchsanzahl ermitteln
<?php
// Wie viele Versuche (n) sind nötig, damit die kumulative Wahrscheinlichkeit
// für mindestens k=5 Erfolge mit p=0.3 mindestens P=0.9 beträgt?
// which=3: Berechne n aus P=0.9, k=5, p=0.3
$n = stats_cdf_binomial(0.9, 5, 0.3, 3);
echo 'Benötigte Versuche: ' . ceil($n);
?>
Erfolgswahrscheinlichkeit aus bekannten Ergebnissen schätzen
<?php
// Bei n=20 Versuchen und P=0.8 (80 % kumulative Wahrsch.) für k=10 Erfolge:
// Welche Erfolgswahrscheinlichkeit p liegt zugrunde?
// which=4: Berechne p aus P=0.8, k=10, n=20
$p = stats_cdf_binomial(0.8, 10, 20, 4);
echo 'Geschätzte p: ' . number_format($p, 4);
?>
// Wichtig · Fallstricke
Voraussetzung: Die Funktion ist Teil der PECL-Erweiterung stats, die separat installiert werden muss (pecl install stats). Sie ist nicht im PHP-Kern enthalten.
Parameterbelegung: Die Reihenfolge von $par1, $par2 und $par3 ist abhängig von $which und nicht immer intuitiv. Es empfiehlt sich, die Dokumentation der PECL-stats-Bibliothek genau zu lesen, da die Parameter je nach which-Wert unterschiedliche Bedeutungen haben.
Gültigkeitsbereiche: Wahrscheinlichkeiten müssen im Intervall [0, 1] liegen, Anzahlen müssen nicht-negative ganze Zahlen (als float übergeben) sein. Ungültige Werte führen zu undefinierten Ergebnissen.