1. Introducción: Regresión Lineal Antropométrica

[cite_start]En este ejercicio, aplicaremos el análisis de Regresión Lineal Simple [cite: 697] para modelar la relación entre dos variables antropométricas del conjunto de datos Cholula: * [cite_start]Variable Dependiente (Y): Estatura (X11)[cite: 698]. * [cite_start]Variable Independiente (X): Longitud del Muslo (X19)[cite: 698].

[cite_start]Buscamos una ecuación lineal \(Y = \beta_0 + \beta_1 X\) que permita predecir la estatura a partir de la longitud del muslo[cite: 699].

2. Configuración y Carga de Datos

En este chunk cargamos los paquetes necesarios (usando pacman::p_load) y el conjunto de datos Cholula.sav.

3. Análisis Descriptivo y Correlación

3.1. Matriz de Correlación (Pearson) y Visualización

[cite_start]Calcularemos la correlación de Pearson [cite: 686] para variables numéricas para identificar la relación más fuerte con la estatura (X11).

# Seleccionar solo variables numéricas continuas
Cholula_num <- Cholula %>%
  select(starts_with("X"))

# Matriz de correlación
cor_matrix <- cor(Cholula_num, use = "pairwise.complete.obs", method = "pearson")

# Ver los resultados
round(cor_matrix, 3)
##       X11   X14   X15   X16   X17   X18   X19   X20   X21
## X11 1.000 0.840 0.735 0.611 0.561 0.899 0.776 0.803 0.702
## X14 0.840 1.000 0.886 0.743 0.649 0.854 0.754 0.771 0.686
## X15 0.735 0.886 1.000 0.492 0.453 0.753 0.673 0.673 0.557
## X16 0.611 0.743 0.492 1.000 0.216 0.632 0.559 0.593 0.485
## X17 0.561 0.649 0.453 0.216 1.000 0.544 0.463 0.424 0.557
## X18 0.899 0.854 0.753 0.632 0.544 1.000 0.904 0.832 0.659
## X19 0.776 0.754 0.673 0.559 0.463 0.904 1.000 0.588 0.555
## X20 0.803 0.771 0.673 0.593 0.424 0.832 0.588 1.000 0.607
## X21 0.702 0.686 0.557 0.485 0.557 0.659 0.555 0.607 1.000
# Matriz de gráficos (puede tardar, se incluye para exploración)
# ggpairs(Cholula_num)

[cite_start]Observando la matriz de correlación, se confirma que la Longitud del Muslo (X19) tiene una alta correlación con la Estatura (X11) (Valor de 0.775 en tu análisis original), lo que justifica el modelo de regresión[cite: 689, 690].

3.2. Estadísticas Descriptivas de Variables de Interés

Se muestran las estadísticas básicas (n, media, desviación estándar) para las variables Estatura (X11) y Longitud del Muslo (X19).

# Estadísticas para X11 (Estatura)
res_X11 <- Cholula %>%
  summarise(
    n = sum(!is.na(X11)),
    media = mean(X11, na.rm = TRUE),
    sd = sd(X11, na.rm = TRUE)
  ) %>%
  mutate(across(c(media, sd), ~round(.x, 2)))

# Estadísticas para X19 (Longitud del Muslo)
res_X19 <- Cholula %>%
  summarise(
    n = sum(!is.na(X19)),
    media = mean(X19, na.rm = TRUE),
    sd = sd(X19, na.rm = TRUE)
  ) %>%
  mutate(across(c(media, sd), ~round(.x, 2)))

# Crear una tabla de resultados combinados (usando un data frame para mejor presentación en Rmd)
resultados_df <- data.frame(
  Variable = c("Estatura (X11)", "Longitud Muslo (X19)"),
  n = c(res_X11$n, res_X19$n),
  Media = c(res_X11$media, res_X19$media),
  SD = c(res_X11$sd, res_X19$sd)
)

knitr::kable(resultados_df, caption = "Estadísticas Descriptivas de Variables de Interés")
Estadísticas Descriptivas de Variables de Interés
Variable n Media SD
Estatura (X11) 339 1611.29 59.31
Longitud Muslo (X19) 339 475.15 26.05

3.3. Prueba de Normalidad (Shapiro-Wilk)

[cite_start]Verificamos la suposición de normalidad en las variables[cite: 682]. [cite_start]Si el \(p\)-valor es menor que \(0.05\), se rechaza la hipótesis nula (\(H_0\)) de normalidad[cite: 680].

p_norm_X11 <- shapiro.test(Cholula$X11)
p_norm_X19 <- shapiro.test(Cholula$X19)

cat("Shapiro-Wilk para Estatura (X11):\n")
## Shapiro-Wilk para Estatura (X11):
print(p_norm_X11)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cholula$X11
## W = 0.98548, p-value = 0.001739
cat("\nShapiro-Wilk para Longitud del Muslo (X19):\n")
## 
## Shapiro-Wilk para Longitud del Muslo (X19):
print(p_norm_X19)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cholula$X19
## W = 0.9818, p-value = 0.0002736
# Interpretación: Si el p-valor < 0.05, la variable NO se distribuye normalmente

4. Modelo de Regresión Lineal Simple

4.1. Visualización de la Regresión

[cite_start]Se muestra el diagrama de dispersión con la línea de mejor ajuste para la regresión[cite: 700].

ggplot(Cholula, aes(x = X19, y = X11)) +
  geom_point(alpha = 0.6, color = "steelblue") + 
  geom_smooth(method = "lm", se = FALSE, color = "red") + 
  labs(title = "Relación entre Estatura y Longitud del Muslo",
       x = "Longitud muslo (mm)",
       y = "Estatura (mm.)") +
  theme_minimal(base_size = 13)

4.2. Ajuste y Resumen del Modelo

[cite_start]Ajustamos y examinamos el Modelo Lineal[cite: 697]: \(Estatura = \beta_0 + \beta_1 \cdot LongitudMuslo + \epsilon\).

# Ajuste del modelo lineal: Y (X11) ~ X (X19)
modelo <- lm(X11 ~ X19, data = Cholula) 

# Resumen del modelo
summary(modelo)
## 
## Call:
## lm(formula = X11 ~ X19, data = Cholula)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -100.053  -25.388   -1.753   20.212  136.853 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 771.80913   37.22876   20.73   <2e-16 ***
## X19           1.76676    0.07823   22.58   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 37.47 on 337 degrees of freedom
## Multiple R-squared:  0.6021, Adjusted R-squared:  0.6009 
## F-statistic:   510 on 1 and 337 DF,  p-value: < 2.2e-16

La ecuación de regresión es: \[Estatura \approx 771.81 + 1.77 \cdot Longitud Muslo\]

[cite_start]El coeficiente de determinación (\(R^2\), Multiple R-squared) indica la proporción de la varianza en la Estatura que es predecible a partir de la longitud del muslo[cite: 703].

5. Verificación de Supuestos del Modelo

[cite_start]Es crucial verificar los supuestos de los errores del modelo de regresión [cite: 701, 705] para asegurar la validez de las inferencias.

5.1. Gráficos de Diagnóstico

Utilizaremos los gráficos de diagnóstico estándar en R:

par(mfrow = c(2, 2)) # Organiza los 4 gráficos en un solo panel
plot(modelo)

par(mfrow = c(1, 1)) # Regresa al formato de un gráfico por panel
  1. [cite_start]Residuos vs Ajustados (Residuals vs Fitted): Evalúa la linealidad y la homocedasticidad (varianza constante)[cite: 705].
  2. [cite_start]Q-Q Plot Normal (Normal Q-Q): Evalúa la normalidad de los residuos[cite: 705].
  3. [cite_start]Escala-Localización (Scale-Location): Evalúa la homocedasticidad (varianza constante de los errores)[cite: 705].
  4. [cite_start]Distancia de Cook (Cook’s distance): Identifica observaciones influyentes o atípicas[cite: 705].

5.2. Pruebas Formales de los Supuestos

Aparte de la gráfica Q-Q (ya vista en la sección anterior), se realizan pruebas estadísticas formales.

5.2.1. Homocedasticidad (Varianza Constante)

Utilizamos la prueba de Breusch-Pagan (bptest): * [cite_start]\(H_0\): Varianza de los errores constante (Homocedasticidad)[cite: 705]. * \(H_A\): Varianza de los errores no constante (Heterocedasticidad).

bptest(modelo)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo
## BP = 0.79445, df = 1, p-value = 0.3728

Si el \(p\)-valor > 0.05, no rechazamos la \(H_0\) y asumimos homocedasticidad.

5.2.3. No Autocorrelación de los Errores (Independencia)

Utilizamos la prueba de Durbin-Watson (dwtest) para verificar si los residuos son independientes (especialmente importante para datos de series de tiempo).

  • \(H_0\): Los errores no están autocorrelacionados.
  • \(H_A\): Los errores están autocorrelacionados.
dwtest(modelo)
## 
##  Durbin-Watson test
## 
## data:  modelo
## DW = 1.5907, p-value = 7.503e-05
## alternative hypothesis: true autocorrelation is greater than 0

Si el \(p\)-valor > 0.05, no rechazamos la \(H_0\) y asumimos independencia de los errores.