R の調整済み r 二乗を計算する方法
R2 は、多くの場合R2と書かれ、線形回帰モデルの予測子変数によって説明できる応答変数の分散の割合です。
R 二乗の値の範囲は 0 から 1 です。値 0 は、応答変数が予測変数によってまったく説明できないことを示し、値 1 は、応答変数が予測変数によって説明できることを示します。予測子によってエラーなく完全に説明されます。変数。
調整済み R 二乗は、回帰モデル内の予測子の数を調整する R 二乗の修正バージョンです。次のように計算されます。
調整済み R 2 = 1 – [(1-R 2 )*(n-1)/(nk-1)]
金:
- R2 : モデルのR2
- n : 観測値の数
- k : 予測子変数の数
R2 はモデルに予測子を追加すると常に増加するため、モデル内の予測子の数に基づいて調整された調整されたR2 は、モデルがどの程度有用であるかを示す指標として機能します。
このチュートリアルでは、R の回帰モデルの調整されたR2を計算する方法について説明します。
関連: 適切な R 二乗値とは何ですか?
例: R の調整済み R2 乗を計算する方法
次のコードを使用すると、 mtcarsという組み込みデータセットを使用して R で重線形回帰モデルを作成できます。
model <- lm (hp ~ mpg + wt + drat + qsec, data=mtcars)
そして、3 つの方法のいずれかを使用して、モデルの調整された R 二乗を見つけることができます。
方法 1: summary() 関数を使用する
summary()関数を使用するだけで、モデルの R 二乗と調整された R 二乗の両方を視覚化できます。
summary (model)
Call:
lm(formula = hp ~ mpg + wt + drat + qsec, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-48,801 -16,007 -5,482 11,614 97,338
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 473.779 105.213 4.503 0.000116 ***
mpg -2.877 2.381 -1.209 0.237319
wt 26.037 13.514 1.927 0.064600 .
drat 4.819 15.952 0.302 0.764910
qsec -20.751 3.993 -5.197 1.79e-05 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 32.25 on 27 degrees of freedom
Multiple R-squared: 0.8073, Adjusted R-squared: 0.7787
F-statistic: 28.27 on 4 and 27 DF, p-value: 2.647e-09
出力の下部に次のことが表示されます。
- 複数の R の 2 乗: 0.8073
- 調整済み R2 乗: 0.7787
方法 2: summary(model)$adj.r.squared を使用する
単にモデルの調整された R 二乗を取得したい場合は、次の関数を使用できます。
summary (model)$adj.r.squared
[1] 0.7787005
方法 3: カスタム関数を使用する
モデルの適合 R 二乗を見つける別の方法は、カスタム関数を作成することです。
#define function to calculate adjusted R-squared
adj_r2 <- function (x) {
return (1 - ((1-summary(x)$r.squared)*( nobs (x)-1)/( nobs (x)- length (x$coefficients)-1)))
}
#use function to calculate adjusted R-squared of the model
adj_r2(model)
[1] 0.7787005
numeric(0)
ここで共有する 3 つの方法はそれぞれ、調整された R 二乗に同じ値を与えることに注意してください。