Signatur
Beschreibung
Die Funktion stats_dens_cauchy() gehört zur PECL-Erweiterung stats und berechnet die Wahrscheinlichkeitsdichte der Cauchy-Verteilung (auch Lorentz-Verteilung genannt) an einem gegebenen Punkt x.
Die Cauchy-Verteilung wird durch zwei Parameter beschrieben: den Lageparameter (Median/Modus, hier ave) und den Skalenparameter (Halbwertsbreite, hier stdev). Im Gegensatz zur Normalverteilung besitzt die Cauchy-Verteilung keinen definierten Erwartungswert und keine endliche Varianz, was sie für Modelle mit schweren Rändern (Heavy Tails) besonders geeignet macht.
Die Dichtefunktion lautet: f(x) = 1 / (π · stdev · (1 + ((x - ave) / stdev)²)). Typische Anwendungsfälle sind die Signalverarbeitung, Physik (z. B. Spektrallinienbreite) sowie robuste statistische Analysen.
Voraussetzung für die Nutzung ist die Installation der PECL-Erweiterung stats, da diese Funktion nicht im PHP-Kern enthalten ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $x Pflicht | float | Der Punkt auf der x-Achse, an dem die Dichtefunktion ausgewertet wird. | |
| $ave Pflicht | float | Der Lageparameter (Median/Modus) der Cauchy-Verteilung. Entspricht dem Zentrum der Verteilung. | |
| $stdev Pflicht | float | Der Skalenparameter (Halbwertsbreite) der Cauchy-Verteilung. Muss größer als 0 sein. Bestimmt die Breite der Verteilung. |
Rückgabewert
x zurück. Bei ungültigen Parametern (z. B. stdev <= 0) ist das Verhalten undefiniert.Beispiele
Dichte der Standard-Cauchy-Verteilung am Zentrum
<?php
// Standard-Cauchy-Verteilung: Lageparameter = 0, Skalenparameter = 1
// Am Zentrum (x = 0) ist die Dichte maximal: 1/π ≈ 0.3183
$x = 0.0;
$ave = 0.0;
$stdev = 1.0;
$dichte = stats_dens_cauchy($x, $ave, $stdev);
echo "Dichte bei x={$x}: " . $dichte . PHP_EOL;
// Vergleich mit analytischem Wert
echo "Analytisch 1/π: " . (1 / M_PI) . PHP_EOL;
Dichtewerteberechnung für verschiedene Punkte
<?php
// Cauchy-Verteilung mit Lageparameter 2 und Skalenparameter 0.5
$ave = 2.0;
$stdev = 0.5;
$punkte = [-2.0, 0.0, 1.0, 2.0, 3.0, 4.0, 6.0];
foreach ($punkte as $x) {
$dichte = stats_dens_cauchy($x, $ave, $stdev);
printf("x = %5.1f => f(x) = %.6f\n", $x, $dichte);
}
// Wichtig · Fallstricke
Wichtig: Der Parameter stdev muss strikt größer als 0 sein. Ein Wert von 0 oder kleiner führt zu einer Division durch null und damit zu undefiniertem Verhalten oder einem Fehler.
Diese Funktion ist nicht im PHP-Kern enthalten. Sie erfordert die Installation der PECL-Erweiterung stats (z. B. via pecl install stats). Prüfen Sie die Verfügbarkeit mit function_exists('stats_dens_cauchy').
Die Cauchy-Verteilung besitzt keinen endlichen Erwartungswert und keine endliche Varianz. Der Parameter ave entspricht daher dem Median und dem Modus, nicht dem Mittelwert.