Fecha de publicación

12 de diciembre de 2024


Antes de empezar el curso

  • Asegurese de instalar los paquetes necesarios para el curso detallados aqui.

Día 1

Introducción a R (Parte I) tutorial

  • Introducción al aprendizaje estadístico
  • Instalación de R y RStudio
  • Navegación en el entorno de RStudio
  • Estructuras de datos básicas: vectores, matrices y listas
  • Operaciones básicas y funciones en R

Recursos adicionales

Día 2

Introducción a R (Parte II) tutorial

  • Manejo de data frames y matrices
  • Filtrado, ordenamiento y resumen de datos
  • Visualización básica de datos con gráficos base
  • Creación de gráficos personalizados

Día 3

Simulación de Datos con Patrones Predefinidostutorial

  • Introducción a la simulación de datos y su importancia
  • Generación de datos con distribuciones específicas (normal, uniforme, etc.)
  • Creación de datos con correlaciones y estructuras de dependencia
  • Generación de datos categóricos y con ruido controlado

Recursos adicionales

Tarea 1

Fecha de entrega: 10 de septiembre

Deben subir a mediación virtual el código con las respuestas en un archivo .R, .Rmd o .qmd

  1. Genere un conjunto de datos con 100 observaciones y 5 variables, donde una de ellas sea una variable categórica con 3 niveles. Cada variable cuantitativa debe ser generada con una distriución diferente (e.g. normal,log-normal, gamma, etc)

  2. Cree 100 replicas aleatorias del conjunto de datos del punto 1.

Pista:

Código
replicate(n = 3, expr = {
  v1 <- sample(letters, 2)
  v2 <- runif(3)
  l1 <- list(v1, v2)
},
simplify = FALSE)

Día 4

Regresión lineal simple tutorial

  • Conceptos básicos de regresión lineal simple
  • Ajuste de modelos y interpretación de coeficientes
  • Evaluación del modelo: R² y error cuadrático medio (MSE)
  • Diagnóstico de supuestos y multicolinealidad
  • Tamaño de muestra y poder estadístico

Día 5

Regresión Múltiple e Interacciones tutorial

  • Introducción a la regresión múltiple
  • Modelado con variables categóricas mediante variables ficticias
  • Interacciones entre variables y su interpretación
  • Evaluación y diagnóstico de modelos avanzados

Día 6

Regresión Logística tutorial

  • Introducción a la clasificación y problemas de clasificación
  • Regresión logística, uso e interpretación
  • Predicciones a partir de un modelo
  • Regresión multinomial
  • Análisis de función discriminante

Recursos adicionales

Tarea 2

  1. Investigue el efecto del tamaño de muestra en la estimación de parámetros de un modelo de regresión lineal simple. ¿Qué sucede con la precisión de los coeficientes a medida que aumenta el tamaño de muestra?. Genere gŕaficos de tamano de muestra (de 5 a 100 observaciones) vs. la distancia entre coeficientes estimados y simulados y explique sus observaciones.

  2. Investigue el efecto de la multicolinealidad en la estimación de parámetros de un modelo de regresión lineal múltiple. ¿Qué sucede con la precisión de los coeficientes a medida que aumenta la correlación entre variables?. Genere gŕaficos de correlación (de 0 a 0.9) vs. la distancia entre coeficientes estimados y simulados y explique sus observaciones.

  3. Haga el mismo ejercicio para un modelo de regresión logística y evalúe el efecto de la multicolinealidad en la estimación de coeficientes y la precisión del modelo.

Día 7

Métodos de Remuestreo y Evaluación de Modelos (Parte I) tutorial

  • Validación cruzada y técnicas de remuestreo
  • Uso de validación cruzada para evaluar modelos
  • Medidas de evaluación: matriz de confusión, precisión, recall, índice F1

Día 8

Evaluación de Modelos (Parte II) tutorial

  • Validación cruzada y división de conjuntos de datos
  • Curvas ROC y AUC: interpretación y uso
  • Análisis de errores y ajuste de modelos
  • Comparación y selección de modelos

Día 9

Métodos Basados en Árboles tutorial

  • Árboles de decisión: construcción e interpretación
  • Random forest: fundamentos y aplicaciones
  • Evaluación de modelos de árboles y comparación con otros métodos

Recursos adicionales

Día 10

Explorar Espacios Multidimensionales: Reducción de Dimensionalidad

  • Introducción a la reducción de dimensionalidad y su necesidad
  • Análisis de Componentes Principales (PCA): teoría y aplicación
  • Visualización de datos en espacios reducidos
  • Comparación con otros métodos como t-SNE

Tarea 3

Usaremos los datos de Cortez y Silva (2008) sobre el desempeño académico de estudiantes en la clase de matemáticas. Los datos contienen 395 observaciones y 31 variables. La variable respuesta es G3 (calificación final), y las variables predictoras son las demás variables del conjunto de datos. Pueden econtrar una descripción detallada de los datos aqui. El siguiente código carga los datos y remueve las variables G1 y G2 (calificaciones parciales) para evitar multicolinealidad:

Código
# leer datos
datos_mate <- read.csv("https://raw.githubusercontent.com/maRce10/aprendizaje_estadistico_2024/refs/heads/master/data/student/student-mat.csv", sep = ";")

# remover G1 y G2 (calificaciones parciales)
datos_mate$G1 <- datos_mate$G2 <- NULL

str(datos_mate)
'data.frame':   395 obs. of  31 variables:
 $ school    : chr  "GP" "GP" "GP" "GP" ...
 $ sex       : chr  "F" "F" "F" "F" ...
 $ age       : int  18 17 15 15 16 16 16 17 15 15 ...
 $ address   : chr  "U" "U" "U" "U" ...
 $ famsize   : chr  "GT3" "GT3" "LE3" "GT3" ...
 $ Pstatus   : chr  "A" "T" "T" "T" ...
 $ Medu      : int  4 1 1 4 3 4 2 4 3 3 ...
 $ Fedu      : int  4 1 1 2 3 3 2 4 2 4 ...
 $ Mjob      : chr  "at_home" "at_home" "at_home" "health" ...
 $ Fjob      : chr  "teacher" "other" "other" "services" ...
 $ reason    : chr  "course" "course" "other" "home" ...
 $ guardian  : chr  "mother" "father" "mother" "mother" ...
 $ traveltime: int  2 1 1 1 1 1 1 2 1 1 ...
 $ studytime : int  2 2 2 3 2 2 2 2 2 2 ...
 $ failures  : int  0 0 3 0 0 0 0 0 0 0 ...
 $ schoolsup : chr  "yes" "no" "yes" "no" ...
 $ famsup    : chr  "no" "yes" "no" "yes" ...
 $ paid      : chr  "no" "no" "yes" "yes" ...
 $ activities: chr  "no" "no" "no" "yes" ...
 $ nursery   : chr  "yes" "no" "yes" "yes" ...
 $ higher    : chr  "yes" "yes" "yes" "yes" ...
 $ internet  : chr  "no" "yes" "yes" "yes" ...
 $ romantic  : chr  "no" "no" "no" "yes" ...
 $ famrel    : int  4 5 4 3 4 5 4 4 4 5 ...
 $ freetime  : int  3 3 3 2 3 4 4 1 2 5 ...
 $ goout     : int  4 3 2 2 2 2 4 4 2 1 ...
 $ Dalc      : int  1 1 2 1 1 1 1 1 1 1 ...
 $ Walc      : int  1 1 3 1 2 2 1 1 1 1 ...
 $ health    : int  3 3 3 5 5 5 3 1 1 5 ...
 $ absences  : int  6 4 10 2 4 10 0 6 0 0 ...
 $ G3        : int  6 6 10 15 10 15 11 6 19 15 ...
  1. Ajuste un modelo de regresión lineal con los datos de datos_mate donde la variable respuesta sea G3. Utilice su conocimiento del sistema (como estudiante) para escoger las variables predictoras que usted espere tengan un mayor efecto sobre el desempeño académico. Calcule el R2 para este modelo.
  1. Ajuste un modelo de regresión multinomial análogo al del punto anterior (e.g. mismos predictores y misma respuesta).
  1. Calcule la matriz de confusión, la exactitud, el área bajo la curva y pérdida logarítmica para el modelo del punto anterior.

El siguiente código binariza la variable respuesta G3. Si la calificación es menor a 9, se considera que el estudiante reprobó (Reprobado), de lo contrario, se considera que aprobó (Aprobado):

Código
datos_mate$G3_bin <- ifelse(datos_mate$G3 < 9, 0, 1) 
  1. Utilizando la variable binaria G3_bin como respuesta, ajuste un modelo de regresión logística con las mismas variables predictoras que el modelo ajustado en el punto 2.

5.Calcule la matriz de confusión, la exactitud, precisión, indice F1, area bajo la curva y pérdida logarítmica para el modelo del punto anterior.

  1. Compare los modelos generados en los puntos 2 y 4. ¿Cual modelo parece tener un mejor desempeño? ¿Por qué?

  2. Explore la sensibilidad de los modelos multinomial (punto 2) y logístico (punto 4). Para esto puede simplemente imprimir en la consola el resultado de la función confusionMatrix. ¿Cómo difieren los valores y la forma en que estos se estructuran entre los 2 modelos?

Referencia

Cortez, P., & Silva, A.M. (2008). Using data mining to predict secondary school student performance. (enlace)

Recursos adicionales

Día 11

Redes Neuronales y Deep Learning (Parte I)

  • Estructura de una red neuronal: neuronas, capas y activación
  • Entrenamiento de redes neuronales: forward y backpropagation
  • Introducción a Deep Learning y redes neuronales profundas
  • Aplicaciones y casos de uso en el mundo real

Día 12

Redes Neuronales y Deep Learning (Parte II)

  • Capas convolucionales y redes neuronales convolucionales (CNNs)
  • Redes neuronales recurrentes (RNNs) y LSTM
  • Técnicas de optimización y regularización
  • Casos de estudio y aplicaciones en visión por computadora y procesamiento de lenguaje natural

Recursos adicionales

Día 13

Regularización y Generalización

  • Conceptos de sobreajuste y subajuste
  • Regularización: Lasso, Ridge y Elastic Net
  • Validación cruzada y selección de hiperparámetros
  • Impacto de la regularización en el aprendizaje estadístico

Día 14

Aprendizaje No Supervisado: Clustering

  • Conceptos básicos de clustering y su importancia
  • Método k-means: algoritmos y aplicaciones
  • Clustering jerárquico: construcción de dendrogramas
  • Evaluación de clusters: índice de Silhouette y coeficiente de Rand

Recursos adicionales