Signatur
Beschreibung
stats_cdf_beta() gehört zur PECL stats-Erweiterung und arbeitet mit der kumulativen Verteilungsfunktion (CDF) der Beta-Verteilung. Je nach Wert des Parameters which wird einer von drei Parametern berechnet: der CDF-Wert p, der Quantil-Wert x oder einer der beiden Formparameter a (Alpha) bzw. b (Beta).
Die Beta-Verteilung ist eine stetige Wahrscheinlichkeitsverteilung auf dem Intervall [0, 1] und wird häufig eingesetzt, um Wahrscheinlichkeiten oder Anteile zu modellieren – etwa in der Bayes-Statistik, beim A/B-Testing oder bei der Modellierung von Zuverlässigkeiten.
Die Funktion erwartet immer drei bekannte Werte (par1, par2, par3) und berechnet den vierten. Welcher der vier Parameter gesucht wird, bestimmt der Ganzzahl-Schalter which:
which = 1: Berechnet p (CDF-Wert) aus x, a, bwhich = 2: Berechnet x (Quantil) aus p, a, bwhich = 3: Berechnet a (Alpha) aus p, x, bwhich = 4: Berechnet b (Beta) aus p, x, a
Die PECL-Erweiterung stats muss separat installiert sein (pecl install stats). Die Funktion ist nicht Teil der PHP-Standardbibliothek.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $par1 Pflicht | float | Erster bekannter Parameter. Bedeutung abhängig von which: x (Quantil, bei which=1), p (CDF-Wert, bei which=2,3,4). |
|
| $par2 Pflicht | float | Zweiter bekannter Parameter. Bedeutung abhängig von which: a (Alpha-Formparameter, bei which=1,2), x (Quantil, bei which=3,4). |
|
| $par3 Pflicht | float | Dritter bekannter Parameter. Bedeutung abhängig von which: b (Beta-Formparameter, bei which=1,2,3), a (Alpha-Formparameter, bei which=4). |
|
| $which Pflicht | int | Ganzzahliger Schalter (1–4), der bestimmt, welcher Parameter berechnet wird: 1=CDF-Wert p, 2=Quantil x, 3=Alpha a, 4=Beta b. |
Rückgabewert
float zurück. Bei ungültigen Eingabewerten oder wenn keine Lösung existiert, kann false oder ein nicht sinnvoller Wert zurückgegeben werden.Beispiele
CDF-Wert der Beta-Verteilung berechnen (which=1)
<?php
// Berechnet P(X <= 0.4) für eine Beta(2, 5)-Verteilung
$x = 0.4; // Quantil
$alpha = 2.0; // Formparameter Alpha
$beta = 5.0; // Formparameter Beta
$p = stats_cdf_beta($x, $alpha, $beta, 1);
echo "P(X <= 0.4) = " . round($p, 6) . PHP_EOL;
// Ausgabe: P(X <= 0.4) = 0.766784
Quantil (Inverse CDF) berechnen (which=2)
<?php
// Welches x hat P(X <= x) = 0.75 bei einer Beta(2, 5)-Verteilung?
$p = 0.75; // gewünschte Wahrscheinlichkeit
$alpha = 2.0;
$beta = 5.0;
$x = stats_cdf_beta($p, $alpha, $beta, 2);
echo "Quantil x für p=0.75: " . round($x, 6) . PHP_EOL;
// Ausgabe: Quantil x für p=0.75: 0.407883
Alpha-Formparameter bestimmen (which=3)
<?php
// Gesucht: Alpha, gegeben p=0.766784, x=0.4, beta=5
$p = 0.766784;
$x = 0.4;
$beta = 5.0;
$alpha = stats_cdf_beta($p, $x, $beta, 3);
echo "Alpha = " . round($alpha, 4) . PHP_EOL;
// Ausgabe: Alpha = 2.0000
// Wichtig · Fallstricke
Voraussetzung: Die PECL-Erweiterung stats muss installiert sein. Auf vielen Shared-Hosting-Umgebungen ist sie nicht verfügbar. Installation via pecl install stats.
Gültige Wertebereiche: x muss im Intervall [0, 1] liegen, a und b müssen positiv sein, p muss im Intervall [0, 1] liegen. Ungültige Werte können zu undefinierten Rückgabewerten führen.
Die Funktion ist nicht thread-safe dokumentiert, daher bei parallelen Prozessen (z. B. mit ReactPHP oder Fibers) mit Vorsicht einsetzen.