Start · Sprachen · PHP · Referenz · stats_dens_exponential

stats_dens_exponential

Funktion

Berechnet den Wert der Wahrscheinlichkeitsdichtefunktion (PDF) der Exponentialverteilung an der Stelle <code>x</code> mit dem gegebenen Skalenparameter.

Kategorie: math

Signatur

stats_dens_exponential(float $x, float $scale): float

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

Typ
float
Beschreibung
Gibt den Wert der Wahrscheinlichkeitsdichtefunktion der Exponentialverteilung an der Stelle 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
PDF bei x=2, scale=1: 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
x = 0.0 => f(x) = 0.500000 x = 0.5 => f(x) = 0.388425 x = 1.0 => f(x) = 0.303265 x = 2.0 => f(x) = 0.183940 x = 3.0 => f(x) = 0.111565 x = 5.0 => f(x) = 0.041042

// 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.