Start · Sprachen · PHP · Referenz · stats_cdf_gamma

stats_cdf_gamma

Funktion

Berechnet einen fehlenden Parameter der Gamma-Verteilung (CDF, Quantil oder Formparameter) anhand der übrigen drei Parameterwerte.

Kategorie: math

Signatur

stats_cdf_gamma(float $par1, float $par2, float $par3, int $which): float

Beschreibung

stats_cdf_gamma ist Teil der PECL-Erweiterung stats und arbeitet mit der kumulativen Verteilungsfunktion (CDF) der Gamma-Verteilung. Je nach Wert des Parameters which wird einer der drei statistischen Parameter berechnet, während die anderen als bekannt vorausgesetzt werden.

Die Gamma-Verteilung wird in der Statistik häufig für Wartezeiten, Lebensdauermodelle oder Bayesianische Analyse eingesetzt. Die Funktion erlaubt es, wahlweise die CDF (Wahrscheinlichkeit), den Quantilwert (x) oder die Formparameter (Shape/Scale) zu berechnen – je nachdem, welcher Wert gesucht ist.

  • which = 1: Berechnet die CDF P(X ≤ x) – also die Wahrscheinlichkeit, dass die Zufallsvariable kleiner oder gleich par1 ist.
  • which = 2: Berechnet das Quantil x zu einer gegebenen Wahrscheinlichkeit par1.
  • which = 3: Berechnet den Shape-Parameter (Formparameter) shape.
  • which = 4: Berechnet den Scale-Parameter (Skalenparameter) scale.

Die Funktion ist nur verfügbar, wenn die PECL-Erweiterung stats installiert und geladen ist. Sie ist nicht Teil der PHP-Standardinstallation.

Parameter

Name Typ Default Beschreibung
$par1 Pflicht float Erster Parameter. Bedeutung abhängig von which: Bei which=1 der Wert x; bei which=2 die Wahrscheinlichkeit p; bei which=3 der Wert x; bei which=4 der Wert x.
$par2 Pflicht float Zweiter Parameter. Bedeutung abhängig von which: Bei which=1 die Wahrscheinlichkeit p; bei which=2 nicht verwendet (0.0 übergeben); bei which=3 die Wahrscheinlichkeit p; bei which=4 die Wahrscheinlichkeit p.
$par3 Pflicht float Dritter Parameter: Der Shape-Parameter (Formparameter) der Gamma-Verteilung, außer wenn which=3 – dann wird dieser berechnet.
$which Pflicht int Legt fest, welcher Parameter berechnet wird: 1 = CDF berechnen, 2 = Quantil x berechnen, 3 = Shape-Parameter berechnen, 4 = Scale-Parameter berechnen.

Rückgabewert

Typ
float
Beschreibung
Gibt den berechneten Parameter als Gleitkommazahl zurück. Der Rückgabewert entspricht dem gesuchten Parameter (CDF-Wert, Quantil, Shape- oder Scale-Parameter), je nach übergebenem which-Wert.

Beispiele

CDF der Gamma-Verteilung berechnen (which=1)

<?php
// Berechnet P(X <= 3.0) für eine Gamma-Verteilung mit shape=2, scale=1
$x       = 3.0;
$shape   = 2.0;
$scale   = 1.0;

// which=1: CDF berechnen, par1=x, par3=shape, par4=scale
// par2 wird nicht genutzt und mit 0.0 übergeben
$prob = stats_cdf_gamma($x, 0.0, $shape, 1);

echo "P(X <= {$x}) = " . round($prob, 6);
// Ausgabe: P(X <= 3.0) = 0.800852
P(X <= 3.0) = 0.800852

Quantil der Gamma-Verteilung berechnen (which=2)

<?php
// Gesucht: x so, dass P(X <= x) = 0.80 für shape=2, scale=1
$p     = 0.80;
$shape = 2.0;
$scale = 1.0;

// which=2: Quantil berechnen, par1=p, par3=shape
$x = stats_cdf_gamma($p, 0.0, $shape, 2);

echo "Das 80%-Quantil: x = " . round($x, 6);
// Ausgabe: Das 80%-Quantil: x = 2.994326
Das 80%-Quantil: x = 2.994326

// Wichtig · Fallstricke

PECL-Erweiterung erforderlich: stats_cdf_gamma ist nicht Teil der PHP-Standardbibliothek. Die Erweiterung muss über PECL installiert werden (pecl install stats) und in der php.ini mit extension=stats.so (Linux) bzw. extension=php_stats.dll (Windows) aktiviert sein.

Parameterreihenfolge: Die Bedeutung von par1, par2 und par3 variiert je nach which-Wert. Ein falsches Verständnis der Parameterreihenfolge führt zu stillen Rechenfehlern ohne Fehlermeldung – daher die Dokumentation stets prüfen.

Gültige Wertebereiche: Shape- und Scale-Parameter müssen positiv sein (> 0). Wahrscheinlichkeiten müssen im Bereich [0, 1] liegen. Ungültige Werte können zu NAN oder undefiniertem Verhalten führen.