Signatur
Beschreibung
Die Funktion stats_dens_pmf_negative_binomial() gehört zur PECL-Erweiterung stats und berechnet den Wert der Wahrscheinlichkeitsmassenfunktion (PMF) der negativen Binomialverteilung. Die negative Binomialverteilung modelliert die Anzahl der Misserfolge x, die auftreten, bevor eine vorgegebene Anzahl von Erfolgen n erreicht wird, wobei jeder Versuch mit einer Erfolgswahrscheinlichkeit pi unabhängig durchgeführt wird.
Die PMF gibt an, mit welcher Wahrscheinlichkeit genau x Misserfolge eintreten, bevor der n-te Erfolg erzielt wird. Sie ist definiert als: P(X = x) = C(x + n - 1, x) * pi^n * (1 - pi)^x, wobei C den Binomialkoeffizienten bezeichnet.
Typische Anwendungsfelder sind Qualitätskontrolle, Zuverlässigkeitsanalyse und statistische Modellierung von Zähldaten mit Überdispersion, etwa bei der Analyse von Ausschussquoten oder der Modellierung von Wartezeiten bis zu einem bestimmten Ereignis.
Die Funktion setzt die PECL-Erweiterung stats voraus, die separat installiert werden muss und nicht Teil der PHP-Standardbibliothek ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $x Pflicht | int | Die Anzahl der Misserfolge, bevor der n-te Erfolg eintritt. Muss eine nicht-negative ganze Zahl sein. |
|
| $n Pflicht | float | Die Anzahl der gewünschten Erfolge (Zielereignisse). Muss positiv sein. Kann auch eine nicht-ganzzahlige (verallgemeinerte) Anzahl sein. | |
| $pi Pflicht | float | Die Erfolgswahrscheinlichkeit eines einzelnen Versuchs. Muss im Bereich 0 < pi <= 1 liegen. |
Rückgabewert
x zurück. Der Rückgabewert liegt im Bereich [0, 1].Beispiele
Wahrscheinlichkeit für genau 3 Misserfolge vor dem 5. Erfolg
<?php
// Berechnung: Wie wahrscheinlich ist es, genau 3 Misserfolge zu erhalten,
// bevor der 5. Erfolg eintritt, wenn pi = 0.6?
$x = 3; // Anzahl der Misserfolge
$n = 5; // Anzahl der gewünschten Erfolge
$pi = 0.6; // Erfolgswahrscheinlichkeit
$pmf = stats_dens_pmf_negative_binomial($x, $n, $pi);
echo 'P(X = ' . $x . ') = ' . $pmf . PHP_EOL;
// Erwartete Ausgabe: ca. 0.13824
PMF-Tabelle für verschiedene Misserfolgs-Werte
<?php
// Erstellt eine Tabelle der PMF-Werte für x = 0 bis 10
// bei n = 3 Erfolgen und pi = 0.5
$n = 3;
$pi = 0.5;
echo sprintf('%-10s %-15s', 'x', 'P(X = x)') . PHP_EOL;
echo str_repeat('-', 25) . PHP_EOL;
for ($x = 0; $x <= 10; $x++) {
$pmf = stats_dens_pmf_negative_binomial($x, $n, $pi);
echo sprintf('%-10d %-15.6f', $x, $pmf) . PHP_EOL;
}
// Wichtig · Fallstricke
Voraussetzung: Diese Funktion ist Teil der PECL-Erweiterung stats und steht nicht in einer Standard-PHP-Installation zur Verfügung. Sie muss über PECL installiert werden (pecl install stats).
Parametergrenzen: Der Parameter pi muss strikt größer als 0 und kleiner oder gleich 1 sein. Der Parameter x muss eine nicht-negative ganze Zahl sein und n muss positiv sein. Ungültige Parameterwerte können zu undefinierten Rückgabewerten oder Warnungen führen.
Unterschied zu stats_dens_pmf_binomial(): Während die Binomialverteilung die Anzahl der Erfolge bei einer festen Anzahl von Versuchen modelliert, modelliert die negative Binomialverteilung die Anzahl der Misserfolge bis zu einer festen Anzahl von Erfolgen.