Come calcolare i residui standardizzati in python


Un residuo è la differenza tra un valore osservato e un valore previsto in un modello di regressione .

Viene calcolato come segue:

Residuo = Valore osservato – Valore previsto

Se tracciassimo i valori osservati e sovrapponessimo la linea di regressione adattata, i residui per ciascuna osservazione sarebbero la distanza verticale tra l’osservazione e la linea di regressione:

Esempio di residuo in statistica

Un tipo di residuo che utilizziamo spesso per identificare i valori anomali in un modello di regressione è chiamato residuo standardizzato .

Viene calcolato come segue:

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

Oro:

  • e i : L’iesimo residuo
  • RSE: errore standard residuo del modello
  • h ii : Il sorgere dell’i -esima osservazione

In pratica, spesso consideriamo come un valore anomalo qualsiasi residuo standardizzato il cui valore assoluto sia maggiore di 3.

Questo tutorial fornisce un esempio passo passo di come calcolare i residui standardizzati in Python.

Passaggio 1: inserisci i dati

Per prima cosa creeremo un piccolo set di dati con cui lavorare 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]})

Passaggio 2: adattare il modello di regressione

Successivamente, adatteremo un semplice modello di regressione lineare :

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

Passaggio 3: calcolare i residui standardizzati

Successivamente, calcoleremo i residui standardizzati del modello:

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

Dai risultati, possiamo vedere che nessuno dei residui standardizzati supera il valore assoluto di 3. Pertanto, nessuna delle osservazioni sembra essere un valore anomalo.

Passaggio 4: visualizzare i residui standardizzati

Infine, possiamo creare un grafico a dispersione per visualizzare i valori della variabile predittore rispetto ai residui standardizzati:

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

Risorse addizionali

Cosa sono i residui?
Cosa sono i residui standardizzati?
Come calcolare i residui standardizzati in R
Come calcolare i residui standardizzati in Excel

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *