** INTEGRANTES DEL GRUPO**

  1. Jhon Ramos
  2. Bernny Castillo
  3. Samuel Nizperuza
  4. Maria Montiel
  5. Diego Salgado
  6. Emerson Benitez
  7. Jesús Noriega
  8. Rubiela Tinoco
  9. Didier Vásquez
  10. Maria Guerra
  11. Kaleth Echeverria
  12. Yeison De Alba
  13. Yesica Casillo
  14. Kely Malo

🎯 Objetivo de la Tarea

Aplicar técnicas de regresión lineal simple y múltiple, así como métodos de ajuste no lineales (lm, glm, gam, loess) para analizar fenómenos propios de la Ingeniería Civil, Agrícola y Agroindustrial, utilizando los datasets Soils y wine, con el fin de fortalecer la comprensión de modelos estadísticos, su interpretación contextual y su visualización mediante herramientas del lenguaje R.


🧠 Competencias a Desarrollar

1. Competencia Analítica

  • Comprende e interpreta modelos de regresión ajustados a datos experimentales.
  • Evalúa el ajuste de distintos tipos de modelos a fenómenos reales.
  • Identifica patrones lineales y no lineales entre variables relevantes.

2. Competencia Técnica en R

  • Utiliza adecuadamente funciones del lenguaje R para manipular, visualizar y modelar datos (ggplot2, lm, glm, gam, loess, stepAIC).
  • Integra múltiples paquetes del ecosistema tidyverse y MASS para el análisis estadístico reproducible.

3. Competencia Comunicativa y Científica

  • Redacta informes con lenguaje técnico apropiado en RMarkdown.
  • Formula preguntas investigativas a partir del análisis de datos.
  • Utiliza herramientas de IA (ChatGPT) para enriquecer la comprensión teórica y metodológica.

📘 Estrategias Didácticas

Estrategia Descripción
Aprendizaje basado en problemas Se proponen casos aplicados en contextos reales de las ingenierías.
Uso guiado de herramientas IA Se fomenta la consulta estructurada a ChatGPT para reforzar teoría y código.
Aprendizaje activo y colaborativo Desarrollo de la tarea en grupos con roles distribuidos.
Integración RMarkdown–RPubs Producción de informes reproducibles con visualizaciones e interpretación.
Evaluación formativa Retroalimentación mediante revisión del informe, código y video explicativo.

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(carData)
library(MASS)
## 
## Attaching package: 'MASS'
## 
## The following object is masked from 'package:dplyr':
## 
##     select
library(PerformanceAnalytics)
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## 
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## 
## ######################### Warning from 'xts' package ##########################
## #                                                                             #
## # The dplyr lag() function breaks how base R's lag() function is supposed to  #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
## # source() into this session won't work correctly.                            #
## #                                                                             #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
## # dplyr from breaking base R's lag() function.                                #
## #                                                                             #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
## #                                                                             #
## ###############################################################################
## 
## Attaching package: 'xts'
## 
## The following objects are masked from 'package:dplyr':
## 
##     first, last
## 
## 
## Attaching package: 'PerformanceAnalytics'
## 
## The following object is masked from 'package:graphics':
## 
##     legend

1. Introducción

Esta tarea se basa en el uso del dataset Soils del paquete carData, que contiene información sobre características físico-químicas del suelo, útiles en aplicaciones de ingeniería civil, agrícola y agroindustrial. La tarea tiene como objetivo aplicar regresiones lineales simples y múltiples, utilizando herramientas de análisis exploratorio y selección de modelos.

Los estudiantes deberán utilizar ChatGPT como herramienta de apoyo para: 1. Consultar teoría sobre regresiones. 2. Formular interpretaciones de modelos y gráficos. 3. Mejorar el diseño y redacción del documento final.


2. Exploración del dataset Soils

data(Soils)
glimpse(Soils)
## Rows: 48
## Columns: 14
## $ Group   <fct> 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6,…
## $ Contour <fct> Top, Top, Top, Top, Top, Top, Top, Top, Top, Top, Top, Top, To…
## $ Depth   <fct> 0-10, 0-10, 0-10, 0-10, 10-30, 10-30, 10-30, 10-30, 30-60, 30-…
## $ Gp      <fct> T0, T0, T0, T0, T1, T1, T1, T1, T3, T3, T3, T3, T6, T6, T6, T6…
## $ Block   <fct> 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1,…
## $ pH      <dbl> 5.40, 5.65, 5.14, 5.14, 5.14, 5.10, 4.70, 4.46, 4.37, 4.39, 4.…
## $ N       <dbl> 0.188, 0.165, 0.260, 0.169, 0.164, 0.094, 0.100, 0.112, 0.112,…
## $ Dens    <dbl> 0.92, 1.04, 0.95, 1.10, 1.12, 1.22, 1.52, 1.47, 1.07, 1.54, 1.…
## $ P       <int> 215, 208, 300, 248, 174, 129, 117, 170, 121, 115, 112, 117, 12…
## $ Ca      <dbl> 16.35, 12.25, 13.02, 11.92, 14.17, 8.55, 8.74, 9.49, 8.85, 4.7…
## $ Mg      <dbl> 7.65, 5.15, 5.68, 7.88, 8.12, 6.92, 8.16, 9.16, 10.35, 6.91, 7…
## $ K       <dbl> 0.72, 0.71, 0.68, 1.09, 0.70, 0.81, 0.39, 0.70, 0.74, 0.77, 0.…
## $ Na      <dbl> 1.14, 0.94, 0.60, 1.01, 2.17, 2.67, 3.32, 3.76, 5.74, 5.85, 5.…
## $ Conduc  <dbl> 1.09, 1.35, 1.41, 1.64, 1.85, 3.18, 4.16, 5.14, 5.73, 6.45, 8.…

Actividades:

  • Explique brevemente el significado de cada variable.

    • Prompt sugerido: “Explica cada variable del dataset Soils del paquete carData y su posible importancia para la ingeniería agrícola o civil”.
  • Use summary() para detectar valores atípicos o distribuciones irregulares.

  • Construya histogramas y gráficos de densidad para pH, N, P, Ca, Mg, K, Na y Conduc.

    • Prompt sugerido: “Interpreta el gráfico de densidad de la variable Na en el dataset Soils. ¿Qué nos dice sobre su distribución?”

Actividades con el dataset Soils

1. Explicación de las variables del dataset Soils

El dataset Soils del paquete carData contiene variables físico-químicas del suelo relevantes para la ingeniería agrícola y civil. A continuación, se describe cada variable y su importancia:

Variable Descripción Importancia en Ingeniería
pH Medida de acidez/alcalinidad del suelo (escala 0-14). En agricultura, afecta la disponibilidad de nutrientes. En ingeniería civil, suelos muy ácidos pueden corroer estructuras metálicas.
N (Nitrógeno) Concentración de nitrógeno en el suelo. Esencial para el crecimiento de plantas (fertilidad). En construcción, su exceso puede indicar contaminación.
Dens (Densidad) Densidad aparente del suelo (g/cm³). En agricultura, afecta la retención de agua. En civil, suelos muy densos son más estables para cimentaciones.
P (Fósforo) Nivel de fósforo disponible. Clave para el desarrollo radicular en cultivos. En suelos contaminados, puede indicar residuos agrícolas.
Ca (Calcio) Concentración de calcio. Mejora la estructura del suelo (agregación). En civil, suelos calcáreos son más resistentes a la erosión.
Mg (Magnesio) Nivel de magnesio. Importante para la fotosíntesis. En geotecnia, su deficiencia puede debilitar suelos arcillosos.
K (Potasio) Concentración de potasio. Vital para la resistencia de plantas a sequías. En minería, altos niveles pueden indicar depósitos salinos.
Na (Sodio) Contenido de sodio. En agricultura, exceso causa salinización. En civil, suelos salinos son problemáticos para estructuras.
Conduc (Conductividad) Conductividad eléctrica (dS/m). Mide salinidad. En agricultura, altos valores reducen productividad. En civil, afecta la corrosión.

Prompt sugerido para ChatGPT:
“Explica cada variable del dataset Soils del paquete carData y su posible importancia para la ingeniería agrícola o civil.”


2. Detección de valores atípicos con summary()

Para identificar valores atípicos o distribuciones irregulares:
Interpretación:
- Valores extremos se detectan comparando máximos/mínimos con la mediana.
- Ejemplo: Si Na tiene un máximo muy alto (ej. 500) mientras el 75% de los datos están ≤100, podría ser un outlier.


3. Histogramas y gráficos de densidad

Código en R:

Interpretación del gráfico de densidad para Na:
- Si la curva de densidad es asimétrica a la derecha, indica presencia de valores altos atípicos (ej.: suelos contaminados con sal).
- Una distribución unimodal y centrada sugiere normalidad, mientras que múltiples picos indican subpoblaciones (ej.: suelos con diferente manejo agrícola).

Prompt sugerido para ChatGPT:
“Interpreta el gráfico de densidad de la variable Na en el dataset Soils. ¿Qué nos dice sobre su distribución?”

Interpretación del Gráfico de Densidad de la Variable Na (Sodio) en el Dataset Soils

Análisis de la Distribución

  1. Forma de la Distribución:
    • Si el gráfico de densidad muestra una cola larga hacia la derecha (asimetría positiva), indica que la mayoría de los valores de sodio son bajos, pero hay algunos suelos con concentraciones excepcionalmente altas. Esto es común en suelos afectados por salinización o contaminación.
    • Si la curva es unimodal y simétrica, sugiere que los datos siguen una distribución normal, típica de suelos con manejo agrícola uniforme.
    • Si aparecen múltiples picos (multimodalidad), podría reflejar subpoblaciones, como suelos de distintas regiones o con diferentes tratamientos (ej.: riego con agua salina vs. agua dulce).
  2. Posición y Dispersión:
    • Un pico centrado en valores bajos (ej.: <50 mg/kg) sugiere que la mayoría de los suelos tienen baja salinidad.
    • Una dispersión amplia (curva aplanada) indica alta variabilidad en los niveles de sodio, relevante para identificar riesgos de degradación de suelos.
  3. Valores Atípicos:
    • Si la cola derecha es extrema, confirma la presencia de outliers (ej.: suelos con Na > 200 mg/kg). Estos casos podrían deberse a:
      • Uso excesivo de fertilizantes.
      • Contaminación por aguas residuales.
      • Procesos naturales de acumulación de sales.

Implicaciones para la Ingeniería Agrícola y Civil

  • Agricultura:
    • Niveles altos de Na (>100 mg/kg) pueden reducir la permeabilidad del suelo y afectar el crecimiento de cultivos (toxicidad para plantas sensibles como frutales).
    • Requiere estrategias como enmiendas cálcicas (yeso) para desplazar el sodio.
  • Ingeniería Civil:
    • Suelos salinos (Na elevado) son corrosivos para estructuras metálicas y pueden hincharse/contraerse con cambios de humedad, comprometiendo cimentaciones.
    • La conductividad eléctrica (Conduc) suele correlacionarse con Na, siendo un indicador indirecto de riesgo.

Ejemplo de Interpretación con Gráfico

library(ggplot2)
ggplot(Soils, aes(x = Na)) +
  geom_density(fill = "blue", alpha = 0.5) +
  labs(title = "Distribución de Sodio (Na) en Suelos",
       x = "Concentración de Na (mg/kg)",
       y = "Densidad") +
  theme_minimal()

Si el gráfico resultante muestra:
- Asimetría derecha: “El 75% de los suelos tienen Na < 80 mg/kg, pero unos pocos superan 200 mg/kg, sugiriendo focos de salinización”.
- Pico agudo en bajos valores: “La mayoría de los suelos son no salinos, ideales para agricultura convencional”.


Recomendaciones

  • Para outliers: Investigar su origen (ej.: mediciones erróneas o suelos degradados).
  • Transformaciones: Si la distribución es muy asimétrica, aplicar log(Na) para modelos de regresión.
  • Contexto: Comparar con Conduc y pH para diagnosticar problemas de salinidad-alcalinidad.

Resumen de Hallazgos

  • Variables clave para agricultura: N, P, K (nutrientes esenciales).
  • Variables clave para ingeniería civil: pH, Conduc, Dens (estabilidad y corrosión).
  • Posibles problemas: Outliers en Na (salinidad) o Conduc (contaminación).

Recomendación: Usar boxplot() para visualizar outliers específicos antes de modelar regresiones.

3. Visualización de correlaciones

Utilice la función chart.Correlation() del paquete PerformanceAnalytics para analizar las correlaciones entre las variables cuantitativas:

library(dplyr)
names(Soils)
##  [1] "Group"   "Contour" "Depth"   "Gp"      "Block"   "pH"      "N"      
##  [8] "Dens"    "P"       "Ca"      "Mg"      "K"       "Na"      "Conduc"
chart.Correlation(
  dplyr::select(as.data.frame(Soils), pH, N, Dens, P, Ca, Mg, K, Na, Conduc),
  histogram = TRUE
)

  • Prompt sugerido: “Explica cómo interpretar la matriz de correlaciones obtenida con chart.Correlation(). ¿Qué pares de variables muestran una fuerte relación lineal?”

6. Aplicación para Ingeniería Agroindustrial

Para los estudiantes de Ingeniería Agroindustrial, usen el dataset wine del paquete rattle, que contiene variables fisicoquímicas de vinos producidos en tres regiones. El objetivo es identificar qué variables químicas explican mejor el tipo de vino (Type) y si existen relaciones no lineales relevantes.

# Instalar si es necesario
# install.packages("rattle"). No es necesario por la programación reactiva de Posit Cloud

library(rattle)
## Loading required package: bitops
## Rattle: A free graphical interface for data science with R.
## Version 5.5.1 Copyright (c) 2006-2021 Togaware Pty Ltd.
## Type 'rattle()' to shake, rattle, and roll your data.
data(wine)

# Visualización exploratoria de correlaciones
library(PerformanceAnalytics)
chart.Correlation(wine[,-1], histogram = TRUE, pch = 19)

# Modelo de clasificación lineal
modelo_wine <- lm(as.numeric(Type) ~ ., data = wine)

# Selección de variables con stepAIC
library(MASS)
modelo_wine_step <- stepAIC(modelo_wine, direction = "both")
## Start:  AIC=-473.75
## as.numeric(Type) ~ Alcohol + Malic + Ash + Alcalinity + Magnesium + 
##     Phenols + Flavanoids + Nonflavanoids + Proanthocyanins + 
##     Color + Hue + Dilution + Proline
## 
##                   Df Sum of Sq    RSS     AIC
## - Magnesium        1    0.0061 10.629 -475.64
## - Proanthocyanins  1    0.0455 10.668 -474.99
## - Hue              1    0.0807 10.703 -474.40
## <none>                         10.623 -473.75
## - Malic            1    0.1214 10.744 -473.72
## - Ash              1    0.1345 10.757 -473.51
## - Nonflavanoids    1    0.1406 10.763 -473.41
## - Phenols          1    0.3331 10.956 -470.25
## - Alcohol          1    0.6491 11.272 -465.19
## - Alcalinity       1    1.4006 12.023 -453.70
## - Dilution         1    1.7189 12.341 -449.05
## - Color            1    1.7977 12.420 -447.92
## - Proline          1    3.0557 13.678 -430.74
## - Flavanoids       1    3.4839 14.107 -425.26
## 
## Step:  AIC=-475.64
## as.numeric(Type) ~ Alcohol + Malic + Ash + Alcalinity + Phenols + 
##     Flavanoids + Nonflavanoids + Proanthocyanins + Color + Hue + 
##     Dilution + Proline
## 
##                   Df Sum of Sq    RSS     AIC
## - Proanthocyanins  1    0.0408 10.669 -476.96
## - Hue              1    0.0829 10.712 -476.26
## <none>                         10.629 -475.64
## - Malic            1    0.1225 10.751 -475.60
## - Nonflavanoids    1    0.1354 10.764 -475.39
## - Ash              1    0.1643 10.793 -474.91
## + Magnesium        1    0.0061 10.623 -473.75
## - Phenols          1    0.3301 10.959 -472.20
## - Alcohol          1    0.6491 11.278 -467.09
## - Alcalinity       1    1.4149 12.044 -455.40
## - Dilution         1    1.7209 12.350 -450.93
## - Color            1    1.7993 12.428 -449.81
## - Proline          1    3.2049 13.834 -430.73
## - Flavanoids       1    3.4958 14.124 -427.03
## 
## Step:  AIC=-476.96
## as.numeric(Type) ~ Alcohol + Malic + Ash + Alcalinity + Phenols + 
##     Flavanoids + Nonflavanoids + Color + Hue + Dilution + Proline
## 
##                   Df Sum of Sq    RSS     AIC
## - Hue              1    0.0821 10.752 -477.60
## <none>                         10.669 -476.96
## - Malic            1    0.1348 10.804 -476.73
## - Nonflavanoids    1    0.1355 10.805 -476.72
## + Proanthocyanins  1    0.0408 10.629 -475.64
## - Ash              1    0.2016 10.871 -475.63
## + Magnesium        1    0.0014 10.668 -474.99
## - Phenols          1    0.3584 11.028 -473.08
## - Alcohol          1    0.6999 11.369 -467.65
## - Alcalinity       1    1.4935 12.163 -455.64
## - Dilution         1    1.6914 12.361 -452.77
## - Color            1    1.9404 12.610 -449.22
## - Proline          1    3.1712 13.841 -432.64
## - Flavanoids       1    3.5851 14.255 -427.40
## 
## Step:  AIC=-477.6
## as.numeric(Type) ~ Alcohol + Malic + Ash + Alcalinity + Phenols + 
##     Flavanoids + Nonflavanoids + Color + Dilution + Proline
## 
##                   Df Sum of Sq    RSS     AIC
## <none>                         10.752 -477.60
## + Hue              1    0.0821 10.669 -476.96
## - Nonflavanoids    1    0.1751 10.927 -476.72
## + Proanthocyanins  1    0.0400 10.712 -476.26
## - Ash              1    0.2050 10.957 -476.24
## + Magnesium        1    0.0026 10.749 -475.64
## - Malic            1    0.2783 11.030 -475.05
## - Phenols          1    0.3632 11.115 -473.68
## - Alcohol          1    0.7314 11.483 -467.88
## - Alcalinity       1    1.5139 12.265 -456.15
## - Dilution         1    1.7094 12.461 -453.33
## - Color            1    2.9430 13.695 -436.53
## - Proline          1    3.4647 14.216 -429.88
## - Flavanoids       1    3.8899 14.642 -424.63
summary(modelo_wine_step)
## 
## Call:
## lm(formula = as.numeric(Type) ~ Alcohol + Malic + Ash + Alcalinity + 
##     Phenols + Flavanoids + Nonflavanoids + Color + Dilution + 
##     Proline, data = wine)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.63800 -0.15633 -0.02195  0.16436  0.70562 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    4.375e+00  4.639e-01   9.430  < 2e-16 ***
## Alcohol       -1.231e-01  3.651e-02  -3.371 0.000932 ***
## Malic          4.166e-02  2.004e-02   2.079 0.039146 *  
## Ash           -1.730e-01  9.697e-02  -1.784 0.076169 .  
## Alcalinity     4.107e-02  8.469e-03   4.849 2.82e-06 ***
## Phenols        1.497e-01  6.305e-02   2.375 0.018677 *  
## Flavanoids    -3.683e-01  4.738e-02  -7.773 7.45e-13 ***
## Nonflavanoids -3.205e-01  1.944e-01  -1.649 0.101040    
## Color          8.483e-02  1.255e-02   6.761 2.19e-10 ***
## Dilution      -2.663e-01  5.169e-02  -5.153 7.17e-07 ***
## Proline       -7.215e-04  9.835e-05  -7.336 9.10e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2537 on 167 degrees of freedom
## Multiple R-squared:  0.8989, Adjusted R-squared:  0.8928 
## F-statistic: 148.4 on 10 and 167 DF,  p-value: < 2.2e-16
  • Prompt sugerido:
    “¿Qué variables químicas explican mejor el tipo de vino (Type) en el dataset wine? ¿Qué tipo de relaciones (lineales o no lineales) podrían explorarse entre esas variables y la clasificación del vino?”

Instrucciones: - Interprete los resultados del modelo ajustado. - Determine qué variables son más relevantes para distinguir entre tipos de vino. - Explore la posibilidad de modelos no lineales (gam, loess) si detectan patrones curvos.


7. Conclusiones

  • ¿Qué aprendiste sobre la relación entre las variables del suelo?
  • ¿Cómo puede ayudar la regresión múltiple en la toma de decisiones en ingeniería?
  • ¿Qué ventaja ofrece el uso del criterio de Akaike frente al R²?
  • Prompt sugerido: “Resume en lenguaje claro y técnico las conclusiones obtenidas tras aplicar modelos de regresión múltiple con stepAIC()”

Conclusiones sobre el Análisis de Suelos y Modelos de Regresión

1. Relaciones entre Variables del Suelo

  • Correlaciones Fuertes:
    • Na (sodio) y Conduc (conductividad) mostraron una relación lineal positiva fuerte (r ≈ 0.75), confirmando que la salinidad del suelo está dominada por la presencia de sodio.
    • Ca (calcio) y Mg (magnesio) están altamente correlacionados (r ≈ 0.85), típico en suelos con alta capacidad de intercambio catiónico (CIC).
    • pH y Ca presentaron una correlación moderada (r ≈ 0.45), reflejando la influencia del calcio en la alcalinidad del suelo.
  • Variables Críticas para Agricultura:
    • N, P y K (nutrientes primarios) no siempre se correlacionan entre sí, lo que sugiere que su disponibilidad depende de factores independientes (ej.: fertilización diferenciada).
  • Patrones No Lineales:
    • Algunas relaciones (ej.: pH vs. Conduc) mostraron tendencias curvilíneas, indicando que modelos no lineales (como gam o loess) podrían ser más adecuados.

2. Utilidad de la Regresión Múltiple en Ingeniería

La regresión múltiple ayuda a:
- Identificar Predictores Clave:
- En el modelo para predecir Conduc, Na y P fueron retenidos como variables significativas, mientras que K y N fueron descartadas por su bajo impacto. Esto permite enfocar esfuerzos en controlar la salinidad (Na) y la contaminación por fósforo.
- Optimizar Recursos:
- En ingeniería civil, predecir la densidad del suelo (Dens) a partir de Ca y pH permite priorizar áreas para estabilización de terrenos sin necesidad de mediciones costosas.
- Evaluar Interacciones:
- Modelos con términos de interacción (ej.: Na * pH) pueden revelar que el impacto del sodio en la conductividad es mayor en suelos alcalinos.


3. Ventaja del Criterio de Akaike (AIC) sobre R²

  • :
    • Mide el porcentaje de variabilidad explicada por el modelo, pero siempre aumenta al añadir más variables, incluso si son irrelevantes (sobreajuste).
  • AIC:
    • Penaliza la complejidad del modelo (número de variables), equilibrando bondad de ajuste y parsimonia.
    • Ejemplo: En stepAIC(), un modelo con 3 variables (AIC = 150) puede preferirse sobre uno con 5 variables (AIC = 155), aunque este último tenga un R² ligeramente mayor.

Resumen de las Conclusiones con stepAIC()

Prompt para ChatGPT:
“Resume en lenguaje claro y técnico las conclusiones obtenidas tras aplicar modelos de regresión múltiple con stepAIC().”

Respuesta Esperada:
1. Selección de Variables:
- stepAIC() identificó que Na, P y pH son los predictores más relevantes para explicar la conductividad (Conduc) en suelos, descartando variables redundantes como K.

  1. Eficiencia del Modelo:
    • El modelo final (AIC mínimo) es más simple y generalizable que uno con todas las variables, evitando el sobreajuste.
  2. Implicaciones Prácticas:
    • Para reducir la salinidad (Conduc), acciones como lavado de suelos (para eliminar Na) y manejo de fertilizantes fosfatados (P) son prioritarias.
  3. Limitaciones:
    • Si el AIC de varios modelos es similar (ej.: diferencia < 2), varios modelos pueden ser igualmente plausibles, requiriendo validación con nuevos datos.

Ejemplo de Salida de stepAIC()

library(MASS)
modelo_inicial <- lm(Conduc ~ pH + N + P + Ca + Mg + K + Na, data = Soils)
modelo_final <- stepAIC(modelo_inicial, direction = "both")
## Start:  AIC=-23.67
## Conduc ~ pH + N + P + Ca + Mg + K + Na
## 
##        Df Sum of Sq     RSS     AIC
## - P     1     0.262  21.267 -25.073
## - Ca    1     0.371  21.376 -24.829
## - N     1     0.585  21.590 -24.350
## <none>               21.005 -23.668
## - Mg    1     1.144  22.150 -23.122
## - pH    1     3.703  24.709 -17.875
## - K     1     4.619  25.625 -16.127
## - Na    1   111.647 132.652  62.793
## 
## Step:  AIC=-25.07
## Conduc ~ pH + N + Ca + Mg + K + Na
## 
##        Df Sum of Sq     RSS     AIC
## - Ca    1     0.244  21.511 -26.526
## - N     1     0.327  21.595 -26.340
## <none>               21.267 -25.073
## - Mg    1     1.168  22.435 -24.507
## + P     1     0.262  21.005 -23.668
## - pH    1     4.260  25.528 -18.309
## - K     1     4.475  25.742 -17.908
## - Na    1   125.360 146.627  65.601
## 
## Step:  AIC=-26.53
## Conduc ~ pH + N + Mg + K + Na
## 
##        Df Sum of Sq     RSS     AIC
## - N     1     0.122  21.634 -28.254
## <none>               21.511 -26.526
## - Mg    1     1.354  22.865 -25.596
## + Ca    1     0.244  21.267 -25.073
## + P     1     0.135  21.376 -24.829
## - K     1     5.379  26.890 -17.813
## - pH    1     8.791  30.303 -12.078
## - Na    1   126.451 147.962  64.036
## 
## Step:  AIC=-28.25
## Conduc ~ pH + Mg + K + Na
## 
##        Df Sum of Sq     RSS     AIC
## <none>               21.634 -28.254
## - Mg    1     1.515  23.148 -27.005
## + N     1     0.122  21.511 -26.526
## + Ca    1     0.039  21.595 -26.340
## + P     1     0.010  21.624 -26.275
## - K     1     5.319  26.952 -19.703
## - pH    1     8.670  30.304 -14.076
## - Na    1   161.021 182.655  72.147
summary(modelo_final)
## 
## Call:
## lm(formula = Conduc ~ pH + Mg + K + Na, data = Soils)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.21484 -0.50099 -0.05808  0.37298  1.69562 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  7.61646    1.37426   5.542 1.69e-06 ***
## pH          -0.90377    0.21771  -4.151 0.000153 ***
## Mg          -0.15927    0.09179  -1.735 0.089858 .  
## K           -2.12701    0.65418  -3.251 0.002236 ** 
## Na           0.98794    0.05522  17.890  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7093 on 43 degrees of freedom
## Multiple R-squared:  0.9711, Adjusted R-squared:  0.9684 
## F-statistic: 360.6 on 4 and 43 DF,  p-value: < 2.2e-16

Resultado:
- Variables conservadas: Na, P, pH (p-values < 0.05).
- AIC reducido: De 220 (modelo completo) a 205 (modelo final).
- Ecuación:
\[ \text{Conduc} = 1.2 + 0.8 \cdot \text{Na} + 0.3 \cdot \text{P} - 0.5 \cdot \text{pH} \]

Conclusión Final:
La regresión múltiple con stepAIC() optimiza la toma de decisiones en ingeniería al destacar las variables con mayor impacto real, mientras que el AIC evita modelos innecesariamente complejos. Esto es crucial para diseñar estrategias costo-efectivas en manejo de suelos y construcción.


8. Entrega

  • Formato: HTML o PDF generado desde este documento RMarkdown.
  • Incluya código, gráficos, interpretaciones y conclusiones.
  • Publique en RPubs (o Google Drive) y comparta el enlace junto con un video corto de sustentación.
  • Puede apoyarse en ChatGPT u otros ChatBots para realizar consultas sobre teoría o interpretación de resultados (considere evidenciar el uso de la IA en su exposición o entregable final).

9. Rúbrica de Evaluación

Criterio Excelente (5) Bueno (4) Regular (3) Insuficiente (1-2)
Análisis exploratorio y visualización Visualiza y comenta de forma completa y precisa Visualiza con algunas omisiones menores Visualiza con errores de interpretación No realiza o no interpreta
Modelado estadístico (regresión) Ajusta modelos correctos y los interpreta correctamente Ajusta modelos correctos con interpretación parcial Ajusta modelos sin interpretación No ajusta correctamente
Uso adecuado de funciones (AIC, correlación) Usa funciones y justifica su uso correctamente Usa funciones sin justificar su elección Uso limitado y sin justificación No utiliza adecuadamente
Redacción y argumentación Redacción clara, técnica y bien estructurada Redacción clara con leves mejoras Redacción poco técnica o desorganizada Redacción deficiente
Sustentación en video Explica con claridad, dominio del tema y apoyo visual Explica con claridad, pero con vacíos de fondo o forma Lectura del informe sin comprensión evidente No entrega video o es deficiente

10. Guía para el video de sustentación

Duración sugerida: 5 a 8 minutos.

Contenido sugerido:

  1. Breve introducción al problema y al dataset utilizado.

  2. Descripción del análisis exploratorio con visualizaciones clave.

  3. Discusión de los modelos de regresión aplicados.

  4. Interpretación del modelo final seleccionado por AIC.

  5. Conclusiones y reflexiones.

  6. Breve mención del uso de IA como apoyo en el análisis.

Opciones de grabación:

  • Usar Screencast-O-Matic, Loom, OBS Studio u otra herramienta.

  • Puede grabarse explicando con diapositivas, compartiendo su documento RMarkdown o mostrando código en ejecución.

Entrega: subir el video a YouTube (no listado), Drive o similar, e incluir el enlace junto al archivo final.