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