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.
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
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")
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
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.
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
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)
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.