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 検定の最も一般的な用途の 1 つは、回帰モデルの全体的な有意性を検定することです。次の例では、回帰モデルの 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
上記の線形回帰出力と同じ答えが得られることに注意してください (ただし、小数点以下の桁数が多く表示されます)。