La regresión lineal simple (RLS) es una técnica estadística que estudia la relación entre dos variables cuantitativas:
El modelo se representa como:
\[ y_i = \beta_0 + \beta_1 x_i + e_i \] donde:
Entre los aspectos más relevantes al usar modelos re regresión, tenemos:
La RLS constituye la base de modelos más complejos, como: regresión múltiple, ANOVA, modelos predictivos en ciencia de datos. Por eso, aunque los estudiantes ya conocen su definición formal, en este curso la usaremos como punto de partida para profundizar en aplicaciones prácticas en el mundo empresarial.
¿Por qué modelar con RLS en negocios?
En servicio al cliente, la espera impacta directamente la satisfacción. Evidencia reciente muestra caídas notables en satisfacción cuando las personas deben esperar más de 5 minutos para ser atendidas, algo muy común en atención presencial. Además, la satisfacción no solo depende del tiempo “real” sino de si la espera fue mayor o menor a lo esperado.
Aun cuando relaciones más complejas (no lineales, por tramos o exponenciales) pueden solucionar esta situación, la RLS entrega rápidamente:
Pregunta de investigación: si reducimos el tiempo promedio de espera, ¿cuánto aumentaría en promedio la satisfacción?
Para ejemplificar esta situación, simularemos datos, usando tiempos de espera (1 - 10 minutos) y porcentaje de satisfacción (0%–100%) con una relación negativa realista.
# Datos simulados
set.seed(2025) # semilla
espera <- 1:10
sat <- round(95 - 2.2*espera + rnorm(length(espera), 0, 3),2)
library(tidyverse)
tabla <- tibble(espera, sat)
tabla
## # A tibble: 10 × 2
## espera sat
## <int> <dbl>
## 1 1 94.7
## 2 2 90.7
## 3 3 90.7
## 4 4 90.0
## 5 5 85.1
## 6 6 81.3
## 7 7 80.8
## 8 8 77.2
## 9 9 74.2
## 10 10 75.1
# 1) Exploración visual
library(highcharter)
highchart() %>% hc_xAxis(categories = espera) %>% hc_add_series(data = sat, type = "scatter")
## [1] -0.9811759
##
## Call:
## lm(formula = sat ~ espera, data = tabla)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.56036 -1.33368 -0.01555 0.70677 2.48927
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 97.0100 1.0232 94.81 1.71e-13 ***
## espera -2.3698 0.1649 -14.37 5.37e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.498 on 8 degrees of freedom
## Multiple R-squared: 0.9627, Adjusted R-squared: 0.958
## F-statistic: 206.5 on 1 and 8 DF, p-value: 5.37e-07
## 1 2
## 88.71564 80.89524
# 1) Ajuste y predicciones (línea + IC de confianza)
grid <- data.frame(espera = seq(min(espera), max(espera), length.out = 100))
pred <- cbind(grid, round(predict(lm, newdata = grid, interval = "confidence", level = 0.95),2))
names(pred)[2:4] <- c("yhat", "li", "ls")
# 2) Gráfico
highchart() %>%
hc_add_series(
data = list_parse2(data.frame(x = espera, y = sat)),
type = "scatter",
name = "Observado",
marker = list(radius = 4)
) %>%
# Recta de regresión
hc_add_series(
data = list_parse2(data.frame(x = pred$espera, y = pred$yhat)),
type = "line",
name = "RLS",
zIndex = 2
) %>%
# IC 95% confianza
hc_add_series(
data = list_parse2(data.frame(x = pred$espera, low = pred$li, high = pred$ls)),
type = "arearange",
name = "IC 95%",
zIndex = 0
)
Relación entre educación e ingreso en municipios de Puerto Rico
Trabajamos datos son simulados para práctica. La fuente real a replicar luego es el U.S. Census Bureau, American Community Survey (ACS).
Instrucciones:
Carga el CSV y revisa su estructura.
Calcula estadísticas descriptivas (media, mediana y desviación estándar) para ambas variables.
Haz un diagrama de dispersión y analiza su correlación.
Ajusta una regresión lineal simple.
Interpreta la salida del modelo.