Código
replicate(n = 3, expr = {
<- sample(letters, 2)
v1 <- runif(3)
v2 <- list(v1, v2)
l1
},simplify = FALSE)
12 de diciembre de 2024
Introducción a R (Parte I) tutorial
Introducción a R (Parte II) tutorial
Simulación de Datos con Patrones Predefinidostutorial
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
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)
Cree 100 replicas aleatorias del conjunto de datos del punto 1.
Pista:
Regresión lineal simple tutorial
Regresión Múltiple e Interacciones tutorial
Regresión Logística tutorial
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.
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.
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.
Métodos de Remuestreo y Evaluación de Modelos (Parte I) tutorial
Evaluación de Modelos (Parte II) tutorial
Métodos Basados en Árboles tutorial
Explorar Espacios Multidimensionales: Reducción de Dimensionalidad
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:
'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 ...
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.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
):
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.
Compare los modelos generados en los puntos 2 y 4. ¿Cual modelo parece tener un mejor desempeño? ¿Por qué?
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?
Cortez, P., & Silva, A.M. (2008). Using data mining to predict secondary school student performance. (enlace)
Redes Neuronales y Deep Learning (Parte I)
Redes Neuronales y Deep Learning (Parte II)
Regularización y Generalización
Aprendizaje No Supervisado: Clustering