Cómo realizar una prueba de Breusch-Pagan en Python

En el análisis de regresión, la heterocedasticidad se refiere a la dispersión desigual de los residuos. Específicamente, se refiere al caso en el que hay un cambio sistemático en la dispersión de los residuales en el rango de valores medidos.

La heterocedasticidad es un problema porque la regresión de mínimos cuadrados ordinarios (MCO) supone que los residuos provienen de una población que tiene homocedasticidad , lo que significa varianza constante. Cuando hay heterocedasticidad en un análisis de regresión, los resultados del análisis se vuelven difíciles de confiar.

Una forma de determinar si la heterocedasticidad está presente en un análisis de regresión es utilizar una prueba de Breusch-Pagan .

Este tutorial explica cómo realizar una prueba Breusch-Pagan en Python.

Ejemplo: prueba de Breusch-Pagan en Python

Para este ejemplo, usaremos el siguiente conjunto de datos que describe los atributos de 10 jugadores de baloncesto:

importar numpy como np
 importar pandas como pd

#create conjunto de datos
df = pd.DataFrame ({'calificación': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'puntos': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'asiste': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebotes': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#ver conjunto de datos
 df

	puntos de calificación ayuda a rebotes
0 90 25 5 11
1 85 20 7 8
2 82 14 7 10
3 88 16 8 6
4 94 27 5 6
5 90 20 7 9
6 76 12 6 6
7 75 15 9 10
8 87 14 9 10
9 86 19 5 7

Ajustaremos un modelo de regresión lineal múltiple usando calificación como variable de respuesta y puntos, asistencias y rebotes como variables explicativas. Luego, realizaremos una prueba de Breusch-Pagan para determinar si la heteroscedasticidad está presente en la regresión.

Paso 1: ajuste un modelo de regresión lineal múltiple.

Primero, ajustaremos un modelo de regresión lineal múltiple:

importar statsmodels.formula.api como smf

#fit modelo de regresión 
fit = smf.ols ('calificación ~ puntos + asistencias + rebotes', datos = gl). encajar ()

#ver impresión de resumen del modelo
 (fit.summary ())

Paso 2: Realice una prueba de Breusch-Pagan.

A continuación, realizaremos una prueba de Breusch-Pagan para determinar si hay heterocedasticidad.

de statsmodels.compat importar lzip
 importar statsmodels.stats.api como sms

# realizar la prueba de Bresuch-Pagan
nombres = ['estadística del multiplicador de Lagrange', 'valor p',
        'valor f', 'valor p f']
test = sms.het_breuschpagan (fit.resid, fit.model.exog)

lzip (nombres, prueba)

[('Estadística del multiplicador de Lagrange', 6,003951995818433),
 ('valor p', 0.11141811013399583),
 ('valor f', 3.004944880309618),
 ('valor p f', 0,11663863538255281)]

Una prueba de Breusch-Pagan utiliza las siguientes hipótesis nulas y alternativas:

La hipótesis nula (H 0 ): la homocedasticidad está presente.

La hipótesis alternativa: (Ha): la homocedasticidad no está presente (es decir, existe heterocedasticidad)

En este ejemplo, el estadístico del multiplicador de Lagrange para la prueba es 6,004 y el valor p correspondiente es 0,1114 . Debido a que este valor p no es menor que 0.05, no rechazamos la hipótesis nula. No tenemos evidencia suficiente para decir que la heterocedasticidad está presente en el modelo de regresión.

Cómo corregir la heterocedasticidad

En el ejemplo anterior vimos que la heterocedasticidad no estaba presente en el modelo de regresión. Sin embargo, cuando la heterocedasticidad está realmente presente, hay tres formas comunes de remediar la situación:

1. Transforme la variable dependiente.Una forma de corregir la heterocedasticidad es transformar la variable dependiente de alguna manera. Una transformación común es simplemente tomar el logaritmo de la variable dependiente.

2. Redefina la variable dependiente.Otra forma de corregir la heterocedasticidad es redefinir la variable dependiente. Una forma habitual de hacerlo es utilizar una tasa para la variable dependiente, en lugar del valor bruto.

3. Utilice regresión ponderada.Otra forma de corregir la heterocedasticidad es utilizar la regresión ponderada. Este tipo de regresión asigna un peso a cada punto de datos en función de la varianza de su valor ajustado. Cuando se utilizan los pesos adecuados, esto puede eliminar el problema de la heterocedasticidad.

Lea más detalles sobre cada uno de estos tres métodos en esta publicación .

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

Deja un comentario

Ocasionalmente, es posible que desee trazar las filas de una matriz en R como líneas individuales. Afortunadamente, esto es fácil…
statologos comunidad-2

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

You have Successfully Subscribed!