Start · Sprachen · PHP · Referenz · stats_cdf_chisquare

stats_cdf_chisquare

Funktion

Berechnet einen fehlenden Parameter der Chi-Quadrat-Verteilung (CDF, inverse CDF oder Freiheitsgrade) aus den übrigen gegebenen Parametern.

Kategorie: math

Signatur

stats_cdf_chisquare(float $par1, float $par2, int $which): float

Beschreibung

Die Funktion stats_cdf_chisquare() gehört zur PECL-Erweiterung stats und ermöglicht die Arbeit mit der Chi-Quadrat-Verteilung. Je nach dem Wert des Parameters which wird entweder der kumulative Wahrscheinlichkeitswert (CDF), der Quantilwert (inverse CDF) oder die Freiheitsgrade berechnet.

Die Chi-Quadrat-Verteilung wird in der Statistik häufig für Hypothesentests (z. B. Chi-Quadrat-Anpassungstest, Unabhängigkeitstest in Kontingenztabellen) sowie für die Berechnung von Konfidenzintervallen für Varianzen verwendet. Mit dieser Funktion lassen sich typische statistische Berechnungen direkt in PHP durchführen, ohne auf externe Bibliotheken oder Webservices angewiesen zu sein.

  • which = 1: Berechnet die kumulative Wahrscheinlichkeit P (CDF) für einen gegebenen Chi-Quadrat-Wert (par1) und Freiheitsgrade (par2).
  • which = 2: Berechnet den Chi-Quadrat-Wert (Quantil, inverse CDF) für eine gegebene Wahrscheinlichkeit P (par1) und Freiheitsgrade (par2).
  • which = 3: Berechnet die Freiheitsgrade für eine gegebene Wahrscheinlichkeit P (par1) und einen Chi-Quadrat-Wert (par2).

Die Funktion setzt die PECL-Erweiterung stats voraus, die separat installiert werden muss (pecl install stats). Sie ist nicht Bestandteil der PHP-Kerninstallation.

Parameter

Name Typ Default Beschreibung
$par1 Pflicht float Der erste Eingabeparameter: je nach which entweder der Chi-Quadrat-Wert (bei which=1) oder die kumulative Wahrscheinlichkeit P im Bereich [0, 1] (bei which=2 oder which=3).
$par2 Pflicht float Der zweite Eingabeparameter: je nach which entweder die Anzahl der Freiheitsgrade (bei which=1 oder which=2, muss > 0 sein) oder der Chi-Quadrat-Wert (bei which=3).
$which Pflicht int Bestimmt, welcher Parameter berechnet werden soll: 1 = CDF (kumulative Wahrscheinlichkeit), 2 = Quantil (inverse CDF), 3 = Freiheitsgrade.

Rückgabewert

Typ
float
Beschreibung
Gibt den berechneten Parameter als Gleitkommazahl zurück: die kumulative Wahrscheinlichkeit (bei which=1), den Chi-Quadrat-Quantilwert (bei which=2) oder die Freiheitsgrade (bei which=3). Bei ungültigen Eingaben kann NaN oder ein undefinierter Wert zurückgegeben werden.

Beispiele

Kumulative Wahrscheinlichkeit für einen Chi-Quadrat-Wert berechnen

<?php
// CDF: Wie groß ist die Wahrscheinlichkeit, dass ein Chi-Quadrat-Wert <= 5.991
// bei 2 Freiheitsgraden auftritt?
$chiSquareValue = 5.991;
$degreesOfFreedom = 2;
$probability = stats_cdf_chisquare($chiSquareValue, $degreesOfFreedom, 1);
echo "P(X <= {$chiSquareValue}) mit df={$degreesOfFreedom}: " . round($probability, 4) . PHP_EOL;
// Erwartet: ca. 0.9500 (95 %-Quantil der Chi-Quadrat-Verteilung mit 2 df)
P(X <= 5.991) mit df=2: 0.95

Kritischen Chi-Quadrat-Wert (Quantil) für ein Signifikanzniveau bestimmen

<?php
// Inverse CDF: Welcher Chi-Quadrat-Wert trennt die untersten 95 % der Verteilung
// bei 5 Freiheitsgraden?
$alpha = 0.05;           // Signifikanzniveau
$probability = 1 - $alpha; // 0.95
$degreesOfFreedom = 5;
$criticalValue = stats_cdf_chisquare($probability, $degreesOfFreedom, 2);
echo "Kritischer Wert (alpha=0.05, df=5): " . round($criticalValue, 4) . PHP_EOL;
// Erwartet: ca. 11.0705
Kritischer Wert (alpha=0.05, df=5): 11.0705

Freiheitsgrade aus Wahrscheinlichkeit und Chi-Quadrat-Wert berechnen

<?php
// which=3: Freiheitsgrade bestimmen, wenn P und der Chi-Quadrat-Wert bekannt sind
$probability = 0.95;
$chiSquareValue = 11.0705;
$df = stats_cdf_chisquare($probability, $chiSquareValue, 3);
echo "Freiheitsgrade: " . round($df, 2) . PHP_EOL;
// Erwartet: ca. 5.0
Freiheitsgrade: 5.0

// Wichtig · Fallstricke

Voraussetzung: Die PECL-Erweiterung stats muss installiert und in der php.ini aktiviert sein (extension=stats). Sie ist nicht im PHP-Kern enthalten.

Gültige Wertebereiche: Der Freiheitsgrad-Parameter muss stets > 0 sein. Die kumulative Wahrscheinlichkeit muss im Bereich [0, 1] liegen. Bei ungültigen Werten liefert die Funktion möglicherweise NaN oder nicht aussagekräftige Ergebnisse, ohne eine PHP-Warnung auszulösen — daher sollten Eingaben vorab validiert werden.

Numerische Präzision: Die zurückgegebenen Werte sind Näherungswerte. Für sicherheitskritische statistische Berechnungen empfiehlt sich ein Abgleich mit etablierten Statistik-Softwarepaketen (R, Python/SciPy).