Start · Sprachen · PHP · Referenz · stats_cdf_noncentral_t

stats_cdf_noncentral_t

Funktion

Berechnet einen fehlenden Parameter der nichtzentralen t-Verteilung aus den übrigen drei Parametern (CDF, Wert, Freiheitsgrade, Nichtzentralitätsparameter).

Kategorie: math

Signatur

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

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, Freiheitsgrade par2 und Nichtzentralitätsparameter par3.
  • which = 2: Berechnet den Quantilwert (die Zufallsvariable) par1 für gegebene Wahrscheinlichkeit par1 (Argument wird ignoriert/überschrieben), Freiheitsgrade par2 und Nichtzentralitätsparameter par3.
  • which = 3: Berechnet die Freiheitsgrade par2 aus den übrigen Parametern.
  • which = 4: Berechnet den Nichtzentralitätsparameter par3 aus 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

Typ
float
Beschreibung
Gibt den berechneten Parameter als 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)
P(X <= 2.5) = 0.78...

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)
95%-Quantil (df=20, λ=0.5): 2.18...

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;
Nichtzentralitätsparameter λ ≈ 1.0...

// 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.