Як обчислити стандартизовані залишки в python


Залишок — це різниця між спостережуваним значенням і прогнозованим значенням у регресійній моделі .

Він розраховується таким чином:

Залишок = спостережуване значення – прогнозоване значення

Якщо ми побудуємо спостережувані значення та накладемо підібрану лінію регресії, залишки для кожного спостереження будуть вертикальною відстанню між спостереженням і лінією регресії:

Приклад залишку в статистиці

Один тип залишку, який ми часто використовуємо для визначення викидів у регресійній моделі, називається стандартизованим залишком .

Він розраховується таким чином:

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

золото:

  • e i : i- й залишок
  • RSE: залишкова стандартна помилка моделі
  • h ii : Зростання i-го спостереження

На практиці ми часто розглядаємо будь-який стандартизований залишок, абсолютне значення якого перевищує 3, як викид.

У цьому посібнику наведено покроковий приклад обчислення стандартизованих залишків у Python.

Крок 1: Введіть дані

Спочатку ми створимо невеликий набір даних для роботи в 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]})

Крок 2. Підберіть регресійну модель

Далі ми підберемо просту модель лінійної регресії :

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

Крок 3: Обчисліть стандартизовані залишки

Далі розрахуємо стандартизовані залишки моделі:

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

З результатів ми бачимо, що жоден із стандартизованих залишків не перевищує абсолютного значення 3. Таким чином, жодне зі спостережень не виглядає викидом.

Крок 4: Візуалізуйте стандартизовані залишки

Нарешті, ми можемо створити діаграму розсіювання для візуалізації значень змінної предиктора проти стандартизованих залишків:

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

Додаткові ресурси

Що таке залишки?
Що таке стандартизовані залишки?
Як обчислити стандартизовані залишки в R
Як розрахувати стандартизовані залишки в Excel

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *