R에서 f 통계의 p 값을 계산하는 방법


F 테스트는 F 통계량을 생성합니다. R에서 F 통계량과 관련된 p-값을 찾으려면 다음 명령을 사용할 수 있습니다.

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

  • fstat – f 통계의 값
  • df1 – 자유도 1
  • df2 – 자유도 2
  • lower.tail – F 분포의 아래쪽 꼬리와 관련된 확률을 반환할지 여부입니다. 이는 기본적으로 TRUE입니다.

예를 들어, 자유도 1 = 3, 자유도 2 = 14인 F 통계량 5와 연관된 p-값을 찾는 방법은 다음과 같습니다.

 pf(5, 3, 14, lower.tail = FALSE)

#[1] 0.01457807

F-검정의 가장 일반적인 용도 중 하나는 회귀 모델의 전반적인 유의성을 테스트하는 것입니다. 다음 예에서는 회귀 모델에 대한 F 통계의 p-값을 계산하는 방법을 보여줍니다.

예: F 통계량에서 p-값 계산

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은 이 F 통계량의 p-값이 0.0332 라고 자동으로 계산합니다.

이 동등한 p-값을 직접 계산하기 위해 다음 코드를 사용할 수 있습니다.

 pf(5.091, 2, 9, lower.tail = FALSE)

#[1] 0.0331947

위의 선형 회귀 출력과 동일한 답을 얻습니다(그러나 더 많은 소수 자릿수가 표시됨).

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다