T-Verteilung in R

Sheeraz Gul 21 Juni 2023
T-Verteilung in R

Die t-Verteilung ist eine Wahrscheinlichkeitsverteilung, die verwendet wird, um Stichproben aus einer normalverteilten Grundgesamtheit zu ziehen, bei der die Stichprobengröße klein und die Standardabweichung unbekannt ist. Dieses Tutorial zeigt, wie Sie eine t-Verteilung in R durchführen.

Studentische T-Verteilung in R

Die t-Verteilung, die normalerweise als t-Verteilung des Schülers bezeichnet wird, hat mehrere Funktionen, um verschiedene Operationen der t-Verteilung durchzuführen, zum Beispiel dt, pt und qt.

Wo dt() verwendet wird, um die Wahrscheinlichkeitsdichtefunktion der PDF der t-Verteilung mit der gegebenen Zufallsvariablen zu finden, werden zwei Parameter benötigt, ein Quantilvektor und der andere sind Freiheitsgrade. Die Syntax ist dt(x, df).

Die Funktion pt() liefert die kumulative Verteilungsfunktion der CDF der t-Verteilung.

Es braucht drei Parameter, der erste ist der Quantilvektor, der zweite sind die Freiheitsgrade und der dritte ist der lower.trail, der true oder false sein kann. Die Syntax ist pt(q, df, lower.tail = TRUE).

Die Funktion qt() liefert die inverse Summendichtefunktion der t-Verteilung.

Es braucht drei Parameter; der erste ist der Wahrscheinlichkeitsvektor, der zweite die Freiheitsgrade und der dritte der lower.trail. Die Syntax ist qt(p, df, lower.tail = TRUE).

Hier ist der Schritt-für-Schritt-Prozess zur Durchführung einer studentischen t-Verteilung in R.

  • Legen Sie zunächst die Freiheitsgrade fest.
  • Als nächstes wird die Dichtefunktion für die studentische t-Verteilung aufgetragen.
  • Um die Dichtefunktion zu zeichnen, erstellen Sie zuerst ein Vektorquantil, verwenden Sie dann die Methode dt(), um Werte der t-Verteilung zu finden, und zeichnen Sie schließlich unter Verwendung der Werte die Dichtefunktion für die studentische t-Verteilung.
  • Verwenden Sie nun die Methode pt(), um die kumulative Verteilungsfunktion der t-Verteilung zu erhalten, und verwenden Sie die Funktion qt(), um die inverse kumulative Dichtefunktion der t-Verteilung zu erhalten.

Nachdem wir den Prozess jetzt kennen, versuchen wir, die studentische t-Verteilung in R zu implementieren. Lassen Sie uns den Wert der t-Verteilung bei x=1 und den Freiheitsgraden 50 finden.

Siehe Beispiel:

# value of t-distribution probality density function at x=1 and df = 50
dt(x = 1, df = 50)

Der obige Code zeigt den Wert der Wahrscheinlichkeitsdichtefunktion der t-Verteilung bei x=1 und df = 50. Siehe Ausgabe:

[1] 0.2395711

Lassen Sie uns nun den p-Wert und das Konfidenzintervall der t-Verteilung mit der Methode pt() ermitteln. Siehe Beispiel:

# area to the right of a t-statistic with the value of 3.1 quantile and 30 degrees of freedom
pt(q = 3.1, df = 30, lower.tail = FALSE)

Der obige Code verwendet die Methode pt, um die Fläche rechts von einer t-Statistik mit dem Wert von 3,1 Quantilen und 30 Freiheitsgraden zu finden. Siehe Ausgabe:

[1] 0.002092242

Wir haben festgestellt, dass der einseitige p-Wert hier 0,2 % beträgt. Wenn wir ein zweiseitiges 50%-Konfidenzintervall konstruieren wollen, können wir die Funktion qt() verwenden, um den t-Score und den t-Wert für 50%-Konfidenz zu finden.

# value in each tail is 0.2% and confidence is 50%, we will find 0.2th percentile of t-distribution with 30 degrees of freedom
qt(p = 0.002, df = 30, lower.tail = TRUE)

Das qt findet den t-Wert, der als kritischer Wert für das Vertrauensintervall von 50% verwendet werden kann. Siehe Ausgabe:

[1] -3.117682

Vergleichen wir nun Wahrscheinlichkeitsdichtefunktionen mit unterschiedlichen Freiheitsgraden. Wir tun dies, weil es zeigt, je größer die Anzahl der Freiheitsgrade ist, desto näher liegt das Diagramm an der Normalverteilung.

Siehe Beispiel:

# vector of 200 values between -9 and 9
a <- seq(-9, 9, length = 200)

# Degrees of freedom with maximum 50 degrees
df = c(1,5,15,50)

#plot line colors
colour = c("blue", "red", "green", "orange","pink")

# the normal distribution
plot(a, dnorm(a), type = "l", lty = 2, xlab = "T-value", ylab = "Density",
     main = "The t-distributions Comparison", col = "darkblue")

# Adding t-distributions to the plot
for (i in 1:4){
  lines(a, dt(a, df[i]), col = colour[i])
}

# Adding legend
legend("topright", c("df = 1", "df = 5", "df = 15", "df = 50", "Normal"),
       col = colour, title = "T-distributions", lty = c(1,1,1,1,2))

Der obige Code zeigt das Vergleichsdiagramm für die t-Verteilungen verschiedener Freiheitsgrade. Siehe die Handlung:

Vergleich von T-Verteilungen

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Verwandter Artikel - R Distribution