Start · Sprachen · PHP · Referenz · stats_dens_t

stats_dens_t

Funktion

Berechnet den Wert der Wahrscheinlichkeitsdichtefunktion (PDF) der Student-t-Verteilung an der Stelle <code>x</code> mit <code>dfr</code> Freiheitsgraden.

Kategorie: math

Signatur

stats_dens_t(float $x, float $dfr): float

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

Typ
float
Beschreibung
Gibt den Wert der Wahrscheinlichkeitsdichtefunktion der t-Verteilung an der Stelle 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;
PDF der t-Verteilung bei x=0, df=10: 0.38932600512478 PDF der Standardnormalverteilung bei x=0: 0.39894228040143

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);
}
x PDF (df=5) -3.00 0.02741100 -2.50 0.04813692 -2.00 0.09653983 -1.50 0.17612996 -1.00 0.27975171 -0.50 0.35727761 0.00 0.37960669 0.50 0.35727761 1.00 0.27975171 1.50 0.17612996 2.00 0.09653983 2.50 0.04813692 3.00 0.02741100

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