Hoe u het aangepaste r-kwadraat in r kunt berekenen


R-kwadraat , vaak geschreven als R2 , is het deel van de variantie in de responsvariabele dat kan worden verklaard door de voorspellende variabelen in een lineair regressiemodel .

De waarde van R kwadraat kan variëren van 0 tot 1. Een waarde van 0 geeft aan dat de responsvariabele helemaal niet kan worden verklaard door de voorspellende variabele, terwijl een waarde van 1 aangeeft dat de responsvariabele kan worden verklaard door de voorspellende variabele. perfect uitgelegd zonder fouten door de voorspeller. variabelen.

Aangepaste R-kwadraat is een aangepaste versie van R-kwadraat die zich aanpast aan het aantal voorspellers in een regressiemodel. Het wordt als volgt berekend:

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

Goud:

  • R 2 : De R 2 van het model
  • n : Het aantal waarnemingen
  • k : het aantal voorspellende variabelen

Omdat R2 altijd toeneemt naarmate u voorspellers aan een model toevoegt, kan aangepaste R2 dienen als een metriek die u vertelt hoe nuttig een model is, aangepast op basis van het aantal voorspellers in een model .

In deze tutorial wordt uitgelegd hoe u de aangepaste R2 voor een regressiemodel in R kunt berekenen.

Gerelateerd: Wat is een goede R-kwadraatwaarde?

Voorbeeld: hoe u het aangepaste R-kwadraat in R berekent

We kunnen de volgende code gebruiken om een meervoudig lineair regressiemodel in R te maken met behulp van de ingebouwde dataset genaamd mtcars :

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

En we kunnen een van de volgende drie methoden gebruiken om het aangepaste R-kwadraat van het model te vinden:

Methode 1: Gebruik de functie summary().

We kunnen zowel het R-kwadraat als het aangepaste R-kwadraat van het model visualiseren door eenvoudigweg de summary()- functie te gebruiken:

 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

Onderaan de uitvoer kunnen we het volgende zien:

  • Meervoudig R-kwadraat: 0,8073
  • Aangepaste R-kwadraat: 0,7787

Methode 2: Gebruik summary(model)$adj.r.squared

Als we eenvoudigweg het aangepaste R-kwadraat van het model willen verkrijgen, kunnen we de volgende functie gebruiken:

 summary (model)$adj.r.squared

[1] 0.7787005

Methode 3: Gebruik een aangepaste functie

Een andere manier om het gepaste R-kwadraat van het model te vinden, is door een aangepaste functie te schrijven:

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

Merk op dat elk van de drie hier gedeelde methoden dezelfde waarde geeft voor het aangepaste R-kwadraat.

Aanvullende bronnen

Hoe eenvoudige lineaire regressie uit te voeren in R
Hoe meervoudige lineaire regressie uit te voeren in R
Hoe polynomiale regressie uit te voeren in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert