Signatur
Beschreibung
stats_dens_t() gibt den Wert der Wahrscheinlichkeitsdichtefunktion (PDF) der Student-t-Verteilung für einen gegebenen Wert x und eine bestimmte Anzahl von Freiheitsgraden dfr zurück. Die t-Verteilung ist eine symmetrische, glockenförmige Verteilung, die häufig in der Inferenzstatistik verwendet wird, insbesondere wenn die Stichprobengröße klein ist und die Populationsvarianz unbekannt ist.
Die Funktion gehört zur stats-Erweiterung (PECL stats), die separat installiert werden muss. Sie ist nützlich bei statistischen Tests wie dem Student-t-Test, bei der Modellierung von Unsicherheiten und in der Bayes'schen Statistik.
Mit steigender Anzahl der Freiheitsgrade nähert sich die t-Verteilung der Standardnormalverteilung an. Die Dichtefunktion selbst gibt keine Wahrscheinlichkeiten direkt an, sondern beschreibt die relative Wahrscheinlichkeit des Auftretens eines bestimmten Wertes innerhalb der Verteilung.
- Verwende
stats_dens_t(), wenn du die Höhe der Dichtefunktion an einem konkreten Punkt benötigst. - Für kumulative Wahrscheinlichkeiten (Fläche unter der Kurve) eignet sich stattdessen
stats_cdf_t().
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $x Pflicht | float | Der Punkt auf der x-Achse, an dem die Dichtefunktion der t-Verteilung ausgewertet wird. Kann jede reelle Zahl sein. | |
| $dfr Pflicht | float | Die Anzahl der Freiheitsgrade der t-Verteilung. Muss ein positiver Wert sein (typischerweise eine positive ganze Zahl, z. B. n - 1 bei einer Stichprobe der Größe n). |
Rückgabewert
x zurück. Der Rückgabewert ist stets nicht-negativ. Bei ungültigen Parametern (z. B. dfr <= 0) kann das Verhalten undefiniert sein oder NAN zurückgegeben werden.Beispiele
Dichtewert der t-Verteilung an einem bestimmten Punkt berechnen
<?php
// Wahrscheinlichkeitsdichte der t-Verteilung bei x=0 mit 10 Freiheitsgraden
$x = 0.0;
$dfr = 10;
$dichte = stats_dens_t($x, $dfr);
echo "PDF der t-Verteilung bei x={$x}, df={$dfr}: " . $dichte . PHP_EOL;
// Bei x=0 liegt das Maximum der symmetrischen t-Verteilung
// Vergleich mit Normalverteilung (df -> unendlich)
$dichte_normal = stats_dens_normal($x, 0, 1);
echo "PDF der Standardnormalverteilung bei x={$x}: " . $dichte_normal . PHP_EOL;
Dichtefunktion über einen Wertebereich plotten (Tabelle ausgeben)
<?php
// Dichtewerte der t-Verteilung (df=5) für x von -3 bis 3 ausgeben
$dfr = 5;
echo sprintf("%-8s %s\n", 'x', 'PDF (df=5)');
for ($i = -6; $i <= 6; $i++) {
$x = $i * 0.5;
$dichte = stats_dens_t($x, $dfr);
echo sprintf("%-8.2f %.8f\n", $x, $dichte);
}
// Wichtig · Fallstricke
Voraussetzung: Die Funktion stats_dens_t() ist Teil der PECL-Erweiterung stats und steht nicht standardmäßig in PHP zur Verfügung. Sie muss über PECL installiert und in der php.ini aktiviert werden (extension=stats).
Freiheitsgrade: Der Parameter dfr muss strikt positiv sein (dfr > 0). Negative oder null Freiheitsgrade führen zu undefiniertem Verhalten. In der Praxis entspricht dfr meist n - 1 (Stichprobengröße minus 1).
Abgrenzung zur CDF: Die Dichtefunktion allein liefert keine Wahrscheinlichkeiten für Intervalle. Für Wahrscheinlichkeiten über Bereiche sollte stats_cdf_t() verwendet werden.