Jak obliczyć skorygowany r-kwadrat w r


R-kwadrat , często zapisywany jako R2 , to proporcja wariancji zmiennej odpowiedzi , którą można wyjaśnić za pomocą zmiennych predykcyjnych w modelu regresji liniowej .

Wartość R kwadrat może mieścić się w zakresie od 0 do 1. Wartość 0 oznacza, że zmiennej odpowiedzi w ogóle nie można wyjaśnić zmienną predykcyjną, natomiast wartość 1 oznacza, że zmienną odpowiedzi można wyjaśnić za pomocą zmiennej predykcyjnej. doskonale wyjaśnione bez błędu przez predyktora. zmienne.

Skorygowane R-kwadrat to zmodyfikowana wersja R-kwadrat, która dostosowuje liczbę predyktorów w modelu regresji. Oblicza się go w następujący sposób:

Skorygowany R 2 = 1 – [(1-R 2 )*(n-1)/(nk-1)]

Złoto:

  • R 2 : R 2 modelu
  • n : Liczba obserwacji
  • k : Liczba zmiennych predykcyjnych

Ponieważ współczynnik R2 zawsze wzrasta w miarę dodawania predyktorów do modelu, skorygowany współczynnik R2 może służyć jako metryka informująca o przydatności modelu, skorygowany na podstawie liczby predyktorów w modelu .

W tym samouczku wyjaśniono, jak obliczyć skorygowany R2 dla modelu regresji w R.

Powiązane: Jaka jest dobra wartość R-kwadrat?

Przykład: Jak obliczyć skorygowany R-kwadrat w R

Możemy użyć poniższego kodu, aby utworzyć model regresji liniowej w R, korzystając z wbudowanego zbioru danych o nazwie mtcars :

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

Możemy użyć jednej z trzech metod, aby znaleźć skorygowany R-kwadrat modelu:

Metoda 1: Użyj funkcji podsumowania().

Możemy wizualizować zarówno R-kwadrat, jak i skorygowany R-kwadrat modelu, po prostu używając funkcji podsumowania() :

 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

Na dole danych wyjściowych możemy zobaczyć, co następuje:

  • Wielokrotne R do kwadratu: 0,8073
  • Skorygowany R-kwadrat: 0,7787

Metoda 2: Użyj podsumowania(model)$adj.r.squared

Gdybyśmy po prostu chcieli uzyskać skorygowany kwadrat R modelu, moglibyśmy użyć następującej funkcji:

 summary (model)$adj.r.squared

[1] 0.7787005

Metoda 3: Użyj funkcji niestandardowej

Innym sposobem znalezienia dopasowanego kwadratu R modelu jest napisanie niestandardowej funkcji:

 #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)

Należy zauważyć, że każda z trzech udostępnionych tutaj metod daje tę samą wartość skorygowanego R-kwadrat.

Dodatkowe zasoby

Jak wykonać prostą regresję liniową w R
Jak wykonać wielokrotną regresję liniową w R
Jak wykonać regresję wielomianową w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *