So berechnen Sie den P-Wert einer F-Statistik in R

Von Fabian
Kategorie: R
Lesezeit: 3 Minuten

Ein F-Test erzeugt eine F-Statistik. Um den mit einer F-Statistik in R verknüpften p-Wert zu ermitteln, können Sie den folgenden Befehl verwenden:

pf(fstat, df1, df2, lower.tail = FALSE)

  • fstat – der Wert der f-Statistik
  • df1 – Freiheitsgrade 1
  • df2 – Freiheitsgrade 2
  • lower.tail – Gibt an, ob die mit dem unteren Ende der F-Verteilung verbundene Wahrscheinlichkeit zurückgegeben werden soll. Dies ist standardmäßig TRUE.

Hier erfahren Sie beispielsweise, wie Sie den p-Wert ermitteln, der einer F-Statistik von 5 mit Freiheitsgraden 1 = 3 und Freiheitsgraden 2 = 14 zugeordnet ist:

pf(5, 3, 14, lower.tail = FALSE)
# [1] 0,01457807

Eine der häufigsten Anwendungen eines F-Tests ist das Testen der Gesamtsignifikanz eines Regressionsmodells. Im folgenden Beispiel zeigen wir, wie der p-Wert der F-Statistik für ein Regressionsmodell berechnet wird.

Beispiel: Berechnung des p-Wertes aus der F-Statistik

Angenommen, wir haben einen Datensatz, der die Gesamtzahl der untersuchten Stunden, die Gesamtzahl der absolvierten Vorbereitungsprüfungen und die Punktzahl der Abschlussprüfung für 12 verschiedene Schüler anzeigt:

 # Datensatz erstellen
data <- data.frame(study_hours = c(3, 7, 16, 14, 12, 7, 4, 19, 4, 8, 8, 3),
                   prep_exams = c(2, 6, 5, 2, 7, 4, 4, 2, 8, 4, 1, 3),
                   final_score = c(76, 88, 96, 90, 98, 80, 86, 89, 68, 75, 72, 76))

# Die ersten sechs Zeilen des Datensatzes anzeigen
head(data)

# study_hours prep_exams final_score
# 1 3 2 76
# 2 7 6 88
# 3 16 5 96
# 4 14 2 90
# 5 12 7 98
# 6 7 4 80

Als nächstes können wir ein lineares Regressionsmodell an diese Daten anpassen, indem wir Studienstunden und Vorbereitungsprüfungen als Prädiktorvariablen und die endgültige Punktzahl als Antwortvariable verwenden. Dann können wir die Ausgabe des Modells anzeigen:

#Regressionsmodell anpassen
model <- lm(final_score ~ study_hours + prep_exams, data = data)
#Ausgabe des Modells anzeigen
summary(model)

#Call:
#lm(formula = final_score ~ study_hours + prep_exams, data = data)
#
#Residuals:
# Min 1Q Median 3Q Max 
#-13.128 -5.319 2.168 3.458 9.341 
#
#Coefficients:
# Estimate Std. Error t value Pr(>|t|) 
#(Intercept) 66.990 6.211 10.785 1.9e-06 ***
#study_hours 1.300 0.417 3.117 0.0124 * 
#prep_exams 1.117 1.025 1.090 0.3041 
#---
#Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#
#Residual standard error: 7.327 on 9 degrees of freedom
#Multiple R-squared: 0.5308, Adjusted R-squared: 0.4265 
#F-statistic: 5.091 on 2 and 9 DF, p-value: 0.0332

In der allerletzten Zeile der Ausgabe sehen wir, dass die F-Statistik für das gesamte Regressionsmodell 5.091 ist. Diese F-Statistik hat 2 Freiheitsgrade für den Zähler und 9 Freiheitsgrade für den Nenner. R berechnet automatisch, dass der p-Wert für diese F-Statistik 0,0332 beträgt.

Um diesen äquivalenten p-Wert selbst zu berechnen, könnten wir den folgenden Code verwenden:

pf(5.091, 2, 9, lower.tail = FALSE)
# [1] 0.0331947

Beachten Sie, dass wir die gleiche Antwort erhalten (jedoch mit mehr angezeigten Dezimalstellen) wie die obige Ausgabe der linearen Regression.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: