Start · Sprachen · PHP · Referenz · stats_rand_gen_chisquare

stats_rand_gen_chisquare

Funktion

Erzeugt eine zufällige Gleitkommazahl, die der Chi-Quadrat-Verteilung mit dem angegebenen Freiheitsgrad folgt.

Kategorie: math

Signatur

stats_rand_gen_chisquare(float $df): float

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

Typ
float
Beschreibung
Eine nicht-negative Pseudozufallszahl, die der Chi-Quadrat-Verteilung mit dem angegebenen Freiheitsgrad 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;
?>
Zufallszahl (df=5): 4.7213... (Wert variiert je nach Zufallsgenerator)

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
);
?>
Stichprobenmittelwert (n=10000, df=3): 2.9987 (Erwartungswert: 3.0)

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