So berechnen sie das angepasste r-quadrat in r


Das R-Quadrat , oft als R2 geschrieben, ist der Anteil der Varianz in der Antwortvariablen , der durch die Prädiktorvariablen in einem linearen Regressionsmodell erklärt werden kann.

Der Wert von R im Quadrat kann zwischen 0 und 1 liegen. Ein Wert von 0 gibt an, dass die Antwortvariable überhaupt nicht durch die Prädiktorvariable erklärt werden kann, während ein Wert von 1 angibt, dass die Antwortvariable durch die Prädiktorvariable erklärt werden kann. vom Prädiktor perfekt und fehlerfrei erklärt. Variablen.

Das angepasste R-Quadrat ist eine modifizierte Version des R-Quadrats, die die Anzahl der Prädiktoren in einem Regressionsmodell berücksichtigt. Es wird wie folgt berechnet:

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

Gold:

  • R 2 : Das R 2 des Modells
  • n : Die Anzahl der Beobachtungen
  • k : Die Anzahl der Prädiktorvariablen

Da R2 immer zunimmt, wenn Sie einem Modell Prädiktoren hinzufügen, kann das angepasste R2 als Metrik dienen, die Ihnen sagt, wie nützlich ein Modell ist, angepasst auf der Grundlage der Anzahl der Prädiktoren in einem Modell .

In diesem Tutorial wird erläutert, wie das angepasste R2 für ein Regressionsmodell in R berechnet wird.

Verwandt:Was ist ein guter R-Quadrat-Wert?

Beispiel: So berechnen Sie das angepasste R-Quadrat in R

Wir können den folgenden Code verwenden, um mithilfe des integrierten Datensatzes mtcars ein multiples lineares Regressionsmodell in R zu erstellen:

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

Und wir können eine von drei Methoden verwenden, um das angepasste R-Quadrat des Modells zu ermitteln:

Methode 1: Verwenden Sie die Funktion summary()

Wir können sowohl das R-Quadrat als auch das angepasste R-Quadrat des Modells einfach mit der Funktion summary() visualisieren:

 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

Am Ende der Ausgabe sehen wir Folgendes:

  • Mehreres R im Quadrat: 0,8073
  • Bereinigtes R-Quadrat: 0,7787

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

Wenn wir lediglich das angepasste R-Quadrat des Modells erhalten wollten, könnten wir die folgende Funktion verwenden:

 summary (model)$adj.r.squared

[1] 0.7787005

Methode 3: Verwenden Sie eine benutzerdefinierte Funktion

Eine andere Möglichkeit, das angepasste R-Quadrat des Modells zu ermitteln, besteht darin, eine benutzerdefinierte Funktion zu schreiben:

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

Beachten Sie, dass jede der drei hier gemeinsam genutzten Methoden denselben Wert für das angepasste R-Quadrat liefert.

Zusätzliche Ressourcen

So führen Sie eine einfache lineare Regression in R durch
So führen Sie eine multiple lineare Regression in R durch
So führen Sie eine Polynomregression in R durch

Einen Kommentar hinzufügen

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