R の決定係数 (r 二乗) を求める方法
決定係数(一般に R 2と呼ばれる) は、回帰モデルの説明変数によって説明できる応答変数の分散の割合です。
このチュートリアルでは、R の回帰モデルでR2 を見つけて解釈する方法の例を示します。
関連: 適切な R 二乗値とは何ですか?
例: R の R2 乗の検索と解釈
15 人の学生の学習時間数、受けた予備試験、および受け取った試験の得点に関するデータを含む次のデータセットがあるとします。
#create data frame df <- data.frame(hours=c(1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6, 5, 3), prep_exams=c(1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2, 4, 4), score=c(76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96, 90, 82)) #view first six rows of data frame head(df) hours prep_exams score 1 1 1 76 2 2 3 78 3 2 3 85 4 4 5 88 5 2 2 72 6 1 2 69
次のコードは、重線形回帰モデルをこのデータセットに適合させ、R でモデル出力を表示する方法を示しています。
#fit regression model model <- lm(score~hours+prep_exams, data=df) #view model summary summary(model) Call: lm(formula = score ~ hours + prep_exams, data = df) Residuals: Min 1Q Median 3Q Max -7.9896 -2.5514 0.3079 3.3370 7.0352 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 71.8078 3.5222 20.387 1.12e-10 *** hours 5.0247 0.8964 5.606 0.000115 *** prep_exams -1.2975 0.9689 -1.339 0.205339 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 4.944 on 12 degrees of freedom Multiple R-squared: 0.7237, Adjusted R-squared: 0.6776 F-statistic: 15.71 on 2 and 12 DF, p-value: 0.0004454
モデルの R 二乗 (出力の一番下に表示) は0.7237であることがわかります。
これは、試験得点の変動の72.37%が、勉強時間数と受験した模擬試験の数によって説明できることを意味します。
次の構文を使用してこの値にアクセスすることもできることに注意してください。
summary(model)$r.squared [1] 0.7236545
R二乗値の解釈方法
R の 2 乗値は常に 0 から 1 の間になります。
値 1 は、説明変数が応答変数の分散を完全に説明できることを示し、値 0 は、説明変数が応答変数の分散を説明する能力がないことを示します。
一般に、回帰モデルの R 二乗値が大きいほど、説明変数は応答変数の値をより適切に予測できます。
特定の R 二乗値が特定の回帰モデルにとって「良好」であると見なされるかどうかを判断する方法の詳細については、 この記事を参照してください。