Hoe gestandaardiseerde residuen in python te berekenen


Een residu is het verschil tussen een waargenomen waarde en een voorspelde waarde in eenregressiemodel .

Het wordt als volgt berekend:

Residueel = Waargenomen waarde – Voorspelde waarde

Als we de waargenomen waarden uitzetten en de aangepaste regressielijn over elkaar leggen, zijn de residuen voor elke waarneming de verticale afstand tussen de waarneming en de regressielijn:

Voorbeeld van residu in statistieken

Eén type residu dat we vaak gebruiken om uitschieters in een regressiemodel te identificeren, wordt een gestandaardiseerd residu genoemd.

Het wordt als volgt berekend:

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

Goud:

  • e i : het i- de residu
  • RSE: de resterende standaardfout van het model
  • h ii : De opkomst van de ide waarneming

In de praktijk beschouwen we vaak elk gestandaardiseerd residu waarvan de absolute waarde groter is dan 3 als een uitbijter.

Deze tutorial biedt een stapsgewijs voorbeeld van hoe u gestandaardiseerde residuen in Python kunt berekenen.

Stap 1: Voer de gegevens in

Eerst maken we een kleine dataset om mee te werken in Python:

 import pandas as pd

#create dataset
df = pd. DataFrame ({' x ': [8, 12, 12, 13, 14, 16, 17, 22, 24, 26, 29, 30],
                   ' y ': [41, 42, 39, 37, 35, 39, 45, 46, 39, 49, 55, 57]})

Stap 2: Pas het regressiemodel aan

Vervolgens passen we een eenvoudig lineair regressiemodel toe:

 import statsmodels. api as sm

#define response variable
y = df[' y ']

#define explanatory variable
x = df[' x ']

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

Stap 3: Bereken gestandaardiseerde residuen

Vervolgens berekenen we de gestandaardiseerde residuen van het model:

 #create instance of influence
influence = model. get_influence ()

#obtain standardized residuals
standardized_residuals = influence. reside_studentized_internal

#display standardized residuals
print (standardized_residuals)

[ 1.40517322 0.81017562 0.07491009 -0.59323342 -1.2482053 -0.64248883
  0.59610905 -0.05876884 -2.11711982 -0.066556 0.91057211 1.26973888]

Uit de resultaten kunnen we opmaken dat geen van de gestandaardiseerde residuen een absolute waarde van 3 overschrijdt. Geen van de waarnemingen lijkt dus uitschieters te zijn.

Stap 4: Visualiseer de gestandaardiseerde residuen

Ten slotte kunnen we een spreidingsdiagram maken om de waarden van de voorspellende variabele te visualiseren ten opzichte van de gestandaardiseerde residuen:

 import matplotlib. pyplot as plt

plt. scatter (df.x, standardized_residuals)
plt. xlabel (' x ')
plt. ylabel (' Standardized Residuals ')
plt. axhline (y=0, color=' black ', linestyle=' -- ', linewidth=1)
plt. show ()

Aanvullende bronnen

Wat zijn residuen?
Wat zijn gestandaardiseerde residuen?
Hoe gestandaardiseerde residuen in R te berekenen
Hoe gestandaardiseerde residuen in Excel te berekenen

Einen Kommentar hinzufügen

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