R: regresión múltiple

La regresión múltiple es una extensión de la regresión lineal en la relación entre más de dos variables. En la relación lineal simple tenemos un predictor y una variable de respuesta, pero en la regresión múltiple tenemos más de una variable de predicción y una variable de respuesta.

La ecuación matemática general para la regresión múltiple es:

y = a + b1x1 + b2x2 +...bnxn

A continuación se muestra la descripción de los parámetros utilizados:

  • y es la variable de respuesta.

  • a, b1, b2...bn son los coeficientes.

  • x1, x2, ...xn son las variables predictoras.

Creamos el modelo de regresión usando el lm()función en R. El modelo determina el valor de los coeficientes utilizando los datos de entrada. A continuación, podemos predecir el valor de la variable de respuesta para un conjunto dado de variables predictoras utilizando estos coeficientes.

Función lm ()

Esta función crea el modelo de relación entre el predictor y la variable de respuesta.

Sintaxis

La sintaxis básica para lm() la función en regresión múltiple es -

lm(y ~ x1+x2+x3...,data)

A continuación se muestra la descripción de los parámetros utilizados:

  • formula es un símbolo que presenta la relación entre la variable de respuesta y las variables predictoras.

  • data es el vector sobre el que se aplicará la fórmula.

Ejemplo

Los datos de entrada

Considere el conjunto de datos "mtcars" disponible en el entorno R. Ofrece una comparación entre diferentes modelos de automóviles en términos de kilometraje por galón (mpg), cilindrada ("disp"), caballos de fuerza ("hp"), peso del automóvil ("wt") y algunos parámetros más.

El objetivo del modelo es establecer la relación entre "mpg" como variable de respuesta con "disp", "hp" y "wt" como variables predictoras. Creamos un subconjunto de estas variables a partir del conjunto de datos mtcars para este propósito.

input <- mtcars[,c("mpg","disp","hp","wt")]
print(head(input))

Cuando ejecutamos el código anterior, produce el siguiente resultado:

mpg   disp   hp    wt
Mazda RX4          21.0  160    110   2.620
Mazda RX4 Wag      21.0  160    110   2.875
Datsun 710         22.8  108     93   2.320
Hornet 4 Drive     21.4  258    110   3.215
Hornet Sportabout  18.7  360    175   3.440
Valiant            18.1  225    105   3.460

Cree un modelo de relación y obtenga los coeficientes

input <- mtcars[,c("mpg","disp","hp","wt")]

# Create the relationship model.
model <- lm(mpg~disp+hp+wt, data = input)

# Show the model.
print(model)

# Get the Intercept and coefficients as vector elements.
cat("# # # # The Coefficient Values # # # ","\n")

a <- coef(model)[1]
print(a)

Xdisp <- coef(model)[2]
Xhp <- coef(model)[3]
Xwt <- coef(model)[4]

print(Xdisp)
print(Xhp)
print(Xwt)

Cuando ejecutamos el código anterior, produce el siguiente resultado:

Call:
lm(formula = mpg ~ disp + hp + wt, data = input)

Coefficients:
(Intercept)         disp           hp           wt  
  37.105505      -0.000937        -0.031157    -3.800891  

# # # # The Coefficient Values # # # 
(Intercept) 
   37.10551 
         disp 
-0.0009370091 
         hp 
-0.03115655 
       wt 
-3.800891

Crear ecuación para modelo de regresión

Basándonos en los valores de intersección y coeficiente anteriores, creamos la ecuación matemática.

Y = a+Xdisp.x1+Xhp.x2+Xwt.x3
or
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3

Aplicar ecuación para predecir nuevos valores

Podemos utilizar la ecuación de regresión creada anteriormente para predecir el kilometraje cuando se proporciona un nuevo conjunto de valores de desplazamiento, potencia y peso.

Para un automóvil con disp = 221, hp = 102 y wt = 2.91, el millaje predicho es -

Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104