So berechnen Sie die Residuenquadratsumme in Python

Von Fabian
Kategorie: Python
Tags: Regression
Lesezeit: 3 Minuten

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

Es wird berechnet als:

Residuum = beobachteter Wert - vorhergesagter Wert

Eine Möglichkeit zu verstehen, wie gut ein Regressionsmodell zu einem Datensatz passt, besteht darin, die Residuenquadratsumme zu berechnen, die wie folgt berechnet wird:

Residuenquadratsumme = Σ (e i ) 2

wo:

  • Σ: Ein griechisches Symbol, das "Summe" bedeutet
  • e i: Das i-te Residuum

Je niedriger der Wert, desto besser passt ein Modell zu einem Datensatz.

Dieses Tutorial enthält ein schrittweises Beispiel für die Berechnung der verbleibenden Quadratsumme für ein Regressionsmodell in Python.

Schritt 1: Geben Sie die Daten ein

In diesem Beispiel geben wir Daten für die Anzahl der Stunden des Studiums, die Gesamtzahl der absolvierten Vorbereitungsprüfungen und die Prüfungsergebnisse ein, die 14 verschiedene Studenten erhalten haben:

import pandas as pd

# Dataframe erstellen
df = pd.DataFrame({'hours': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6, 5],
                   'exams': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2, 4],
                   'score': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96, 90]})

Schritt 2: Passen Sie das Regressionsmodell an

Als Nächstes verwenden wir die OLS()-Funktion aus der statsmodels bibliothek, um eine gewöhnliche Regression der kleinsten Quadrate durchzuführen, wobei "Stunden" (hours) und "Prüfungen" (exams) als Prädiktorvariablen und "Punktzahl" (scores) als Antwortvariable verwendet werden:

import statsmodels.api as sm

# Antwortvariable definieren
y = df['score']

# Prädiktorvariablen definieren
x = df[['hours', 'exams']]

# Konstante zu Prädiktorvariablen hinzufügen
x = sm.add_constant(x)

# Lineares Regressionsmodell anpassen
model = sm.OLS(y, x).fit()

# Modellzusammenfassung anzeigen
print(model.summary())

                            OLS Regression Results                            
==============================================================================
Dep. Variable:                  score   R-squared:                       0.722
Model:                            OLS   Adj. R-squared:                  0.671
Method:                 Least Squares   F-statistic:                     14.27
Date:                Sat, 02 Jan 2021   Prob (F-statistic):           0.000878
Time:                        15:58:35   Log-Likelihood:                -41.159
No. Observations:                  14   AIC:                             88.32
Df Residuals:                      11   BIC:                             90.24
Df Model:                           2                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const         71.8144      3.680     19.517      0.000      63.716      79.913
hours          5.0318      0.942      5.339      0.000       2.958       7.106
exams         -1.3186      1.063     -1.240      0.241      -3.658       1.021
==============================================================================
Omnibus:                        0.976   Durbin-Watson:                   1.270
Prob(Omnibus):                  0.614   Jarque-Bera (JB):                0.757
Skew:                          -0.245   Prob(JB):                        0.685
Kurtosis:                       1.971   Cond. No.                         12.1
==============================================================================

Schritt 3: Berechnen Sie die verbleibende Quadratsumme

Wir können den folgenden Code verwenden, um die verbleibende Quadratsumme für das Modell zu berechnen:

print(model.ssr)

293.25612951525414

Die verbleibende Quadratsumme ergibt 293,256.

Zusätzliche Ressourcen

So führen Sie eine einfache lineare Regression in Python durch
Durchführen einer mehrfachen linearen Regression in Python
Residuenquadratsumme-Rechner

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: