Signatur
Beschreibung
Die Funktion stats_dens_exponential() gehört zur PECL-Erweiterung stats und berechnet den Wert der Wahrscheinlichkeitsdichtefunktion (PDF) der Exponentialverteilung. Die Exponentialverteilung wird häufig in der Wahrscheinlichkeitstheorie und Statistik verwendet, um die Zeit zwischen unabhängigen Ereignissen zu modellieren, die mit konstanter Rate auftreten – beispielsweise Ankunftszeiten in Warteschlangen oder Lebensdauern von Bauteilen.
Die mathematische Definition lautet: f(x; scale) = (1/scale) * exp(-x/scale) für x >= 0, wobei scale der Skalenparameter (Kehrwert der Rate λ) ist. Bei x < 0 ist der Funktionswert 0.
Diese Funktion ist nützlich, wenn man die Dichte der Exponentialverteilung an einem bestimmten Punkt benötigt, etwa zur Berechnung von Likelihoods, zur Parameterschätzung (Maximum-Likelihood) oder zur grafischen Darstellung der Verteilung. Sie steht nur zur Verfügung, wenn die PECL-Erweiterung stats installiert ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $x Pflicht | float | Der Punkt, an dem die Dichtefunktion ausgewertet werden soll. Für x < 0 ist der Rückgabewert 0. |
|
| $scale Pflicht | float | Der Skalenparameter der Exponentialverteilung (entspricht dem Kehrwert der Rate λ, also 1/λ). Muss größer als 0 sein. |
Rückgabewert
x zurück. Bei ungültigen Parametern (z. B. scale <= 0) kann das Ergebnis undefiniert oder NAN sein.Beispiele
Dichtewert an einer bestimmten Stelle berechnen
<?php
// Voraussetzung: PECL-Erweiterung 'stats' ist installiert
$x = 2.0; // Auswertungspunkt
$scale = 1.0; // Skalenparameter (Lambda = 1)
$density = stats_dens_exponential($x, $scale);
echo "PDF bei x={$x}, scale={$scale}: " . $density . PHP_EOL;
// Erwartetes Ergebnis: f(2; 1) = exp(-2) ≈ 0.13533528323661
Dichtefunktion der Exponentialverteilung für mehrere Punkte ausgeben
<?php
// Voraussetzung: PECL-Erweiterung 'stats' ist installiert
$scale = 2.0; // Mittlere Lebensdauer = 2 Einheiten
$punkte = [0.0, 0.5, 1.0, 2.0, 3.0, 5.0];
foreach ($punkte as $x) {
$dichte = stats_dens_exponential($x, $scale);
printf("x = %4.1f => f(x) = %.6f\n", $x, $dichte);
}
// Zeigt, wie die Dichte mit wachsendem x exponentiell abnimmt
// Wichtig · Fallstricke
PECL-Abhängigkeit: stats_dens_exponential() ist nicht Teil der PHP-Standardbibliothek. Sie erfordert die Installation der PECL-Erweiterung stats (z. B. via pecl install stats). Prüfe die Verfügbarkeit mit function_exists('stats_dens_exponential').
Der Parameter scale muss strikt positiv sein (scale > 0). Ein Wert von 0 oder negativ führt zu mathematisch undefiniertem Verhalten. Der Ausdruck x < 0 liefert definitionsgemäß den Dichtewert 0, da die Exponentialverteilung nur auf dem Intervall [0, ∞) definiert ist.