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