So berechnen sie den p-wert einer f-statistik in r
Ein F-Test erzeugt eine F-Statistik. Um den p-Wert zu finden, der einer F-Statistik in R zugeordnet ist, 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 – ob die mit dem unteren Ende der F-Verteilung verbundene Wahrscheinlichkeit zurückgegeben werden soll oder nicht. Dies ist standardmäßig TRUE.
So ermitteln Sie beispielsweise den p-Wert, 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 besteht darin , die Gesamtsignifikanz eines Regressionsmodells zu testen . Im folgenden Beispiel zeigen wir, wie der p-Wert der F-Statistik für ein Regressionsmodell berechnet wird.
Beispiel: Berechnung des p-Werts aus der F-Statistik
Nehmen wir an, wir haben einen Datensatz, der die Gesamtzahl der gelernten Stunden, die Gesamtzahl der abgelegten Vorbereitungsprüfungen und die Abschlussprüfungsnote für 12 verschiedene Studenten zeigt:
#create dataset 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)) #view first six rows of dataset 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
Dann können wir ein lineares Regressionsmodell an diese Daten anpassen, indem wir Studienstunden und Vorbereitungsprüfungen als Prädiktorvariablen und die Endpunktzahl als Antwortvariable verwenden. Dann können wir das Ergebnis des Modells visualisieren:
#fit regression model model <- lm(final_score ~ study_hours + prep_exams, data = data) #view output of the model 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 #--- #Significant. 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 des Ergebnisses können wir sehen, dass die F-Statistik für das gesamte Regressionsmodell 5,091 beträgt. 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 bei der linearen Regressionsausgabe oben.