Як обчислити скоригований 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *