Como calcular resíduos padronizados em python


Um resíduo é a diferença entre um valor observado e um valor previsto em um modelo de regressão .

É calculado da seguinte forma:

Residual = Valor observado – Valor previsto

Se plotarmos os valores observados e sobrepormos a linha de regressão ajustada, os resíduos de cada observação seriam a distância vertical entre a observação e a linha de regressão:

Exemplo de resíduo nas estatísticas

Um tipo de resíduo que costumamos usar para identificar valores discrepantes em um modelo de regressão é chamado de resíduo padronizado .

É calculado da seguinte forma:

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

Ouro:

  • e i : O i- ésimo resíduo
  • RSE: erro padrão residual do modelo
  • h ii : O surgimento da i-ésima observação

Na prática, muitas vezes consideramos qualquer resíduo padronizado cujo valor absoluto seja superior a 3 como um valor atípico.

Este tutorial fornece um exemplo passo a passo de como calcular resíduos padronizados em Python.

Passo 1: Insira os dados

Primeiro, criaremos um pequeno conjunto de dados para trabalhar em 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]})

Passo 2: Ajustar o modelo de regressão

A seguir, ajustaremos um modelo de regressão linear simples :

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

Passo 3: Calcular resíduos padronizados

A seguir, calcularemos os resíduos padronizados do modelo:

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

A partir dos resultados, podemos ver que nenhum dos resíduos padronizados excede o valor absoluto de 3. Assim, nenhuma das observações parece ser discrepante.

Passo 4: Visualize os resíduos padronizados

Finalmente, podemos criar um gráfico de dispersão para visualizar os valores da variável preditora em relação aos resíduos padronizados:

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

Recursos adicionais

O que são resíduos?
O que são resíduos padronizados?
Como calcular resíduos padronizados em R
Como calcular resíduos padronizados no Excel

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *