Signatur
Beschreibung
Die Funktion stats_dens_chisquare() gehört zur PECL-Erweiterung stats und gibt den Wert der Wahrscheinlichkeitsdichtefunktion (englisch: Probability Density Function, PDF) der Chi-Quadrat-Verteilung zurück. Die Chi-Quadrat-Verteilung ist eine stetige Wahrscheinlichkeitsverteilung, die in der Statistik häufig bei Hypothesentests (z. B. Chi-Quadrat-Anpassungstest) und der Analyse von Varianzen verwendet wird.
Der erste Parameter x gibt die Stelle auf der x-Achse an, an der die Dichte ausgewertet werden soll. Da die Chi-Quadrat-Verteilung nur für nicht-negative Werte definiert ist, sollte x größer oder gleich 0 sein. Der zweite Parameter dfr bestimmt die Anzahl der Freiheitsgrade der Verteilung, typischerweise eine positive ganze Zahl.
Typische Einsatzgebiete sind die Visualisierung der Chi-Quadrat-Dichtefunktion (z. B. zum Plotten einer Kurve), die numerische Überprüfung statistischer Modelle sowie die Implementierung eigener Hypothesentests oder Monte-Carlo-Simulationen in PHP.
Hinweis: Diese Funktion ist Teil der PECL-Erweiterung stats, die separat installiert werden muss und nicht zum PHP-Kern gehört.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $x Pflicht | float | Der Punkt auf der x-Achse, an dem die Dichtefunktion ausgewertet wird. Muss >= 0 sein, da die Chi-Quadrat-Verteilung nur für nicht-negative Werte definiert ist. |
|
| $dfr Pflicht | float | Die Anzahl der Freiheitsgrade (degrees of freedom) der Chi-Quadrat-Verteilung. Typischerweise eine positive ganze Zahl, z. B. 1, 2, 5. |
Rückgabewert
x als Gleitkommazahl zurück.Beispiele
Dichtewert an einer bestimmten Stelle berechnen
<?php
// Dichtewert der Chi-Quadrat-Verteilung mit 3 Freiheitsgraden an der Stelle x = 2
$x = 2.0;
$dfr = 3;
$density = stats_dens_chisquare($x, $dfr);
echo "f(" . $x . "; df=" . $dfr . ") = " . $density . PHP_EOL;
?>
Dichtefunktion tabellarisch für mehrere x-Werte ausgeben
<?php
// Chi-Quadrat-PDF mit 5 Freiheitsgraden für x von 0 bis 10 tabellarisch ausgeben
$dfr = 5;
echo str_pad('x', 8) . str_pad('f(x)', 20) . PHP_EOL;
echo str_repeat('-', 28) . PHP_EOL;
for ($x = 0; $x <= 10; $x += 1) {
$density = stats_dens_chisquare((float)$x, $dfr);
echo str_pad($x, 8) . str_pad(round($density, 6), 20) . PHP_EOL;
}
?>
// Wichtig · Fallstricke
Abhängigkeit: stats_dens_chisquare() ist keine eingebaute PHP-Funktion, sondern gehört zur PECL-Erweiterung stats. Sie muss mit pecl install stats installiert und in der php.ini aktiviert werden (extension=stats.so bzw. extension=stats.dll).
Für x < 0 ist die Chi-Quadrat-Verteilung nicht definiert; das Verhalten in diesem Fall ist implementierungsabhängig und kann zu unerwarteten Ergebnissen oder einem Rückgabewert von 0.0 führen. Freiheitsgrade sollten stets positiv und von sinnvollem numerischem Wert sein.
Verwechsle die Dichtefunktion (PDF) nicht mit der kumulativen Verteilungsfunktion (CDF). Für Letztere steht stats_cdf_chisquare() zur Verfügung.