Start · Sprachen · PHP · Referenz · stats_cdf_poisson

stats_cdf_poisson

Funktion

Berechnet einen fehlenden Parameter der Poisson-Verteilung anhand der übrigen bekannten Parameter.

Kategorie: math

Signatur

stats_cdf_poisson(float $par1, float $par2, int $which): float

Beschreibung

stats_cdf_poisson() ist Teil der stats-PECL-Erweiterung und berechnet einen Parameter der Poisson-Verteilung, wenn die anderen bekannt sind. Je nach Wert von $which wird entweder der kumulative Wahrscheinlichkeitswert (CDF), die Anzahl der Ereignisse oder der Erwartungswert (Lambda) ermittelt.

Die Poisson-Verteilung beschreibt die Wahrscheinlichkeit, dass in einem festen Zeitintervall eine bestimmte Anzahl von Ereignissen eintritt, wenn die Ereignisse unabhängig voneinander und mit konstanter mittlerer Rate auftreten. Typische Anwendungsfälle sind Anrufvolumen in Callcentern, radioaktiver Zerfall oder Fehlerrate in Software.

  • $which = 1: Berechnet die kumulative Wahrscheinlichkeit P (CDF) für gegebene Ereigniszahl ($par1) und Lambda ($par2).
  • $which = 2: Berechnet die Ereigniszahl (S) für gegebene Wahrscheinlichkeit ($par1) und Lambda ($par2).
  • $which = 3: Berechnet den Erwartungswert Lambda für gegebene Wahrscheinlichkeit ($par1) und Ereigniszahl ($par2).

Die Funktion erfordert die Installation der stats-PECL-Erweiterung und ist nicht im PHP-Kern enthalten. Sie basiert auf dem DCDFLIB-Algorithmus.

Parameter

Name Typ Default Beschreibung
$par1 Pflicht float Je nach $which: die Ereigniszahl S (which=1), die kumulative Wahrscheinlichkeit P (which=2 oder which=3).
$par2 Pflicht float Je nach $which: der Erwartungswert Lambda (which=1), Lambda (which=2) oder die Ereigniszahl S (which=3).
$which Pflicht int Bestimmt, welcher Parameter berechnet wird: 1 = kumulative Wahrscheinlichkeit P, 2 = Ereigniszahl S, 3 = Erwartungswert Lambda.

Rückgabewert

Typ
float
Beschreibung
Gibt den berechneten Parameter als Gleitkommazahl zurück. Bei $which = 1 ist dies die kumulative Wahrscheinlichkeit im Bereich [0, 1]; bei $which = 2 die Ereigniszahl; bei $which = 3 das Lambda.

Beispiele

Kumulative Wahrscheinlichkeit für Poisson-Ereignisse berechnen

<?php
// Wahrscheinlichkeit, dass bei Lambda=3 maximal 5 Ereignisse eintreten
$s      = 5.0;  // Anzahl der Ereignisse
$lambda = 3.0;  // Erwartungswert
$which  = 1;    // P berechnen

$p = stats_cdf_poisson($s, $lambda, $which);
echo sprintf("P(X <= 5 | Lambda=3) = %.6f\n", $p);
// Erwartete Ausgabe: P(X <= 5 | Lambda=3) = 0.916082
P(X <= 5 | Lambda=3) = 0.916082

Lambda aus bekannter Wahrscheinlichkeit und Ereigniszahl zurückrechnen

<?php
// Bekannt: P = 0.9161 und S = 5 — welches Lambda ergibt das?
$p     = 0.916082;
$s     = 5.0;
$which = 3;  // Lambda berechnen

$lambda = stats_cdf_poisson($p, $s, $which);
echo sprintf("Lambda = %.6f\n", $lambda);
// Erwartete Ausgabe: Lambda = 3.000000
Lambda = 3.000000

Mindestanzahl von Ereignissen für eine gegebene Wahrscheinlichkeit bestimmen

<?php
// Ab welcher Ereigniszahl S ist P(X <= S | Lambda=3) >= 0.95?
$p      = 0.95;
$lambda = 3.0;
$which  = 2;  // S berechnen

$s = stats_cdf_poisson($p, $lambda, $which);
echo sprintf("Mindest-Ereigniszahl S = %.1f\n", $s);
// Erwartete Ausgabe: Mindest-Ereigniszahl S = 6.0
Mindest-Ereigniszahl S = 6.0

// Wichtig · Fallstricke

Voraussetzung: Die Funktion ist nur verfügbar, wenn die stats-PECL-Erweiterung installiert und in der php.ini aktiviert ist (extension=stats). Ohne diese Erweiterung führt ein Aufruf zu einem fatalen Fehler.

Parametergrenzen: Lambda ($par2 bei which=1) muss positiv sein (> 0). Die Ereigniszahl muss nicht-negativ sein. Wahrscheinlichkeitswerte müssen im Intervall [0, 1] liegen. Ungültige Eingaben können zu NaN oder nicht definierten Ergebnissen führen.

Kompatibilität: Da die stats-Erweiterung nicht zum PHP-Kern gehört, ist sie in vielen Shared-Hosting-Umgebungen nicht verfügbar. Als Alternative kann man Berechnungen manuell über die Gamma-Funktion (log_gamma) oder Bibliotheken wie math-php (Composer) implementieren.