Start · Sprachen · PHP · Referenz · stats_rand_gen_t

stats_rand_gen_t

Funktion

Erzeugt eine Zufallszahl aus der Student-t-Verteilung mit den angegebenen Freiheitsgraden.

Kategorie: math

Signatur

stats_rand_gen_t(float $df): float

Beschreibung

stats_rand_gen_t ist Teil der PECL-Erweiterung stats und gibt eine einzelne Zufallszahl zurück, die gemäß der Student-t-Verteilung (auch t-Verteilung genannt) verteilt ist. Der einzige Parameter ist die Anzahl der Freiheitsgrade (degrees of freedom), welche die Form der Verteilung bestimmt.

Die t-Verteilung wird in der Statistik häufig für Hypothesentests eingesetzt, insbesondere wenn die Stichprobengröße klein und die Standardabweichung der Grundgesamtheit unbekannt ist. Je größer die Freiheitsgrade, desto mehr nähert sich die t-Verteilung der Standardnormalverteilung an.

Diese Funktion eignet sich für Monte-Carlo-Simulationen, statistische Bootstrapping-Verfahren oder die Simulation von Stichprobenverteilungen in wissenschaftlichen und mathematischen Anwendungen. Sie erfordert die installierte und aktivierte PECL-Erweiterung stats.

Beachte, dass die Freiheitsgrade df einen positiven Wert größer als null annehmen müssen, da die t-Verteilung sonst nicht definiert ist.

Parameter

Name Typ Default Beschreibung
$df Pflicht float Anzahl der Freiheitsgrade (degrees of freedom) der t-Verteilung. Muss ein positiver Wert größer als 0 sein.

Rückgabewert

Typ
float
Beschreibung
Gibt eine Zufallszahl zurück, die gemäß der Student-t-Verteilung mit den angegebenen Freiheitsgraden df verteilt ist.

Beispiele

Einzelne t-verteilte Zufallszahl erzeugen

<?php
// Erzeugt eine einzelne Zufallszahl aus der t-Verteilung mit 10 Freiheitsgraden
$zufallszahl = stats_rand_gen_t(10);
echo "t-verteilte Zufallszahl (df=10): " . $zufallszahl . PHP_EOL;
?>
t-verteilte Zufallszahl (df=10): 0.53291748...

Monte-Carlo-Simulation mit t-Verteilung

<?php
// Simulation von 1000 t-verteilten Zufallszahlen und Berechnung des Mittelwerts
$df = 5;
$stichproben = 1000;
$summe = 0.0;

for ($i = 0; $i < $stichproben; $i++) {
    $summe += stats_rand_gen_t($df);
}

$mittelwert = $summe / $stichproben;
echo "Mittelwert von {$stichproben} t-verteilten Zufallszahlen (df={$df}): " . round($mittelwert, 4) . PHP_EOL;
// Bei ausreichend großer Stichprobe sollte der Mittelwert nahe 0 liegen
?>
Mittelwert von 1000 t-verteilten Zufallszahlen (df=5): 0.0231

// Wichtig · Fallstricke

Erweiterung erforderlich: Diese Funktion ist nicht im PHP-Kern enthalten, sondern Teil der PECL-Erweiterung stats. Sie muss separat installiert und in der php.ini aktiviert werden (extension=stats.so bzw. extension=stats.dll).

Freiheitsgrade: Der Parameter df muss strikt positiv sein (df > 0). Bei ungültigen Werten (z. B. df <= 0) ist das Verhalten undefiniert und kann zu fehlerhaften Ergebnissen oder Warnungen führen.

Reproduzierbarkeit: Für reproduzierbare Ergebnisse in Tests oder Simulationen kann der Zufallsgenerator-Seed mit stats_rand_setall gesetzt werden.