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