Start · Sprachen · PHP · Referenz · stats_dens_gamma

stats_dens_gamma

Funktion

Berechnet den Wert der Wahrscheinlichkeitsdichtefunktion (PDF) der Gamma-Verteilung an der Stelle <code>x</code>.

Kategorie: math

Signatur

stats_dens_gamma(float $x, float $shape, float $scale): float

Beschreibung

Die Funktion stats_dens_gamma() berechnet die Wahrscheinlichkeitsdichte der Gamma-Verteilung für einen gegebenen Wert x. Die Gamma-Verteilung ist eine kontinuierliche Wahrscheinlichkeitsverteilung, die häufig zur Modellierung von Wartezeiten, Lebensdauern oder anderer positiver Zufallsvariablen verwendet wird.

Die Dichtefunktion lautet: f(x; k, θ) = x^(k-1) · e^(-x/θ) / (θ^k · Γ(k)), wobei k der Formparameter (shape) und θ der Skalierungsparameter (scale) ist. Γ(k) steht für die Gammafunktion.

Diese Funktion ist Teil der PECL-Erweiterung stats und steht nicht im PHP-Kern zur Verfügung. Sie muss über PECL installiert werden. Sie eignet sich für statistische Berechnungen, etwa in der Versicherungsmathematik, Zuverlässigkeitsanalyse oder bei der Analyse von Warteschlangen.

Der Wert x muss größer als 0 sein; ebenso müssen shape und scale positiv sein. Für x ≤ 0 ist die Dichte per Definition 0.

Parameter

Name Typ Default Beschreibung
$x Pflicht float Der Punkt, an dem die Dichtefunktion ausgewertet wird. Muss größer als 0 sein.
$shape Pflicht float Der Formparameter k der Gamma-Verteilung (auch als alpha bezeichnet). Muss positiv sein.
$scale Pflicht float Der Skalierungsparameter θ (Theta) der Gamma-Verteilung. Muss positiv sein. Der Kehrwert entspricht dem Ratenparameter β.

Rückgabewert

Typ
float
Beschreibung
Gibt den Wert der Wahrscheinlichkeitsdichtefunktion der Gamma-Verteilung an der Stelle x zurück. Bei ungültigen Parametern (z. B. negativem x, shape oder scale) kann das Ergebnis 0 oder NAN sein.

Beispiele

Einfacher PDF-Wert der Gamma-Verteilung

<?php
// Voraussetzung: PECL-Erweiterung 'stats' ist installiert

$x     = 2.0;  // Auswertungsstelle
$shape = 2.0;  // Formparameter k
$scale = 1.0;  // Skalierungsparameter theta

$dichte = stats_dens_gamma($x, $shape, $scale);
echo "Gamma-Dichte bei x={$x}: " . $dichte;
// Erwartetes Ergebnis: 2 * e^(-2) ≈ 0.2707
Gamma-Dichte bei x=2: 0.27067056647323

Dichtefunktion über einen Wertebereich plotten (Textausgabe)

<?php
// Gamma-Verteilung mit shape=3, scale=2 an mehreren Stellen auswerten
$shape = 3.0;
$scale = 2.0;

$werte = [0.5, 1.0, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0];

echo "x      => f(x)\n";
foreach ($werte as $x) {
    $dichte = stats_dens_gamma($x, $shape, $scale);
    printf("%-6.1f => %.6f\n", $x, $dichte);
}
x => f(x) 0.5 => 0.014800 1.0 => 0.046971 2.0 => 0.091970 3.0 => 0.112808 4.0 => 0.112808 6.0 => 0.084112 8.0 => 0.052052 10.0 => 0.028497

// Wichtig · Fallstricke

Achtung: stats_dens_gamma() ist keine eingebaute PHP-Funktion, sondern Teil der PECL-Erweiterung stats. Diese muss separat installiert werden (pecl install stats). Prüfen Sie vor dem Einsatz, ob function_exists('stats_dens_gamma') true zurückgibt.

Achten Sie darauf, dass sowohl shape als auch scale strikt positiv sein müssen. Werte von 0 oder negative Werte führen zu undefiniertem Verhalten oder falschen Ergebnissen. Für x <= 0 beträgt die Dichte definitionsgemäß 0.

Verwechseln Sie nicht den scale-Parameter (θ) mit dem rate-Parameter (β = 1/θ), da verschiedene Software-Pakete unterschiedliche Parametrisierungen der Gamma-Verteilung verwenden.