Як обчислити значення p для f-статистики в r
F-тест дає F-статистику. Щоб знайти значення p, пов’язане зі статистикою F у R, ви можете використати таку команду:
pf(fstat, df1, df2, lower.tail = FALSE)
- fstat – значення f-статистики
- df1 – ступінь свободи 1
- df2 – ступені свободи 2
- lower.tail – чи повертати ймовірність, пов’язану з нижнім хвостом F-розподілу. За замовчуванням це TRUE.
Наприклад, ось як знайти значення p, пов’язане зі статистикою F, що дорівнює 5, зі ступенями свободи 1 = 3 і ступенями свободи 2 = 14:
pf(5, 3, 14, lower.tail = FALSE) #[1] 0.01457807
Одним із найпоширеніших застосувань F-критерію є перевірка загальної значущості регресійної моделі . У наступному прикладі ми показуємо, як обчислити p-значення F-статистики для регресійної моделі.
Приклад: обчислення p-значення на основі F-статистики
Припустімо, у нас є набір даних, який показує загальну кількість вивчених годин, загальну кількість складених підготовчих іспитів і підсумкову оцінку іспиту для 12 різних студентів:
#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
Тоді ми можемо адаптувати лінійну регресійну модель до цих даних, використовуючи навчальні години та підготовчі іспити як предикторні змінні та остаточний бал як змінну відповіді. Тоді ми можемо візуалізувати результат моделі:
#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
У самому останньому рядку результату ми бачимо, що F-статистика для загальної моделі регресії становить 5,091 . Ця F-статистика має 2 ступені свободи для чисельника та 9 ступенів свободи для знаменника. R автоматично обчислює, що p-значення для цієї F-статистики становить 0,0332 .
Щоб самостійно обчислити це еквівалентне p-значення, ми можемо використати такий код:
pf(5.091, 2, 9, lower.tail = FALSE) #[1] 0.0331947
Зауважте, що ми отримуємо таку саму відповідь (але з більшою кількістю десяткових знаків), що й результат лінійної регресії вище.