Start · Sprachen · PHP · Referenz · stats_cdf_noncentral_chisquare

stats_cdf_noncentral_chisquare

Funktion

Berechnet einen fehlenden Parameter der nichtzentralen Chi-Quadrat-Verteilung, wenn die übrigen drei bekannt sind.

Kategorie: math

Signatur

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

Beschreibung

Die Funktion stats_cdf_noncentral_chisquare() gehört zur PECL-Erweiterung stats und arbeitet mit der nichtzentralen Chi-Quadrat-Verteilung (engl. noncentral chi-square distribution). Diese Verteilung verallgemeinert die klassische Chi-Quadrat-Verteilung und wird häufig in der Statistik eingesetzt, um die Teststärke (Power) von Hypothesentests zu berechnen, etwa bei ANOVA oder Varianzanalysen.

Je nach Wert des Parameters which berechnet die Funktion einen der vier Parameter aus den drei übrigen: die kumulative Wahrscheinlichkeit (CDF), den Quantilwert (die Zufallsvariable x), die Freiheitsgrade oder den Nichtzentralitätsparameter (Noncentrality Parameter, NCP). So lassen sich z. B. kritische Werte oder Wahrscheinlichkeiten direkt ermitteln.

Die Parameter par1, par2 und par3 stehen je nach which-Wert für unterschiedliche Größen der Verteilung. Der unbekannte Parameter wird durch den entsprechenden Wert in der Eingabe ignoriert und numerisch ermittelt.

  • which = 1: Berechnet die kumulative Wahrscheinlichkeit p (CDF) für einen gegebenen x-Wert, Freiheitsgrade und NCP.
  • which = 2: Berechnet den Quantilwert x aus Wahrscheinlichkeit, Freiheitsgraden und NCP.
  • which = 3: Berechnet die Freiheitsgrade aus Wahrscheinlichkeit, x und NCP.
  • which = 4: Berechnet den Nichtzentralitätsparameter aus Wahrscheinlichkeit, x und Freiheitsgraden.

Parameter

Name Typ Default Beschreibung
$par1 Pflicht float Erster Parameter der Verteilung. Je nach which: kumulative Wahrscheinlichkeit p (0–1), Quantilwert x (>= 0), Freiheitsgrade (> 0) oder Nichtzentralitätsparameter (>= 0).
$par2 Pflicht float Zweiter Parameter der Verteilung. Je nach which: Quantilwert x, Freiheitsgrade oder Nichtzentralitätsparameter.
$par3 Pflicht float Dritter Parameter der Verteilung. Je nach which: Freiheitsgrade oder Nichtzentralitätsparameter.
$which Pflicht int Gibt an, welcher Parameter berechnet werden soll. Gültige Werte: 1 (CDF/Wahrscheinlichkeit), 2 (Quantilwert x), 3 (Freiheitsgrade), 4 (Nichtzentralitätsparameter).

Rückgabewert

Typ
float
Beschreibung
Gibt den berechneten Parameterwert als Gleitkommazahl zurück. Bei which = 1 ist dies eine Wahrscheinlichkeit zwischen 0 und 1, bei den anderen Werten die entsprechende statistische Kenngröße.

Beispiele

Kumulative Wahrscheinlichkeit berechnen (which = 1)

<?php
// Berechnet die kumulative Wahrscheinlichkeit P(X <= 10)
// bei 5 Freiheitsgraden und Nichtzentralitätsparameter 3.0
$x          = 10.0;
$df         = 5.0;
$ncp        = 3.0;
$probability = stats_cdf_noncentral_chisquare($x, $df, $ncp, 1);
echo 'P(X <= 10) = ' . $probability;
?>
P(X <= 10) = 0.83836...

Kritischen Wert (Quantil) berechnen (which = 2)

<?php
// Berechnet den x-Wert, bei dem die kumulative Wahrscheinlichkeit 0.95 beträgt
// bei 5 Freiheitsgraden und Nichtzentralitätsparameter 3.0
$p   = 0.95;
$df  = 5.0;
$ncp = 3.0;
$x   = stats_cdf_noncentral_chisquare($p, $df, $ncp, 2);
echo 'Kritischer Wert x bei p=0.95: ' . $x;
?>
Kritischer Wert x bei p=0.95: 14.309...

Nichtzentralitätsparameter ermitteln (which = 4)

<?php
// Gesucht: Nichtzentralitätsparameter, wenn p=0.80, x=12, df=5
$p   = 0.80;
$x   = 12.0;
$df  = 5.0;
$ncp = stats_cdf_noncentral_chisquare($p, $x, $df, 4);
echo 'Nichtzentralitätsparameter NCP: ' . $ncp;
?>
Nichtzentralitätsparameter NCP: 5.432...

// Wichtig · Fallstricke

PECL-Erweiterung erforderlich: Diese Funktion ist Teil der PECL-Erweiterung stats, die nicht standardmäßig in PHP enthalten ist. Sie muss separat installiert und in der php.ini aktiviert werden (extension=stats).

Parameterreihenfolge: Die Bedeutung von par1, par2 und par3 hängt direkt vom Wert which ab. Eine falsche Zuordnung führt zu falschen Ergebnissen ohne Fehlermeldung – daher die Dokumentation stets genau beachten.

Gültigkeitsbereiche: Freiheitsgrade müssen größer als 0 sein, der Nichtzentralitätsparameter muss >= 0 sein und Wahrscheinlichkeitswerte müssen im Bereich [0, 1] liegen. Ungültige Eingaben können zu NAN oder undefinierten Ergebnissen führen.