Signatur
Beschreibung
Die Funktion stats_rand_gen_ipoisson() gehört zur PECL-Erweiterung stats und liefert eine zufällige ganzzahlige Stichprobe aus der Poisson-Verteilung. Der Parameter mu (auch λ genannt) gibt den Erwartungswert – also den durchschnittlichen Wert der Verteilung – an.
Die Poisson-Verteilung modelliert die Anzahl von Ereignissen, die in einem festen Zeitintervall auftreten, wenn diese Ereignisse unabhängig voneinander und mit konstanter Rate eintreten. Typische Anwendungsfälle sind Simulationen von Anrufvolumina in Call-Centern, Anzahl von Fehlern in einem Programmcode oder Trefferanzahl auf einer Webseite pro Minute.
Da es sich um eine diskrete Wahrscheinlichkeitsverteilung handelt, gibt die Funktion immer einen nicht-negativen ganzzahligen Wert zurück. Je größer mu, desto weiter streuen die erzeugten Zufallszahlen um den Erwartungswert.
Voraussetzung für die Nutzung dieser Funktion ist die Installation der PECL-Erweiterung stats (pecl install stats). Sie steht nicht im PHP-Standardumfang zur Verfügung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $mu Pflicht | float | Der Erwartungswert (λ) der Poisson-Verteilung. Muss ein positiver Wert sein (größer 0). Bestimmt den Mittelwert der erzeugten Zufallszahlen. |
Rückgabewert
mu folgt.Beispiele
Einfache Zufallszahl aus der Poisson-Verteilung
<?php
// Erzeugt eine Zufallszahl aus der Poisson-Verteilung mit Erwartungswert 5
$mu = 5.0;
$zufallszahl = stats_rand_gen_ipoisson($mu);
echo "Poisson-Zufallszahl (mu=5): " . $zufallszahl . PHP_EOL;
Simulation von Webseitenaufrufen pro Minute
<?php
// Simuliert die Anzahl von Webseitenaufrufen pro Minute
// Angenommener Erwartungswert: 12 Aufrufe pro Minute
$erwartungswert = 12.0;
$minuten = 10;
$gesamt = 0;
echo "Simulation von Webseitenaufrufen (Erwartungswert: $erwartungswert/min):" . PHP_EOL;
for ($i = 1; $i <= $minuten; $i++) {
$aufrufe = stats_rand_gen_ipoisson($erwartungswert);
$gesamt += $aufrufe;
echo "Minute $i: $aufrufe Aufrufe" . PHP_EOL;
}
$durchschnitt = $gesamt / $minuten;
echo "Durchschnitt über $minuten Minuten: $durchschnitt Aufrufe/min" . PHP_EOL;
// Wichtig · Fallstricke
PECL-Erweiterung erforderlich: Die Funktion stats_rand_gen_ipoisson() ist nicht Teil des PHP-Kerns. Sie erfordert die Installation der stats-PECL-Erweiterung. Auf vielen Produktivsystemen ist diese nicht standardmäßig verfügbar.
Gültigkeitsbereich von mu: Der Erwartungswert mu muss positiv sein (größer 0). Ein Wert von 0 oder ein negativer Wert kann zu undefiniertem Verhalten führen. Bei sehr großen Werten für mu können Laufzeitprobleme auftreten, da der interne Algorithmus aufwändiger wird.
Reproduzierbarkeit: Um reproduzierbare Ergebnisse zu erhalten, kann der Zufallszahlengenerator mit stats_rand_setall() initialisiert werden.