Start · Sprachen · PHP · Referenz · stats_cdf_f

stats_cdf_f

Funktion

Berechnet einen fehlenden Parameter der F-Verteilung (CDF, Wert oder Freiheitsgrade) anhand der drei übrigen bekannten Parameter.

Kategorie: math

Signatur

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

Beschreibung

stats_cdf_f ist Teil der PECL-Erweiterung stats und arbeitet mit der kumulativen Verteilungsfunktion (CDF) der F-Verteilung (Fisher-Snedecor-Verteilung). Die F-Verteilung wird häufig in der Varianzanalyse (ANOVA), beim F-Test sowie bei Regressionsanalysen eingesetzt.

Die Funktion erwartet vier Parameter, wobei drei davon bekannte Werte sind und der vierte – festgelegt durch which – berechnet wird. Abhängig von which kann die Funktion den F-Wert (Quantil), die Wahrscheinlichkeit (CDF-Wert) oder einen der beiden Freiheitsgrade zurückgeben.

  • which = 1: Berechnet den F-Wert (das Quantil) anhand von CDF-Wert (par1), Freiheitsgrad 1 (par2) und Freiheitsgrad 2 (par3).
  • which = 2: Berechnet den CDF-Wert (Wahrscheinlichkeit) anhand von F-Wert (par1), Freiheitsgrad 1 (par2) und Freiheitsgrad 2 (par3).
  • which = 3: Berechnet den ersten Freiheitsgrad anhand von F-Wert (par1), CDF-Wert (par2) und Freiheitsgrad 2 (par3).
  • which = 4: Berechnet den zweiten Freiheitsgrad anhand von F-Wert (par1), CDF-Wert (par2) und Freiheitsgrad 1 (par3).

Die Funktion ist nützlich, wenn in statistischen Auswertungen kritische F-Werte für vorgegebene Signifikanzniveaus ermittelt oder Wahrscheinlichkeiten für beobachtete F-Statistiken berechnet werden sollen.

Parameter

Name Typ Default Beschreibung
$par1 Pflicht float Erster bekannter Parameter. Bedeutung abhängig von which: F-Wert (Quantil) wenn which = 2, 3 oder 4; CDF-Wert (Wahrscheinlichkeit, 0–1) wenn which = 1.
$par2 Pflicht float Zweiter bekannter Parameter. Bedeutung abhängig von which: erster Freiheitsgrad (df1 > 0) wenn which = 1 oder 2; CDF-Wert wenn which = 3 oder 4.
$par3 Pflicht float Dritter bekannter Parameter. Bedeutung abhängig von which: zweiter Freiheitsgrad (df2 > 0) wenn which = 1, 2 oder 3; erster Freiheitsgrad (df1) wenn which = 4.
$which Pflicht int Ganzzahl (1–4), die festlegt, welcher Parameter berechnet werden soll: 1 = F-Wert, 2 = CDF-Wert, 3 = erster Freiheitsgrad, 4 = zweiter Freiheitsgrad.

Rückgabewert

Typ
float
Beschreibung
Gibt den berechneten Parameter als float zurück. Welcher Parameter das ist, hängt vom Wert von which ab. Bei ungültigen Eingaben (z. B. CDF-Wert außerhalb [0,1] oder negativer Freiheitsgrad) kann das Ergebnis NAN oder ein undefinierter Wert sein.

Beispiele

CDF-Wert für einen gegebenen F-Wert berechnen

<?php
// Berechnung der Wahrscheinlichkeit P(F <= 4.0) bei df1=5, df2=20
$fWert  = 4.0;
$df1    = 5;
$df2    = 20;
$pWert  = stats_cdf_f($fWert, $df1, $df2, 2);
echo "P(F <= {$fWert}) mit df1={$df1}, df2={$df2}: " . number_format($pWert, 6) . PHP_EOL;
P(F <= 4) mit df1=5, df2=20: 0.990946

Kritischen F-Wert für ein Signifikanzniveau berechnen

<?php
// Kritischer F-Wert beim Signifikanzniveau alpha=0.05 (einseitig), df1=3, df2=15
$alpha  = 0.05;
$df1    = 3;
$df2    = 15;
// CDF-Wert = 1 - alpha (oberes Quantil)
$kritF  = stats_cdf_f(1.0 - $alpha, $df1, $df2, 1);
echo "Kritischer F-Wert (alpha=0.05, df1={$df1}, df2={$df2}): " . number_format($kritF, 4) . PHP_EOL;
Kritischer F-Wert (alpha=0.05, df1=3, df2=15): 3.2874

Ersten Freiheitsgrad aus bekannten Werten ermitteln

<?php
// Freiheitsgrad df1 aus F-Wert=4.0, CDF=0.99, df2=20
$fWert = 4.0;
$cdf   = 0.99;
$df2   = 20;
$df1   = stats_cdf_f($fWert, $cdf, $df2, 3);
echo "Berechneter df1: " . number_format($df1, 4) . PHP_EOL;
Berechneter df1: 4.9817

// Wichtig · Fallstricke

PECL-Abhängigkeit: stats_cdf_f gehört zur PECL-Erweiterung stats und ist nicht standardmäßig in PHP enthalten. Die Erweiterung muss separat installiert werden (pecl install stats).

Gültige Wertebereiche: Der CDF-Wert muss im Intervall [0, 1] liegen, Freiheitsgrade müssen größer als 0 sein. Ungültige Eingaben führen zu nicht definierten oder als NAN zurückgegebenen Ergebnissen, ohne dass eine PHP-Ausnahme geworfen wird.

Genauigkeit: Die Funktion basiert intern auf numerischen Näherungsverfahren; bei sehr extremen Parameterwerten (sehr große oder sehr kleine Freiheitsgrade, CDF-Werte nahe 0 oder 1) kann die Genauigkeit des Ergebnisses abnehmen.