Cómo calcular DFBETAS en R

Actualizado por ultima vez el 7 de mayo de 2021, por .

En estadística, a menudo queremos saber qué tan influyentes son las diferentes observaciones en los modelos de regresión.

Una forma de calcular la influencia de las observaciones es mediante el uso de una métrica conocida como DFBETAS , que nos dice el efecto estandarizado en cada coeficiente de eliminar cada observación individual.

Esta métrica nos da una idea de cuán influyente es cada observación en cada estimación de coeficiente en un modelo de regresión dado.

Este tutorial muestra un ejemplo paso a paso de cómo calcular y visualizar DFBETAS para cada observación en un modelo en R.

Paso 1: crear un modelo de regresión

Primero, crearemos un modelo de regresión lineal múltiple utilizando el conjunto de datos mtcars integrado en R:

#ajustar un modelo de regresión
modelo <- lm (mpg ~ disp + hp, data = mtcars)

#ver resumen de
 resumen del modelo (modelo)

Coeficientes:
             Estimar Std. Valor t de error Pr (> | t |)    
(Intercepción) 30.735904 1.331566 23.083 <2e-16 ***
disp -0.030346 0.007405 -4.098 0.000306 ***
CV -0,024840 0,013385 -1,856 0,073679.  
---
Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1

Error estándar residual: 3,127 en 29 grados de libertad
R cuadrado múltiple: 0,7482, R cuadrado ajustado: 0,7309 
Estadístico F: 43,09 en 2 y 29 DF, valor de p: 2,062e-09

Paso 2: Calcule DFBETAS para cada observación

A continuación, usaremos la función dfbetas () incorporada para calcular los valores de DFBETAS para cada observación en el modelo:

#calcular DFBETAS para cada observación en el modelo
 dfbetas <- as . datos . marco (dfbetas (modelo))

#display DFBETAS para cada dfbetas de observación


                      (Intercepción) disp hp
Mazda RX4 -0,1174171253 0,030760632 1,748143e-02
Mazda RX4 Wag -0.1174171253 0.030760632 1.748143e-02
Datsun 710 -0.1694989349 0.086630144 -3.332781e-05
Hornet 4 Drive 0.0577309674 0.078971334 -8.705488e-02
Hornet Sportabout -0.0204333878 0.237526523 -1.366155e-01
Valiente -0.1711908285 -0.139135639 1.829038e-01
Duster 360 -0.0312338677 -0.005356209 3.581378e-02
Merc 240D -0.0312259577 -0.010409922 2.433256e-02
Merc 230 -0.0865872595 0.016428917 2.287867e-02
Merc 280 -0.1560683502 0.078667906 -1.911180e-02
Merc 280C -0,2254489597 0,113639937 -2,760800e-02
Merc 450SE 0,0022844093 0,002966155 -2,855985e-02
Merc 450SL 0.0009062022 0.001176644 -1.132941e-02
Merc 450SLC 0,0041566755 0,005397169 -5,196706e-02
Cadillac Fleetwood 0.0388832216 -0.134511133 7.277283e-02
Lincoln Continental 0.0483781688 -0.121146607 5.326220e-02
Chrysler Imperial -0.1645266331 0.236634429 -3.917771e-02
Fiat 128 0.5720358325 -0.181104179 -1.265475e-01
Honda Cívico 0.3490872162 -0.053660545 -1.326422e-01
Toyota Corolla 0.7367058819 -0.268512348 -1.342384e-01
Toyota Corona -0.2181110386 0.101336902 5.945352e-03
Dodge Challenger -0.0270169005 -0.123610713 9.441241e-02
Jabalina AMC -0.0406785103 -0.141711468 1.074514e-01
Camaro Z28 0.0390139262 0.012846225 -5.031588e-02
Pontiac Firebird -0.0549059340 0.574544346 -3.689584e-01
Fiat X1-9 0.0565157245 -0.017751582 -1.262221e-02
Porsche 914-2 0.0839169111 -0.028670987 -1.240452e-02
Lotus Europa 0.3444562478 -0.402678927 2.135224e-01
Ford Pantera L -0.1598854695 -0.094184733 2.320845e-01
Ferrari Dino -0.0343997122 0.248642444 -2.344154e-01
Maserati Bora -0,3436265545 -0,511285637 7,319066e-01
Volvo 142E -0,1784974091 0,132692956 -4,433915e-02

Para cada observación, podemos ver la diferencia en el coeficiente estimado para la intersección, la variable disp y la variable hp que ocurre cuando eliminamos esa observación en particular.

Por lo general, consideramos que una observación tiene una gran influencia en la estimación de un coeficiente dado si tiene un valor DBETAS mayor que un umbral de 2 / √ n donde n es el número de observaciones.

En este ejemplo, el umbral sería 0,3535534 :

# encontrar el número de observaciones 
n <- nrow (mtcars)

#calcular DFBETAS umbral valor umbral 
<- 2 / sqrt (n)

trillar

[1] 0.3535534

Paso 3: Visualiza las DFBETAS

Por último, podemos crear gráficos para visualizar el valor de DFBETAS para cada observación y para cada predictor en el modelo:

#especifique 2 filas y 1 columna en la región de trazado
par (mfrow = c (2,1))

#plot DFBETAS para disp con 
trazado de líneas de umbral (dfbetas $ disp, type = ' h ')
abline (h = trillar, lty = 2)
abline (h = -thresh, lty = 2)

#plot DFBETAS para hp con  
trazado de líneas de umbral (dfbetas $ hp, type = ' h ')
abline (h = trillar, lty = 2)
abline (h = -thresh, lty = 2)

DFBETAS en R

En cada gráfico, el eje x muestra el índice de cada observación en el conjunto de datos y el valor y muestra los DFBETAS correspondientes para cada observación y cada predictor.

En la primera gráfica podemos ver que tres observaciones superan el valor absoluto del umbral de 0.3535534 y en la segunda gráfica podemos ver que dos observaciones superan el valor absoluto del umbral.

Podemos optar por investigar estas observaciones más de cerca para determinar si influyen demasiado en la estimación de los coeficientes en el modelo.

Recursos adicionales

Cómo realizar una regresión lineal simple en R
Cómo realizar una regresión lineal múltiple en R
Cómo calcular estadísticas de apalancamiento en R
Cómo calcular DFFITS en R

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

Deja un comentario

En estadística, los investigadores suelen estar interesados ​​en comprender la relación entre alguna variable independiente y una variable dependiente. Sin…
statologos comunidad-2

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

You have Successfully Subscribed!