Signatur
Beschreibung
stats_cdf_t ist Teil der PECL-Erweiterung stats und arbeitet mit der Student-t-Verteilung. Die Funktion kann je nach Wert von $which drei verschiedene Größen berechnen: die kumulative Wahrscheinlichkeit P, den Quantilwert t oder die Anzahl der Freiheitsgrade df.
which = 1: Berechnet die kumulative Wahrscheinlichkeit P für einen gegebenen t-Wert (par1) und Freiheitsgrade (par2).which = 2: Berechnet den t-Quantilwert für eine gegebene Wahrscheinlichkeit P (par1) und Freiheitsgrade (par2).which = 3: Berechnet die Freiheitsgrade df für eine gegebene Wahrscheinlichkeit P (par1) und einen t-Wert (par2).
Die Funktion wird häufig in der Statistik und Hypothesentests eingesetzt, z. B. um kritische Werte für t-Tests zu bestimmen oder um p-Werte aus einem berechneten t-Wert abzuleiten. Voraussetzung ist die Installation der PECL-stats-Erweiterung.
Im Gegensatz zu manchen anderen Statistikfunktionen ist stats_cdf_t flexibel: Durch die Wahl von $which lassen sich alle drei zentralen Parameter der t-Verteilung berechnen, sofern die anderen zwei bekannt sind.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $par1 Pflicht | float | Je nach $which: der t-Wert (which=1), die kumulative Wahrscheinlichkeit P im Bereich [0,1] (which=2 oder 3). |
|
| $par2 Pflicht | float | Je nach $which: die Freiheitsgrade df > 0 (which=1 oder 2), oder der t-Wert (which=3). |
|
| $which Pflicht | int | Bestimmt, welche Größe berechnet wird: 1 = kumulative Wahrscheinlichkeit P, 2 = t-Quantilwert, 3 = Freiheitsgrade df. |
Rückgabewert
$which die kumulative Wahrscheinlichkeit P, den t-Quantilwert oder die Freiheitsgrade df der t-Verteilung.Beispiele
Kumulative Wahrscheinlichkeit für einen t-Wert berechnen (which=1)
<?php
// P-Wert für t=2.0 mit df=10 Freiheitsgraden berechnen
$t = 2.0;
$df = 10;
$p = stats_cdf_t($t, $df, 1);
echo "Kumulative Wahrscheinlichkeit P: " . round($p, 6) . PHP_EOL;
// Für einen zweiseitigen t-Test: p-Wert = 2 * (1 - P)
$pValue = 2 * (1 - $p);
echo "Zweiseitiger p-Wert: " . round($pValue, 6) . PHP_EOL;
Kritischen t-Wert (Quantil) für ein Signifikanzniveau ermitteln (which=2)
<?php
// Kritischer t-Wert für alpha=0.05 (einseitig), df=20
$alpha = 0.05;
$df = 20;
// Oberes Quantil: P = 1 - alpha
$tKritisch = stats_cdf_t(1 - $alpha, $df, 2);
echo "Kritischer t-Wert (einseitig, alpha=0.05, df=20): " . round($tKritisch, 4) . PHP_EOL;
// Für zweiseitigen Test: P = 1 - alpha/2
$tKritischZwei = stats_cdf_t(1 - $alpha / 2, $df, 2);
echo "Kritischer t-Wert (zweiseitig, alpha=0.05, df=20): " . round($tKritischZwei, 4) . PHP_EOL;
Freiheitsgrade aus P und t-Wert ermitteln (which=3)
<?php
// Welche Freiheitsgrade ergeben P=0.975 bei t=2.086?
$p = 0.975;
$t = 2.086;
$df = stats_cdf_t($p, $t, 3);
echo "Geschätzte Freiheitsgrade: " . round($df, 2) . PHP_EOL;
// Wichtig · Fallstricke
Voraussetzung: Die Funktion steht nur zur Verfügung, wenn die PECL-Erweiterung stats installiert ist (pecl install stats). Sie ist nicht Teil des PHP-Kerns.
Gültige Wertebereiche: Die Wahrscheinlichkeit P muss im Intervall [0, 1] liegen, die Freiheitsgrade df müssen positiv sein. Ungültige Eingaben können zu NaN, INF oder undefiniertem Verhalten führen — Eingaben sollten vor dem Aufruf validiert werden.
Die t-Verteilung ist symmetrisch um 0, daher gilt: P(T <= t) = 1 - P(T <= -t). Für zweiseitige Tests muss der p-Wert entsprechend verdoppelt werden.