Jak obliczyć reszty standaryzowane w pythonie


Reszta to różnica między wartością obserwowaną a wartością przewidywaną w modelu regresji .

Oblicza się go w następujący sposób:

Wartość rezydualna = Wartość obserwowana – Wartość przewidywana

Jeśli wykreślimy zaobserwowane wartości i nałożymy dopasowaną linię regresji, resztą dla każdej obserwacji będzie pionowa odległość między obserwacją a linią regresji:

Przykład reszty w statystyce

Jeden z typów reszt, którego często używamy do identyfikacji wartości odstających w modelu regresji, nazywany jest resztą standaryzowaną .

Oblicza się go w następujący sposób:

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

Złoto:

  • e i : i- ta reszta
  • RSE: resztkowy błąd standardowy modelu
  • h ii : Powstanie i -tej obserwacji

W praktyce często za wartość odstającą uznajemy każdą standaryzowaną resztę, której wartość bezwzględna jest większa niż 3.

W tym samouczku przedstawiono krok po kroku przykład obliczania reszt standardowych w języku Python.

Krok 1: Wprowadź dane

Najpierw utworzymy mały zbiór danych do pracy w Pythonie:

 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]})

Krok 2: Dopasuj model regresji

Następnie dopasujemy prosty model regresji liniowej :

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

Krok 3: Oblicz reszty standaryzowane

Następnie obliczymy reszty standaryzowane modelu:

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

Z wyników widać, że żadna ze standaryzowanych reszt nie przekracza wartości bezwzględnej 3. Zatem żadna z obserwacji nie wydaje się być wartością odstającą.

Krok 4: Wizualizuj reszty standaryzowane

Na koniec możemy stworzyć wykres rozrzutu, aby zwizualizować wartości zmiennej predykcyjnej względem reszt standaryzowanych:

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

Dodatkowe zasoby

Co to są pozostałości?
Co to są reszty standaryzowane?
Jak obliczyć reszty standaryzowane w R
Jak obliczyć reszty standaryzowane w programie Excel

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *