Signatur
Beschreibung
Die Funktion stats_rand_gen_chisquare() gibt eine Pseudozufallszahl zurück, die gemäß der Chi-Quadrat-Verteilung (χ²-Verteilung) mit df Freiheitsgraden verteilt ist. Sie ist Bestandteil der PECL-Erweiterung stats und steht nach deren Installation zur Verfügung.
Die Chi-Quadrat-Verteilung ist eine stetige Wahrscheinlichkeitsverteilung, die häufig in der Inferenzstatistik verwendet wird – etwa beim Chi-Quadrat-Anpassungstest, beim Chi-Quadrat-Unabhängigkeitstest oder zur Konstruktion von Konfidenzintervallen für Varianzen. Sie ergibt sich mathematisch als Summe der Quadrate von df unabhängigen standard-normalverteilten Zufallsvariablen.
Die erzeugte Zufallszahl ist stets nicht-negativ. Je größer der Freiheitsgrad df, desto größer ist der Erwartungswert (gleich df) und die Varianz (gleich 2 * df) der erzeugten Werte. Der Freiheitsgrad muss positiv sein; typischerweise sind ganzzahlige Werte üblich, Nicht-Ganzzahlen werden jedoch ebenfalls akzeptiert.
Diese Funktion eignet sich besonders für statistische Simulationen, Monte-Carlo-Methoden oder das Testen statistischer Verfahren, die auf der Chi-Quadrat-Verteilung basieren.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $df Pflicht | float | Der Freiheitsgrad der Chi-Quadrat-Verteilung. Muss ein positiver Wert sein (typischerweise eine positive ganze Zahl, z. B. 1.0, 5.0). |
Rückgabewert
df entstammt.Beispiele
Einfache Zufallszahl aus der Chi-Quadrat-Verteilung
<?php
// Einen einzelnen Zufallswert mit 5 Freiheitsgraden erzeugen
$df = 5.0;
$value = stats_rand_gen_chisquare($df);
echo "Zufallszahl (df=5): " . $value . PHP_EOL;
?>
Simulation: Stichprobe und Berechnung des Mittelwerts
<?php
// 10000 Zufallswerte mit df=3 erzeugen und Mittelwert bestimmen
// Erwarteter Mittelwert: df = 3
$df = 3.0;
$n = 10000;
$sum = 0.0;
for ($i = 0; $i < $n; $i++) {
$sum += stats_rand_gen_chisquare($df);
}
$mean = $sum / $n;
echo sprintf(
"Stichprobenmittelwert (n=%d, df=%.0f): %.4f (Erwartungswert: %.1f)\n",
$n, $df, $mean, $df
);
?>
// Wichtig · Fallstricke
Voraussetzung: Diese Funktion ist nicht Teil der PHP-Kernbibliothek, sondern gehört zur PECL-Erweiterung stats. Sie muss separat installiert werden (pecl install stats).
Freiheitsgrad: Der Parameter df muss strikt positiv sein. Ein Wert von 0 oder negativen Zahlen führt zu undefiniertem Verhalten oder einem Fehler. Validieren Sie den Eingabewert daher stets, bevor Sie die Funktion aufrufen.
Reproduzierbarkeit: Für reproduzierbare Ergebnisse (z. B. in Tests) kann der Zufallszahlengenerator mit stats_rand_setall() oder einem anderen Seed-Mechanismus initialisiert werden, sofern die Erweiterung dies unterstützt.