Start · Sprachen · PHP · Referenz · stats_cdf_beta

stats_cdf_beta

Funktion

Berechnet einen fehlenden Parameter der Beta-Verteilung (CDF, Wert oder Formparameter) anhand der übrigen bekannten Parameter.

Kategorie: math

Signatur

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

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, b
  • which = 2: Berechnet x (Quantil) aus p, a, b
  • which = 3: Berechnet a (Alpha) aus p, x, b
  • which = 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

Typ
float
Beschreibung
Gibt den berechneten Parameter als 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
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
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
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.