Regresión y sus tipos en programación R

El análisis de regresión es una herramienta estadística para estimar la relación entre dos o más variables. Siempre hay una variable de respuesta y una o más variables predictoras. El análisis de regresión se usa ampliamente para ajustar los datos en consecuencia y más, prediciendo los datos para la previsión. Ayuda a las empresas y organizaciones a conocer el comportamiento de su producto en el mercado utilizando la variable dependiente/respuesta y la variable independiente/predictora. En este artículo, aprendamos sobre los diferentes tipos de regresión en la programación R con la ayuda de ejemplos. 

Tipos de regresión en R

Hay principalmente tres tipos de regresión en la programación R que se usan ampliamente. Están: 

Regresión lineal

El modelo de regresión lineal es uno de los más utilizados entre los tres tipos de regresión. En la regresión lineal, la relación se estima entre dos variables, es decir, una variable de respuesta y una variable de predicción. La regresión lineal produce una línea recta en el gráfico. Matemáticamente

y = ax + b
 

dónde, 

  • x indica predictor o variable independiente
  • y indica respuesta o variable dependiente
  • a y b son coeficientes

Implementación en R

En la programación R, la función lm() se usa para crear un modelo de regresión lineal. 

Sintaxis: lm (fórmula)
Parámetro:  
fórmula: representa la fórmula en la que se deben ajustar los datos Para conocer más parámetros opcionales, use el siguiente comando en la consola: ayuda («lm») 

Ejemplo: En este ejemplo, tracemos la línea de regresión lineal en el gráfico y predigamos el peso usando la altura. 

R

# R program to illustrate
# Linear Regression
 
# Height vector
x <- c(153, 169, 140, 186, 128,
       136, 178, 163, 152, 133)
 
# Weight vector
y <- c(64, 81, 58, 91, 47, 57,
       75, 72, 62, 49)
 
# Create a linear regression model
model <- lm(y~x)
 
# Print regression model
print(model)
 
# Find the weight of a person
# With height 182
df <- data.frame(x = 182)
res <-  predict(model, df)
cat("\nPredicted value of a person
               with height = 182")
print(res)
 
# Output to be present as PNG file
png(file = "linearRegGFG.png")
 
# Plot
plot(x, y, main = "Height vs Weight
                 Regression model")
abline(lm(y~x))
 
# Save the file.
dev.off()

Producción: 

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
   -39.7137       0.6847

Predicted value of a person with height = 182
      1 
84.9098

output-graph

Regresión múltiple

La regresión múltiple es otro tipo de técnica de análisis de regresión que es una extensión del modelo de regresión lineal, ya que utiliza más de una variable predictora para crear el modelo. Matemáticamente, 

y = a + x_1 * b_1 + x_2 * b_2 + ..... + x_n * b_n
 

Implementación en R

La regresión múltiple en la programación R usa la misma función lm() para crear el modelo. 

Sintaxis: lm(fórmula, datos)

Parámetros:

  • fórmula: representa la fórmula en la que se deben ajustar los datos
  • datos: representa el marco de datos en el que se debe aplicar la fórmula

Ejemplo: Vamos a crear un modelo de regresión múltiple del conjunto de datos de calidad del aire presente en el paquete base R y trazar el modelo en el gráfico. 

R

# R program to illustrate
# Multiple Linear Regression
 
# Using airquality dataset
input <- airquality[1:50,
         c("Ozone", "Wind", "Temp")]
 
# Create regression model
model <- lm(Ozone~Wind + Temp,
            data = input)
 
# Print the regression model
cat("Regression model:\n")
print(model)
 
# Output to be present as PNG file
png(file = "multipleRegGFG.png")
 
# Plot
plot(model)
 
# Save the file.
dev.off()

Producción:

Regression model:
Call:
lm(formula = Ozone ~ Wind + Temp, data = input)

Coefficients:
(Intercept)         Wind         Temp  
    -58.239       -0.739        1.329

output-graph

Regresión logística

La regresión logística es otra técnica de análisis de regresión ampliamente utilizada y predice el valor con un rango. Además, se utiliza para predecir los valores de los datos categóricos. Por ejemplo, el correo electrónico es spam o no spam, ganador o perdedor, hombre o mujer, etc. Matemáticamente, 

y=\frac{1}{1+e^{-z}}
 

dónde, 

  • y representa la variable de respuesta
  • z representa la ecuación de variables independientes o características

Implementación en R

En la programación R, la función glm() se usa para crear un modelo de regresión logística. 

Sintaxis: glm(fórmula, datos, familia)

Parámetros: 

  • fórmula: representa una fórmula sobre la base de qué modelo debe ajustarse
  • datos: representa el marco de datos en el que se debe aplicar la fórmula
  • familia: representa el tipo de función a utilizar. “binomial” para regresión logística

Ejemplo: 

R

# R program to illustrate
# Logistic Regression
 
# Using mtcars dataset
# To create the logistic model
model <- glm(formula = vs ~ wt,
             family = binomial,
             data = mtcars)
 
# Creating a range of wt values
x <- seq(min(mtcars$wt),
             max(mtcars$wt),
             0.01)
 
# Predict using weight
y <- predict(model, list(wt = x),
             type = "response")
 
# Print model
print(model)
 
# Output to be present as PNG file
png(file = "LogRegGFG.png")
 
# Plot
plot(mtcars$wt, mtcars$vs, pch = 16,
     xlab = "Weight", ylab = "VS")
lines(x, y)
 
# Saving the file
dev.off()

Producción:

Call:  glm(formula = vs ~ wt, family = binomial, data = mtcars)

Coefficients:
(Intercept)           wt  
      5.715       -1.911  

Degrees of Freedom: 31 Total (i.e. Null);  30 Residual
Null Deviance:      43.86 
Residual Deviance: 31.37        AIC: 35.37

output-graph

Publicación traducida automáticamente

Artículo escrito por utkarsh_kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *