Cómo realizar una regresión robusta en R (paso a paso)

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

La regresión robusta es un método que podemos usar como alternativa a la regresión por mínimos cuadrados ordinarios cuando hay valores atípicos u observaciones influyentes en el conjunto de datos con el que estamos trabajando.

Para realizar una regresión robusta en R, podemos usar la función rlm () del paquete MASS , que usa la siguiente sintaxis:

El siguiente ejemplo paso a paso muestra cómo realizar una regresión robusta en R para un conjunto de datos determinado.

Paso 1: crear los datos

Primero, creemos un conjunto de datos falso para trabajar:

#create data 
df <- data. marco (x1 = c (1, 3, 3, 4, 4, 6, 6, 8, 9, 3,
                      11, 16, 16, 18, 19, 20, 23, 23, 24, 25),
                 x2 = c (7, 7, 4, 29, 13, 34, 17, 19, 20, 12,
                      25, 26, 26, 26, 27, 29, 30, 31, 31, 32),
                  y = c (17, 170, 19, 194, 24, 2, 25, 29, 30, 32,
                      44, 60, 61, 63, 63, 64, 61, 67, 59, 70))

#ver las primeras seis filas del encabezado de datos
 (df)

  x1 x2 y
1 1 7 17
2 3 7 170
3 3 4 19
4 4 29 194
5 4 13 24
6 6 34 2

Paso 2: realizar una regresión de mínimos cuadrados ordinarios

A continuación, ajustemos un modelo de regresión de mínimos cuadrados ordinario y creemos una gráfica de los residuos estandarizados .

En la práctica, a menudo consideramos que cualquier residuo estandarizado con un valor absoluto superior a 3 es un valor atípico.

#fit modelo de regresión de mínimos cuadrados ordinarios
ols <- lm (y ~ x1 + x2, datos = df)

#create plot of y-values ​​vs standardized residuals
 plot (df $ y, rstandard (ols), ylab = ' Standardized Residuals ', xlab = ' y ')
abline (h = 0 )

En la gráfica podemos ver que hay dos observaciones con residuos estandarizados alrededor de 3.

Esta es una indicación de que hay dos posibles valores atípicos en el conjunto de datos y, por lo tanto, podemos beneficiarnos de realizar una regresión robusta.

Paso 3: realizar una regresión robusta

A continuación, usemos la función rlm () para ajustar un modelo de regresión robusto:

biblioteca (MASA)

#ajustar modelo de regresión 
robusto robusto <- rlm (y ~ x1 + x2, data = df)

Para determinar si este modelo de regresión robusto ofrece un mejor ajuste a los datos en comparación con el modelo OLS, podemos calcular el error estándar residual de cada modelo.

El error estándar residual (RSE) es una forma de medir la desviación estándar de los residuos en un modelo de regresión. Cuanto menor sea el valor de RSE, más fielmente podrá un modelo ajustarse a los datos.

El siguiente código muestra cómo calcular el RSE para cada modelo:

# encontrar el error estándar residual del resumen del modelo de ols
 (ols) $ sigma

[1] 49.41848

# encontrar el error estándar residual del resumen del modelo de ols
 (robusto) $ sigma

[1] 9.369349

Podemos ver que el RSE para el modelo de regresión robusto es mucho más bajo que el modelo de regresión de mínimos cuadrados ordinario, lo que nos dice que el modelo de regresión robusto ofrece un mejor ajuste a los datos.

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 realizar una regresión polinomial en R

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

Deja un comentario

A menudo, puede estar interesado en agregar barras de error a los gráficos en Excel para capturar la incertidumbre en…
statologos comunidad-2

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

You have Successfully Subscribed!