So berechnen sie standardisierte residuen in r


Ein Residuum ist die Differenz zwischen einem beobachteten Wert und einem vorhergesagten Wert in einemRegressionsmodell .

Es wird wie folgt berechnet:

Residuum = Beobachteter Wert – Vorhergesagter Wert

Wenn wir die beobachteten Werte grafisch darstellen und die angepasste Regressionslinie überlagern, wären die Residuen für jede Beobachtung der vertikale Abstand zwischen der Beobachtung und der Regressionslinie:

Beispiel für ein Residuum in der Statistik

Eine Art von Residuen, die wir häufig verwenden, um Ausreißer in einem Regressionsmodell zu identifizieren, wird als standardisiertes Residuum bezeichnet.

Es wird wie folgt berechnet:

r i = e i / s(e i ) = e i / RSE√ 1-h ii

Gold:

  • e i : Der i- te Rest
  • RSE: der verbleibende Standardfehler des Modells
  • h ii : Der Aufstieg der i-ten Beobachtung

In der Praxis betrachten wir häufig jedes standardisierte Residuum, dessen absoluter Wert größer als 3 ist, als Ausreißer.

Dieses Tutorial bietet ein schrittweises Beispiel für die Berechnung standardisierter Residuen in R.

Schritt 1: Geben Sie die Daten ein

Zuerst erstellen wir einen kleinen Datensatz, mit dem wir in R arbeiten:

 #create data
data <- data.frame(x=c(8, 12, 12, 13, 14, 16, 17, 22, 24, 26, 29, 30),
                   y=c(41, 42, 39, 37, 35, 39, 45, 46, 39, 49, 55, 57))

#viewdata
data

    xy
1 8 41
2 12 42
3 12 39
4 13 37
5 14 35
6 16 39
7 17 45
8 22 46
9 24 39
10 26 49
11 29 55
12 30 57

Schritt 2: Passen Sie das Regressionsmodell an

Als nächstes verwenden wir die Funktion lm(), um ein einfaches lineares Regressionsmodell anzupassen:

 #fit model
model <- lm(y ~ x, data=data)

#view model summary
summary(model) 

Call:
lm(formula = y ~ x, data = data)

Residuals:
    Min 1Q Median 3Q Max 
-8.7578 -2.5161 0.0292 3.3457 5.3268 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 29.6309 3.6189 8.188 9.6e-06 ***
x 0.7553 0.1821 4.148 0.00199 ** 
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.442 on 10 degrees of freedom
Multiple R-squared: 0.6324, Adjusted R-squared: 0.5956 
F-statistic: 17.2 on 1 and 10 DF, p-value: 0.001988

Schritt 3: Berechnen Sie standardisierte Residuen

Als nächstes verwenden wir die integrierte Funktion rstandard() , um die standardisierten Residuen des Modells zu berechnen:

 #calculate the standardized residuals
standard_res <- rstandard(model)

#view the standardized residuals
standard_res

          1 2 3 4 5 6 
 1.40517322 0.81017562 0.07491009 -0.59323342 -1.24820530 -0.64248883 
          7 8 9 10 11 12 
 0.59610905 -0.05876884 -2.11711982 -0.06655600 0.91057211 1.26973888

Wenn wir möchten, können wir die standardisierten Residuen zum ursprünglichen Datenrahmen hinzufügen:

 #column bind standardized residuals back to original data frame
final_data <- cbind(data, standard_res)

#view data frame
    xy standard_res
1 8 41 1.40517322
2 12 42 0.81017562
3 12 39 0.07491009
4 13 37 -0.59323342
5 14 35 -1.24820530
6 16 39 -0.64248883
7 17 45 0.59610905
8 22 46 -0.05876884
9 24 39 -2.11711982
10 26 49 -0.06655600
11 29 55 0.91057211
12 30 57 1.26973888

Anschließend können wir jede Beobachtung anhand ihres standardisierten Residuums vom größten zum kleinsten sortieren, um eine Vorstellung davon zu bekommen, welche Beobachtungen den Ausreißern am nächsten kommen:

 #sort standardized residuals descending
final_data[ order (-standard_res),]

    xy standard_res
1 8 41 1.40517322
12 30 57 1.26973888
11 29 55 0.91057211
2 12 42 0.81017562
7 17 45 0.59610905
3 12 39 0.07491009
8 22 46 -0.05876884
10 26 49 -0.06655600
4 13 37 -0.59323342
6 16 39 -0.64248883
5 14 35 -1.24820530
9 24 39 -2.11711982

Anhand der Ergebnisse können wir erkennen, dass keines der standardisierten Residuen einen absoluten Wert von 3 überschreitet. Somit scheint keine der Beobachtungen Ausreißer zu sein.

Schritt 4: Visualisieren Sie die standardisierten Residuen

Schließlich können wir ein Streudiagramm erstellen, um die Werte der Prädiktorvariablen gegenüber den standardisierten Residuen zu visualisieren:

 #plot predictor variable vs. standardized residuals
plot(final_data$x, standard_res, ylab=' Standardized Residuals ', xlab=' x ') 

#add horizontal line at 0
abline(0, 0)

Zusätzliche Ressourcen

Was sind Rückstände?
Was sind standardisierte Residuen?
Einführung in die multiple lineare Regression

Einen Kommentar hinzufügen

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