Introducción

Este taller está diseñado para ofrecer una introducción práctica a la regresión lineal utilizando datos simulados. El objetivo es que los participantes comprendan cómo aplicar la regresión lineal para resolver problemas sencillos dentro del contexto de la administración de empresas.

1. Simulación de datos

Primero, generemos un conjunto de datos simulado que represente las ventas de una empresa en función de la cantidad gastada en publicidad.

set.seed(123)
# Simulando datos
n <- 100
gasto_publicidad <- runif(n, min = 1000, max = 5000)  # Gasto en publicidad
ventas <- 20000 + 5 * gasto_publicidad + rnorm(n, mean = 0, sd = 1000)  # Ventas con algo de ruido

# Creación del dataframe
df <- data.frame(gasto_publicidad, ventas)

# Mostrar los primeros datos
head(df)
##   gasto_publicidad   ventas
## 1         2150.310 31004.87
## 2         4153.221 40737.56
## 3         2635.908 33136.67
## 4         4532.070 44028.95
## 5         4761.869 43583.57
## 6         1182.226 27427.60

2. Visualización de los datos

Antes de aplicar el modelo de regresión, visualicemos los datos para entender la relación entre el gasto en publicidad y las ventas.

plot(df$gasto_publicidad, df$ventas, 
     xlab = "Gasto en Publicidad", 
     ylab = "Ventas", 
     main = "Relación entre Gasto en Publicidad y Ventas",
     pch = 19, col = "blue")

3. Aplicación del modelo de regresión lineal

Ahora aplicaremos un modelo de regresión lineal simple para predecir las ventas en función del gasto en publicidad.

modelo <- lm(ventas ~ gasto_publicidad, data = df)

# Resumen del modelo
summary(modelo)
## 
## Call:
## lm(formula = ventas ~ gasto_publicidad, data = df)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2237.97  -613.23   -19.73   596.33  2217.23 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      2.001e+04  2.736e+02   73.14   <2e-16 ***
## gasto_publicidad 4.978e+00  8.546e-02   58.25   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 969.3 on 98 degrees of freedom
## Multiple R-squared:  0.9719, Adjusted R-squared:  0.9716 
## F-statistic:  3393 on 1 and 98 DF,  p-value: < 2.2e-16

4. Interpretación de resultados

El coeficiente de gasto en publicidad nos dice cuánto se espera que aumenten las ventas por cada unidad adicional de gasto en publicidad. Interpretemos los resultados del modelo.

  1. Intercepto: Representa las ventas esperadas cuando el gasto en publicidad es cero.
  2. Pendiente: Por cada aumento de 1 unidad en el gasto en publicidad, se espera que las ventas aumenten en promedio X unidades (donde X es el valor del coeficiente).
  3. R-cuadrado: Nos indica qué porcentaje de la variación en las ventas es explicado por el modelo de regresión.

5. Predicción

Utilicemos el modelo para hacer predicciones con nuevos valores de gasto en publicidad.

nuevos_datos <- data.frame(gasto_publicidad = c(1500, 3000, 4500))
predicciones <- predict(modelo, nuevos_datos)

# Mostrando las predicciones
nuevos_datos$prediccion_ventas <- predicciones
nuevos_datos
##   gasto_publicidad prediccion_ventas
## 1             1500          27479.81
## 2             3000          34946.12
## 3             4500          42412.44

6. Evaluación del modelo

Finalmente, evaluemos el rendimiento del modelo calculando el error residual y otras métricas.

# Cálculo de los residuales
residuales <- modelo$residuals

# Visualización de los residuales
plot(df$gasto_publicidad, residuales, 
     xlab = "Gasto en Publicidad", 
     ylab = "Residuales", 
     main = "Residuales vs Gasto en Publicidad",
     pch = 19, col = "red")
abline(h = 0, col = "blue", lwd = 2)

Conclusión

En este taller, hemos explorado cómo utilizar la regresión lineal simple para modelar la relación entre dos variables, como el gasto en publicidad y las ventas. Los conceptos y herramientas utilizados aquí son fundamentales en el análisis de datos para la toma de decisiones en el ámbito empresarial.