Signatur
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
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
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);
}
// 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.