Как рассчитать скорректированный r-квадрат в r


R-квадрат , часто обозначаемый R2 , представляет собой долю дисперсии переменной отклика , которую можно объяснить переменными-предикторами в модели линейной регрессии .

Значение R в квадрате может варьироваться от 0 до 1. Значение 0 указывает, что переменная ответа вообще не может быть объяснена переменной-предиктором, а значение 1 указывает, что переменная ответа может быть объяснена переменной-предиктором. прекрасно объяснено без ошибок предсказателем. переменные.

Скорректированный R-квадрат — это модифицированная версия R-квадрата, которая корректирует количество предикторов в регрессионной модели. Он рассчитывается следующим образом:

Скорректированный R 2 = 1 – [(1-R 2 )*(n-1)/(nk-1)]

Золото:

  • R 2 : R 2 модели.
  • n : Количество наблюдений
  • k : Количество переменных-предсказателей

Поскольку R2 всегда увеличивается по мере добавления предикторов в модель, скорректированный R2 может служить метрикой, показывающей, насколько полезна модель, скорректированной на основе количества предикторов в модели .

В этом руководстве объясняется, как рассчитать скорректированный R2 для регрессионной модели в R.

Связанный: Что такое хорошее значение R-квадрата?

Пример: Как рассчитать скорректированный R-квадрат в R

Мы можем использовать следующий код для создания модели множественной линейной регрессии в R, используя встроенный набор данных под названием mtcars :

 model <- lm (hp ~ mpg + wt + drat + qsec, data=mtcars)

И мы можем использовать один из трех методов, чтобы найти скорректированный R-квадрат модели:

Способ 1. Используйте функцию summary().

Мы можем визуализировать как R-квадрат, так и скорректированный R-квадрат модели, просто используя функцию summary() :

 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 в квадрате: 0,8073
  • Скорректированный R-квадрат: 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)

Обратите внимание, что каждый из трех представленных здесь методов дает одно и то же значение скорректированного R-квадрата.

Дополнительные ресурсы

Как выполнить простую линейную регрессию в R
Как выполнить множественную линейную регрессию в R
Как выполнить полиномиальную регрессию в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *