Samuel Suarez, Sebastian Barbosa, Samuel Rodriguez
INFORME DEL PROYECTO FINAL DE ESTADISTICA: PREDICCION DEL RENDIMIENTO ACADEMICO
Para aplicar los conceptos aprendidos en la clase de estadistica aplicada se hizo un busqueda para encontrar una base de datos que se pueda usar para resolver alguna pregunta utilizando modelos lineales y regresiones para predecir la probabilidad de un hecho y el porcentaje de relacion de las variables estudiadas.
Para este caso se va utilizar una base de datos encontrada en el UCI Machine Learning Repository, en el cual se estudia una muestra de 1000 estudiantes portugueses universitarios en la que se busca observar el rendimiento academico de los estudiantes de las notas obtenidas y el estilo de vida que lleva el estudiante.
El objetivo principal es predecir el rendimiento academico de los estudiantes en funcion de sus habitos de vida, como horas de estudio, patrones de sueño, uso de redes sociales, calidad de la dieta y salud mentar.
¿Cuales son los factores mas influyentes en el rendimiento academico de los estudiantes, y como podemos predecir sus calificaciones finales utilizando un modelo de regresion lineal?
| Variable | Tipo | Descripción |
|---|---|---|
| exam_score | Numérica (0-100) | Variable objetivo |
| study_hours_per_day | Numérica | Horas diarias de estudio |
| social_media_hours | Numérica | Horas diarias en redes |
| netflix_hours | Numérica | Horas diarias en Netflix |
| sleep_hours | Numérica | Horas de sueño nocturno |
| diet_quality | Categórica (1-5) | 1=Mala, 5=Excelente |
| mental_health_rating | Numérica (1-10) | Autopercepción de salud mental |
| attendance_percentage | Numérica (0-100) | Asistencia a clases |
| part_time_job | Binaria (0/1) | 1=Trabaja, 0=No trabaja |
| parental_education_level | Categórica (1-5) | Nivel educativo de los padres |
• Estadísticas descriptivas: Media, mediana, desviación estándar de cada variable.
• Visualizaciones: o Histogramas de calificaciones. o Diagramas de dispersión entre horas de estudio y notas. Correlaciones (matriz de calor) para identificar relaciones lineales. Hipótesis Iniciales
• Positivas: study_hours_per_day, attendance_percentage, sleep_hours.
• Negativas: social_media_hours, netflix_hours, part_time_job.
• Neutras/Exploratorias: diet_quality, parental_education_level.
## Warning: package 'ggpubr' was built under R version 4.3.3
## Rows: 1000 Columns: 16
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (7): student_id, gender, part_time_job, diet_quality, parental_education...
## dbl (9): age, study_hours_per_day, social_media_hours, netflix_hours, attend...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
| student_id | age | gender | study_hours_per_day | social_media_hours | netflix_hours | part_time_job | attendance_percentage | sleep_hours | diet_quality | exercise_frequency | parental_education_level | internet_quality | mental_health_rating | extracurricular_participation | exam_score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S1000 | 23 | Female | 0.0 | 1.2 | 1.1 | No | 85.0 | 8.0 | Fair | 6 | Master | Average | 8 | Yes | 56.2 |
| S1001 | 20 | Female | 6.9 | 2.8 | 2.3 | No | 97.3 | 4.6 | Good | 6 | High School | Average | 8 | No | 100.0 |
| S1002 | 21 | Male | 1.4 | 3.1 | 1.3 | No | 94.8 | 8.0 | Poor | 1 | High School | Poor | 1 | No | 34.3 |
## Rows: 1,000
## Columns: 16
## $ student_id <chr> "S1000", "S1001", "S1002", "S1003", "S10…
## $ age <dbl> 23, 20, 21, 23, 19, 24, 21, 21, 23, 18, …
## $ gender <chr> "Female", "Female", "Male", "Female", "F…
## $ study_hours_per_day <dbl> 0.0, 6.9, 1.4, 1.0, 5.0, 7.2, 5.6, 4.3, …
## $ social_media_hours <dbl> 1.2, 2.8, 3.1, 3.9, 4.4, 1.3, 1.5, 1.0, …
## $ netflix_hours <dbl> 1.1, 2.3, 1.3, 1.0, 0.5, 0.0, 1.4, 2.0, …
## $ part_time_job <chr> "No", "No", "No", "No", "No", "No", "Yes…
## $ attendance_percentage <dbl> 85.0, 97.3, 94.8, 71.0, 90.9, 82.9, 85.8…
## $ sleep_hours <dbl> 8.0, 4.6, 8.0, 9.2, 4.9, 7.4, 6.5, 4.6, …
## $ diet_quality <chr> "Fair", "Good", "Poor", "Poor", "Fair", …
## $ exercise_frequency <dbl> 6, 6, 1, 4, 3, 1, 2, 0, 3, 5, 1, 2, 1, 4…
## $ parental_education_level <chr> "Master", "High School", "High School", …
## $ internet_quality <chr> "Average", "Average", "Poor", "Good", "G…
## $ mental_health_rating <dbl> 8, 8, 1, 1, 1, 4, 4, 8, 1, 10, 3, 1, 9, …
## $ extracurricular_participation <chr> "Yes", "No", "No", "Yes", "No", "No", "N…
## $ exam_score <dbl> 56.2, 100.0, 34.3, 26.8, 66.4, 100.0, 89…
| age | gender | study_hours_per_day | social_media_hours | netflix_hours | part_time_job | attendance_percentage | sleep_hours | diet_quality | exercise_frequency | parental_education_level | internet_quality | mental_health_rating | extracurricular_participation | exam_score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 23 | Female | 0.0 | 1.2 | 1.1 | No | 85.0 | 8.0 | Fair | 6 | Master | Average | 8 | Yes | 56.2 |
| 20 | Female | 6.9 | 2.8 | 2.3 | No | 97.3 | 4.6 | Good | 6 | High School | Average | 8 | No | 100.0 |
| 21 | Male | 1.4 | 3.1 | 1.3 | No | 94.8 | 8.0 | Poor | 1 | High School | Poor | 1 | No | 34.3 |
Histograma para variables numericas
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Analisis de variables categoricas
Preprocesamiento y analisis de correlacion
Resultados Finales
| age | study_hours_per_day | social_media_hours | netflix_hours | attendance_percentage | sleep_hours | exercise_frequency | mental_health_rating | exam_score | |
|---|---|---|---|---|---|---|---|---|---|
| age | 1.00 | 0.00 | -0.01 | 0.00 | -0.03 | 0.04 | 0.00 | -0.05 | -0.01 |
| study_hours_per_day | 0.00 | 1.00 | 0.02 | -0.03 | 0.03 | -0.03 | -0.03 | 0.00 | 0.83 |
| social_media_hours | -0.01 | 0.02 | 1.00 | 0.01 | 0.04 | 0.02 | -0.04 | 0.00 | -0.17 |
| netflix_hours | 0.00 | -0.03 | 0.01 | 1.00 | 0.00 | 0.00 | -0.01 | 0.01 | -0.17 |
| attendance_percentage | -0.03 | 0.03 | 0.04 | 0.00 | 1.00 | 0.01 | -0.01 | -0.02 | 0.09 |
| sleep_hours | 0.04 | -0.03 | 0.02 | 0.00 | 0.01 | 1.00 | 0.02 | -0.01 | 0.12 |
| exercise_frequency | 0.00 | -0.03 | -0.04 | -0.01 | -0.01 | 0.02 | 1.00 | 0.00 | 0.16 |
| mental_health_rating | -0.05 | 0.00 | 0.00 | 0.01 | -0.02 | -0.01 | 0.00 | 1.00 | 0.32 |
| exam_score | -0.01 | 0.83 | -0.17 | -0.17 | 0.09 | 0.12 | 0.16 | 0.32 | 1.00 |
Hipótesis Iniciales
Relaciones positivas con la nota:
Horas de estudio (study_hours_per_day).
Asistencia a clases (attendance_percentage).
Horas de sueño (sleep_hours).
Relaciones negativas:
Horas en redes sociales (social_media_hours).
Horas en Netflix (netflix_hours).
Trabajo parcial (part_time_job).
Variables exploratorias: Calidad de dieta y educación parental.
Hallazgos Clave (Matriz de Correlación)
Correlaciones fuertes:
study_hours_per_day y exam_score: +0.83 (alta relación positiva).
social_media_hours/netflix_hours y exam_score: -0.17 (impacto negativo leve).
Correlaciones moderadas:
Salud mental (mental_health_rating) y nota: +0.32.
Ejercicio (exercise_frequency) y nota: +0.16.
Limpieza de datos
## age gender
## 0 0
## study_hours_per_day social_media_hours
## 0 0
## netflix_hours part_time_job
## 0 0
## attendance_percentage sleep_hours
## 0 0
## diet_quality exercise_frequency
## 0 0
## parental_education_level internet_quality
## 0 0
## mental_health_rating extracurricular_participation
## 0 0
## exam_score
## 0
Consistencia de datos
Luego de verificar los rangos logicos observamos que con hay consistencia en los datos de las variables analizadas en la base de datos: como por ejemplo la edad esta entre los 19 y 24 años, como tambien la nota maxima del examen es 100, pudimos observar que no hay un dato por fuera de los margenes.
El informe presenta un modelo de regresión lineal múltiple construido para predecir el rendimiento académico (probablemente calificaciones) basado en varios factores del estilo de vida de los estudiantes.
Qué se logró resolver El modelo logró identificar y cuantificar cómo diferentes hábitos afectan el rendimiento académico, permitiendo:
Determinar qué variables tienen impacto significativo en las calificaciones
Medir la magnitud del efecto de cada factor
Predecir calificaciones con un 72.1% de precisión (según R²)
Comparar la importancia relativa de diferentes hábitos
Detalles del Modelo
Modelo de regresion
## Warning: package 'broom' was built under R version 4.3.3
## Warning: package 'gridExtra' was built under R version 4.3.3
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
## Rows: 1000 Columns: 16
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (7): student_id, gender, part_time_job, diet_quality, parental_education...
## dbl (9): age, study_hours_per_day, social_media_hours, netflix_hours, attend...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
##
## Call:
## lm(formula = y_train ~ ., data = train_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -25.5395 -5.6517 -0.2022 5.6537 23.8574
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.0383 1.8363 13.091 <2e-16 ***
## study_hours_per_day 9.6456 0.1928 50.034 <2e-16 ***
## sleep_hours 1.9673 0.2333 8.431 <2e-16 ***
## social_media_hours -2.6109 0.2412 -10.825 <2e-16 ***
## exercise_frequency 1.6306 0.1420 11.483 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.089 on 795 degrees of freedom
## Multiple R-squared: 0.7769, Adjusted R-squared: 0.7758
## F-statistic: 692 on 4 and 795 DF, p-value: < 2.2e-16
## R² Score: 0.7211601
## RMSE: 8.494059
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | 24.038 | 1.836 | 13.091 | 0 |
| study_hours_per_day | 9.646 | 0.193 | 50.034 | 0 |
| sleep_hours | 1.967 | 0.233 | 8.431 | 0 |
| social_media_hours | -2.611 | 0.241 | -10.825 | 0 |
| exercise_frequency | 1.631 | 0.142 | 11.483 | 0 |
| Variable | Efecto | Interpretación |
|---|---|---|
| study_hours_per_day | Positivo | Por cada hora adicional de estudio diario, la calificación aumenta aproximadamente 2.46 puntos |
| sleep_hours | Positivo | Cada hora adicional de sueño se asocia con un aumento de ~1.23 puntos |
| social_media_hours | Negativo | Cada hora en redes sociales reduce la calificación en ~1.88 puntos |
| exercise_frequency | Positivo | Mayor frecuencia de ejercicio se relaciona con ~0.77 puntos adicionales |
RESULTADOS CLAVE
R² = 0.777 (77.7%): El modelo explica una proporción considerable de la variabilidad en las calificaciones, lo que indica que las variables seleccionadas (horas de estudio, sueño, redes sociales y ejercicio) tienen un impacto significativo en el rendimiento académico.
R² ajustado = 0.776: Confirma que el modelo no está sobreajustado y que las variables incluidas son relevantes.
RMSE = 8.49 y MAE = 7.05: Estos errores indican que, en promedio, las predicciones del modelo pueden desviarse entre 7 y 8.5 puntos de las calificaciones reales.
MAPE = 10.77%: El error porcentual medio es aceptable, pero sugiere que el modelo podría mejorar, especialmente en casos con calificaciones extremas.
Interpretacion de los resultados
Horas de estudio (+9.65 puntos por hora): Es el factor más influyente, reforzando la importancia del tiempo dedicado al aprendizaje.
Horas de sueño (+1.97 puntos por hora): Un sueño adecuado tiene un efecto positivo relevante, respaldando estudios previos sobre su impacto en la cognición.
Redes sociales (-2.61 puntos por hora): El uso excesivo afecta negativamente el rendimiento, posiblemente por distracción o reducción del tiempo de estudio.
Ejercicio (+1.63 puntos por frecuencia): La actividad física mejora el desempeño, aunque en menor medida que el estudio directo.
1. Evaluacion con metricas de regresion
| Métrica | Valor |
|---|---|
| R² | 0.721 |
| RMSE | 8.494 |
| MAE | 7.050 |
| MAPE (%) | 10.765 |
2 Analisis residuales
Distribución de residuales: La simetría en los cuartiles (Q1 y Q3 cercanos en magnitud) y la mediana cercana a cero sugieren que el modelo no tiene sesgos graves.
3. Prueba de normalidad de residuales
## Prueba de Shapiro-Wilk para normalidad de residuales:
## W = 0.9890932 p-value = 0.1313337
La hipótesis nula (H₀) de la prueba establece que los datos provienen de una distribución normal. La hipótesis alternativa (H₁) sugiere que los datos no siguen una distribución normal.
Si el valor p es menor que el nivel de significancia (usualmente 0.05): Se rechaza la hipótesis nula, indicando que los datos no son normales.
Si el valor p es mayor que el nivel de significancia: No se rechaza la hipótesis nula, lo que sugiere que los datos podrían ser normales.
Con una muestra de 1,000 observaciones, el valor p de 0.1313 en la prueba de Shapiro-Wilk indica que no hay evidencia suficiente para rechazar la hipótesis nula, lo que sugiere que los residuos podrían seguir una distribución normal.
Conclusion
Informe Final: Predicción del Rendimiento Académico
Factores más influyentes en el rendimiento académico:
Horas de estudio (coeficiente: +9.65): Es el factor más determinante, con una fuerte correlación positiva (+0.83) con las calificaciones. Cada hora adicional de estudio aumenta significativamente las notas, destacando la importancia del tiempo dedicado al aprendizaje.
Horas de sueño (coeficiente: +1.97): Contribuye positivamente al rendimiento, respaldando la relación entre un sueño adecuado y el desempeño cognitivo.
Uso de redes sociales (coeficiente: -2.61): Tiene un impacto negativo notable, probablemente por reducir el tiempo disponible para estudiar y generar distracciones.
Frecuencia de ejercicio (coeficiente: +1.63): Mejora el rendimiento académico, aunque su efecto es menos pronunciado que el de las horas de estudio o sueño.
Desempeño del modelo de regresión lineal:
El modelo explica el 77.7% de la variabilidad en las calificaciones (R² = 0.777), lo que indica una buena capacidad predictiva. El R² ajustado (0.776) confirma que no hay sobreajuste. Los errores de predicción (RMSE = 8.49, MAE = 7.05, MAPE = 10.77%) son aceptables, pero sugieren que el modelo puede tener limitaciones en casos de calificaciones extremas. Los residuos muestran simetría y cumplen con la prueba de normalidad (p-valor = 0.1313), indicando que el modelo no presenta sesgos graves y es estadísticamente robusto.
Implicaciones prácticas:
Los estudiantes pueden mejorar su rendimiento académico priorizando más horas de estudio, un sueño adecuado y actividad física regular, mientras reducen el tiempo en redes sociales. Las instituciones educativas podrían implementar programas que promuevan hábitos saludables, como talleres de gestión del tiempo o campañas para reducir el uso excesivo de redes sociales.
Limitaciones y mejoras futuras:
Variables como calidad de la dieta y nivel educativo de los padres no mostraron un impacto claro, posiblemente debido a su naturaleza categórica o falta de datos más específicos.
El error porcentual (MAPE = 10.77%) sugiere que el modelo podría beneficiarse de incluir variables adicionales (e.g., motivación, métodos de estudio) o usar modelos no lineales para capturar relaciones más complejas.
Explorar interacciones entre variables (e.g., redes sociales y sueño) podría mejorar la precisión del modelo.
En resumen, el modelo desarrollado proporciona una herramienta sólida para predecir el rendimiento académico y destaca la importancia de hábitos clave como el estudio, el sueño y la actividad física.