Signatur
Beschreibung
Die Funktion stats_cdf_noncentral_t() stammt aus der PECL-Erweiterung stats und arbeitet mit der kumulativen Verteilungsfunktion (CDF) der nichtzentralen t-Verteilung. Je nach dem Wert von $which wird einer der vier Parameter berechnet, während die anderen drei als bekannt vorausgesetzt werden.
Die nichtzentrale t-Verteilung verallgemeinert die klassische Student-t-Verteilung durch einen Nichtzentralitätsparameter λ (lambda). Sie wird in der Statistik z. B. bei der Berechnung von Teststärken (Power-Analysen) und bei Konfidenzintervallen für Effektgrößen (Cohen's d) verwendet.
- which = 1: Berechnet die CDF P(X ≤ par1) für gegebene Zufallsvariable
par1, Freiheitsgradepar2und Nichtzentralitätsparameterpar3. - which = 2: Berechnet den Quantilwert (die Zufallsvariable)
par1für gegebene Wahrscheinlichkeitpar1(Argument wird ignoriert/überschrieben), Freiheitsgradepar2und Nichtzentralitätsparameterpar3. - which = 3: Berechnet die Freiheitsgrade
par2aus den übrigen Parametern. - which = 4: Berechnet den Nichtzentralitätsparameter
par3aus den übrigen Parametern.
Diese Funktion ist Teil der PECL-Erweiterung stats und muss separat installiert werden (pecl install stats). Sie ist nicht im PHP-Kern enthalten.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $par1 Pflicht | float | Je nach $which: der Wert der Zufallsvariablen (which=1 oder 2) oder die kumulative Wahrscheinlichkeit (which=3 oder 4). Der zu berechnende Parameter wird ignoriert, muss aber übergeben werden. |
|
| $par2 Pflicht | float | Je nach $which: die Anzahl der Freiheitsgrade (df > 0) oder der zu berechnende Wert (which=3). |
|
| $par3 Pflicht | float | Je nach $which: der Nichtzentralitätsparameter λ der t-Verteilung oder der zu berechnende Wert (which=4). |
|
| $which Pflicht | int | Gibt an, welcher Parameter berechnet werden soll: 1 = CDF-Wert (Wahrscheinlichkeit), 2 = Quantil (Zufallsvariable), 3 = Freiheitsgrade, 4 = Nichtzentralitätsparameter. |
Rückgabewert
float zurück. Im Fehlerfall (ungültige Parameter, Konvergenzproblem) kann false oder NAN zurückgegeben werden.Beispiele
CDF-Wert der nichtzentralen t-Verteilung berechnen
<?php
// Berechnet P(X <= 2.5) für df=10 und Nichtzentralitätsparameter λ=1.0
$x = 2.5; // Zufallsvariable
$df = 10.0; // Freiheitsgrade
$nc = 1.0; // Nichtzentralitätsparameter
$which = 1; // Berechne CDF
$prob = stats_cdf_noncentral_t($x, $df, $nc, $which);
echo 'P(X <= ' . $x . ') = ' . $prob . PHP_EOL;
// Ausgabe: P(X <= 2.5) = 0.78... (ungefähre Wahrscheinlichkeit)
Quantil der nichtzentralen t-Verteilung berechnen (Inverse CDF)
<?php
// Berechnet das 95%-Quantil bei df=20 und Nichtzentralitätsparameter λ=0.5
$prob = 0.95; // Wahrscheinlichkeit
$df = 20.0; // Freiheitsgrade
$nc = 0.5; // Nichtzentralitätsparameter
$which = 2; // Berechne Quantil
$quantile = stats_cdf_noncentral_t($prob, $df, $nc, $which);
echo '95%-Quantil (df=20, λ=0.5): ' . $quantile . PHP_EOL;
// Ausgabe: 95%-Quantil (df=20, λ=0.5): 2.18... (ungefährer Wert)
Nichtzentralitätsparameter aus CDF und Quantil bestimmen
<?php
// Gesucht: Nichtzentralitätsparameter λ, wenn P(X<=2.5)=0.78, df=10
$x = 2.5; // Zufallsvariable
$df = 10.0; // Freiheitsgrade
$prob = 0.78; // bekannte Wahrscheinlichkeit (par3 als Startwert)
$which = 4; // Berechne Nichtzentralitätsparameter
$nc = stats_cdf_noncentral_t($x, $df, $prob, $which);
echo 'Nichtzentralitätsparameter λ ≈ ' . $nc . PHP_EOL;
// Wichtig · Fallstricke
Voraussetzung: Die PECL-Erweiterung stats muss installiert und in der php.ini aktiviert sein (extension=stats.so bzw. extension=stats.dll). Ohne diese Erweiterung existiert die Funktion nicht.
Freiheitsgrade: par2 (df) muss positiv sein. Negative oder null Werte führen zu undefiniertem Verhalten oder einem Fehler.
Konvergenz: Bei extremen Parameterkombinationen kann der interne numerische Algorithmus nicht konvergieren. Prüfen Sie das Ergebnis auf NAN oder false.
which-Wert: Nur die Werte 1–4 sind gültig. Andere Werte können zu einem Fehler oder unerwarteten Ergebnissen führen.