Cómo calcular los residuos estudentizados en Python

Un residuo estudentizado es simplemente un residuo dividido por su desviación estándar estimada.

En la práctica, normalmente decimos que cualquier observación en un conjunto de datos que tenga un residuo estudentizado mayor que un valor absoluto de 3 es un valor atípico.

Podemos obtener rápidamente los residuos studentizados de un modelo de regresión en Python usando la función OLSResults.outlier_test () de statsmodels, que usa la siguiente sintaxis:

OLSResults.outlier_test ()

donde OLSResults es el nombre de un ajuste de modelo lineal usando la función ols () de statsmodels.

Ejemplo: cálculo de residuos estudentizados en Python

Supongamos que construimos el siguiente modelo de regresión lineal simple en Python:

#importar paquetes y funciones necesarios
 import numpy as np
 import pandas as pd
 import statsmodels. api  as sm
 de statsmodels. fórmula . API de  importación ols

#create dataset 
df = pd. DataFrame ({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'puntos': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19]})

#fit modelo de 
modelo de regresión lineal simple = ols ('calificación ~ puntos', datos = gl). encajar ()

Podemos usar la función outlier_test () para producir un DataFrame que contiene los residuales studentizados para cada observación en el conjunto de datos:

#calcular residuales 
estudentizados stud_res = model. outlier_test ()

#muestra los residuales studentizados
imprimir (stud_res)

    estudiante_resid unadj_p bonf (p)
0 -0.486471 0.641494 1.000000
1 -0.491937 0.637814 1.000000
2 0,172006 0,868300 1,00000000
3 1.287711 0.238781 1.000000
4 0.106923 0.917850 1.000000
5 0,748842 0,478355 1,000000
6 -0,968124 0,365234 1,00000000
7 -2,409911 0,046780 0,467801
8 1.688046 0.135258 1.000000
9 -0.014163 0.989095 1.000000

Este DataFrame muestra los siguientes valores para cada observación en el conjunto de datos:

  • El residuo estudentizado
  • El valor p no ajustado del residuo estudentizado
  • El valor p corregido por Bonferroni del residuo estudentizado

Podemos ver que el residuo estudentizado de la primera observación en el conjunto de datos es -0,486471 , el residuo estudentizado de la segunda observación es -0,491937 , y así sucesivamente.

También podemos crear una gráfica rápida de los valores de la variable predictora frente a los residuos estudentizados correspondientes:

importar matplotlib. pyplot  como plt

#definir valores de variables predictoras y residuales studentizados
x = df [' puntos ']
y = stud_res [' estudiante_resid ']

#crear un diagrama de dispersión de la variable predictora frente a los residuales
 estudentizados plt. dispersión (x, y)
plt. axhline (y = 0, color = ' black ', linestyle = ' - ')
plt. xlabel (' Puntos ')
plt. ylabel (' Residuos estudentizados ') 

Residuos estudentizados en Python

En el gráfico podemos ver que ninguna de las observaciones tiene un residuo estudentizado con un valor absoluto mayor que 3, por lo que no hay valores atípicos claros en el conjunto de datos.

Recursos adicionales

Cómo realizar una regresión lineal simple en Python
Cómo realizar una regresión lineal múltiple en Python
Cómo crear una gráfica residual en Python

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Cuando realiza una prueba de chi-cuadrado, obtendrá una estadística de prueba como resultado. Para determinar si los resultados de la…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!