So berechnen sie sst, ssr und sse in r
Wir verwenden oft drei verschiedene Quadratsummenwerte , um zu messen, wie gut eine Regressionslinie tatsächlich zu einem Datensatz passt:
1. Summe der Gesamtquadrate (SST) – Die Summe der Quadrate der Differenzen zwischen einzelnen Datenpunkten (y i ) und dem Mittelwert der Antwortvariablen ( y ).
- SST = Σ(y i – y ) 2
2. Summe der Quadrate-Regression (SSR) – Die Summe der Quadrate der Differenzen zwischen den vorhergesagten Datenpunkten (ŷ i ) und dem Mittelwert der Antwortvariablen ( y ).
- SSR = Σ(ŷ i – y ) 2
3. Fehlerquadratsumme (SSE) – Die Summe der Quadrate der Differenzen zwischen den vorhergesagten Datenpunkten (ŷ i ) und den beobachteten Datenpunkten (y i ).
- SSE = Σ(ŷ i – y i ) 2
Das folgende Schritt-für-Schritt-Beispiel zeigt, wie jede dieser Metriken für ein bestimmtes Regressionsmodell in R berechnet wird.
Schritt 1: Erstellen Sie die Daten
Erstellen wir zunächst einen Datensatz mit der Anzahl der Lernstunden und den erzielten Prüfungsergebnissen für 20 verschiedene Studenten an einer bestimmten Hochschule:
#create data frame df <- data. frame (hours=c(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 7, 7, 8), score=c(68, 76, 74, 80, 76, 78, 81, 84, 86, 83, 88, 85, 89, 94, 93, 94, 96, 89, 92, 97)) #view first six rows of data frame head(df) hours score 1 1 68 2 1 76 3 1 74 4 2 80 5 2 76 6 2 78
Schritt 2: Passen Sie ein Regressionsmodell an
Als Nächstes verwenden wir die Funktion lm(), um ein einfaches lineares Regressionsmodell anzupassen, wobei wir „score“ als Antwortvariable und „hours“ als Prädiktorvariable verwenden:
#fit regression model model <- lm(score ~ hours, data = df) #view model summary summary(model) Call: lm(formula = score ~ hours, data = df) Residuals: Min 1Q Median 3Q Max -8.6970 -2.5156 -0.0737 3.1100 7.5495 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 73.4459 1.9147 38.360 < 2nd-16 *** hours 3.2512 0.4603 7.063 1.38e-06 *** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 4.289 on 18 degrees of freedom Multiple R-squared: 0.7348, Adjusted R-squared: 0.7201 F-statistic: 49.88 on 1 and 18 DF, p-value: 1.378e-06
Schritt 3: Berechnen Sie SST, SSR und SSE
Wir können die folgende Syntax verwenden, um SST, SSR und SSE zu berechnen:
#find sse sse <- sum (( fitted (model) - df$score)^2) sse [1] 331.0749 #find ssr ssr <- sum (( fitted (model) - mean (df$score))^2) ssr [1] 917.4751 #find sst sst <- ssr + sse sst [1] 1248.55
Die Kennzahlen lauten wie folgt:
- Gesamtsumme der Quadrate (SST): 1248,55
- Summe der Quadrate-Regression (SSR): 917,4751
- Fehlerquadratsumme (SSE): 331,0749
Wir können überprüfen, dass SST = SSR + SSE:
- SST = SSR + SSE
- 1248,55 = 917,4751 + 331,0749
Wir können das R-Quadrat des Regressionsmodells auch manuell berechnen:
- R im Quadrat = SSR / SST
- R im Quadrat = 917,4751 / 1248,55
- R im Quadrat = 0,7348
Dies zeigt uns, dass 73,48 % der Abweichungen bei den Prüfungsergebnissen durch die Anzahl der gelernten Stunden erklärt werden können.
Zusätzliche Ressourcen
Sie können die folgenden Rechner verwenden, um SST, SSR und SSE für jede einfache lineare Regressionslinie automatisch zu berechnen:
SST-Rechner
RSS-Rechner
ESS-Rechner