Análisis Exploratorio de Datos: Psicología Educativa

Author

Jerick Castro & Lorena Tovar

1. Contextualización de la base de datos y variables

El presente análisis explora un conjunto de datos sobre psicología educativa. El objetivo es realizar un análisis descriptivo básico para entender las características de los estudiantes y las relaciones entre variables como el rendimiento académico, el apoyo familiar, el nivel de autoestima y el uso de redes sociales. La base de datos contiene información sobre 100 estudiantes.

A continuación, se describen las variables presentes en el estudio:

  • edad: Edad del estudiante en años.
  • sexo: Género del estudiante (Femenino, Masculino, Otro).
  • grado: Nivel escolar del estudiante (de 6º a 11º).
  • rendimiento_academico: Calificación del rendimiento académico en una escala de 1 a 5.
  • apoyo_familiar: Percepción del apoyo familiar (Bajo, Medio, Alto).
  • nivel_autoestima: Puntuación del nivel de autoestima en una escala de 1 a 10.
  • uso_redes_sociales_diario: Horas diarias dedicadas al uso de redes sociales.
  • dificultades_aprendizaje: Indica si el estudiante tiene dificultades de aprendizaje (Sí/No).
  • participacion_clases: Nivel de participación en clases (Baja, Media, Alta).
  • asiste_psicologo_escolar: Indica si el estudiante asiste al psicólogo escolar (Sí/No).
  • satisfaccion_escolar: Nivel de satisfacción con la escuela en una escala de 1 a 10.

2. Características generales de la base de datos

La base de datos está compuesta por 100 observaciones (filas) y 11 variables (columnas). De estas, 5 son variables numéricas y 6 son categóricas.

Code
# Carga y muestra la tabla con la estructura general
import pandas as pd
df_estructura = pd.read_csv('output/estructura_general.csv')
print("Estructura General de la Base de Datos")
print(df_estructura.to_markdown(index=False))
Estructura General de la Base de Datos
| metrica     |   valor |
|:------------|--------:|
| Filas       |     100 |
| Columnas    |      11 |
| Numéricas   |       5 |
| Categóricas |       6 |

3. Análisis de variables según su tipo

Variables Numéricas

Se realizó un resumen estadístico de las variables numéricas para analizar su distribución, tendencia central y dispersión.

Code
# Carga y muestra el resumen de las variables numéricas
import pandas as pd
df_resumen_numericas = pd.read_csv('output/resumen_numericas.csv')
print("Resumen de Variables Numéricas")
# Formatear la tabla para mejor legibilidad
df_resumen_numericas = df_resumen_numericas.round(2)
print(df_resumen_numericas.to_markdown(index=False))
Resumen de Variables Numéricas
| variable                  |   n |   min |   q1 |   media |   mediana |   q3 |   max |   sd |
|:--------------------------|----:|------:|-----:|--------:|----------:|-----:|------:|-----:|
| edad                      | 100 |    11 |   13 |   14.74 |        14 |   17 |    18 | 2.29 |
| rendimiento_academico     | 100 |     1 |    2 |    3.24 |         3 |    4 |     5 | 1.38 |
| nivel_autoestima          | 100 |     1 |    3 |    5.61 |         6 |    8 |    10 | 3    |
| uso_redes_sociales_diario | 100 |     0 |    1 |    2.5  |         2 |    4 |     5 | 1.64 |
| satisfaccion_escolar      | 100 |     1 |    3 |    5.99 |         6 |    9 |    10 | 3    |

A continuación, se presentan los boxplots para visualizar la distribución de cada variable numérica.

Edad Rendimiento Académico
Nivel de Autoestima Uso de Redes Sociales
Satisfacción Escolar

Variables Categóricas

Para las variables categóricas, se calcularon las frecuencias absolutas y relativas.

Code
# Carga y muestra las frecuencias de variables categóricas
import pandas as pd
df_frecuencias = pd.read_csv('output/frecuencias_categoricas.csv')
df_frecuencias['prop'] = (df_frecuencias['prop'] * 100).map('{:,.2f}%'.format)
print("Frecuencias de Variables Categóricas")
print(df_frecuencias.to_markdown(index=False))
Frecuencias de Variables Categóricas
| variable                 | categoria   |   n | prop   |
|:-------------------------|:------------|----:|:-------|
| sexo                     | Femenino    |  51 | 51.00% |
| sexo                     | Masculino   |  42 | 42.00% |
| sexo                     | Otro        |   7 | 7.00%  |
| grado                    | 6º          |  17 | 17.00% |
| grado                    | 7º          |  17 | 17.00% |
| grado                    | 8º          |  20 | 20.00% |
| grado                    | 9º          |  18 | 18.00% |
| grado                    | 10º         |  13 | 13.00% |
| grado                    | 11º         |  15 | 15.00% |
| apoyo_familiar           | Bajo        |  34 | 34.00% |
| apoyo_familiar           | Medio       |  32 | 32.00% |
| apoyo_familiar           | Alto        |  34 | 34.00% |
| dificultades_aprendizaje | No          |  72 | 72.00% |
| dificultades_aprendizaje | Sí          |  28 | 28.00% |
| participacion_clases     | Baja        |  32 | 32.00% |
| participacion_clases     | Media       |  33 | 33.00% |
| participacion_clases     | Alta        |  35 | 35.00% |
| asiste_psicologo_escolar | No          |  75 | 75.00% |
| asiste_psicologo_escolar | Sí          |  25 | 25.00% |

Los gráficos de barras muestran la distribución de estas variables:

Género Grado Escolar
Apoyo Familiar Dificultades de Aprendizaje
Participación en Clases Asistencia al Psicólogo

4. Revisión de valores faltantes (NA)

Se verificó la presencia de valores ausentes en el conjunto de datos. No se encontraron valores faltantes en ninguna de las variables, lo que indica que la base de datos está completa.

Code
# Carga y muestra el conteo de NAs
import pandas as pd
df_na = pd.read_csv('output/na_por_variable.csv')
print("Conteo de Valores Faltantes por Variable")
print(df_na.to_markdown(index=False))
Conteo de Valores Faltantes por Variable
| variable                  |   n_na |
|:--------------------------|-------:|
| edad                      |      0 |
| sexo                      |      0 |
| grado                     |      0 |
| rendimiento_academico     |      0 |
| apoyo_familiar            |      0 |
| nivel_autoestima          |      0 |
| uso_redes_sociales_diario |      0 |
| dificultades_aprendizaje  |      0 |
| participacion_clases      |      0 |
| asiste_psicologo_escolar  |      0 |
| satisfaccion_escolar      |      0 |

5. Detección de valores atípicos

Se utilizó el método del rango intercuartílico (IQR) para identificar posibles valores atípicos en las variables numéricas.

Code
# Carga y muestra las reglas IQR
import pandas as pd
df_reglas_iqr = pd.read_csv('output/reglas_iqr.csv')
print("Reglas IQR para la Detección de Atípicos")
df_reglas_iqr = df_reglas_iqr.round(2)
print(df_reglas_iqr.to_markdown(index=False))
Reglas IQR para la Detección de Atípicos
| variable                  |   q1 |   q3 |   iqr |   lim_inf |   lim_sup |
|:--------------------------|-----:|-----:|------:|----------:|----------:|
| edad                      |   13 |   17 |     4 |       7   |      23   |
| rendimiento_academico     |    2 |    4 |     2 |      -1   |       7   |
| nivel_autoestima          |    3 |    8 |     5 |      -4.5 |      15.5 |
| uso_redes_sociales_diario |    1 |    4 |     3 |      -3.5 |       8.5 |
| satisfaccion_escolar      |    3 |    9 |     6 |      -6   |      18   |

Tras aplicar estas reglas, no se detectaron valores atípicos en ninguna de las variables numéricas analizadas.


6. Comentarios de resultados

Correlaciones y Relaciones

El análisis de correlación entre las variables numéricas revela algunas tendencias, aunque en general las correlaciones son débiles.

Matriz de pares de variables numéricas
  • Se observa una correlación positiva, aunque débil, entre la satisfacción escolar y el uso de redes sociales (Corr: 0.170).
  • El nivel de autoestima y el rendimiento académico también muestran una correlación positiva débil (Corr: 0.108).
  • Contrariamente a lo que se podría esperar, no se encontró una correlación fuerte entre el rendimiento académico y el uso diario de redes sociales (Corr: -0.072).

Rendimiento Académico, Apoyo Familiar y Participación

Se exploró cómo el apoyo familiar y la participación en clase se relacionan con el rendimiento académico.

Rendimiento por Apoyo Familiar Rendimiento por Participación
  • Apoyo Familiar: El gráfico de cajas muestra que la mediana del rendimiento académico es mayor en el grupo con apoyo familiar bajo. Este es un hallazgo contraintuitivo que podría merecer una investigación más profunda para entender si otras variables están influyendo en este resultado.
  • Participación en Clases: Se observa una tendencia más esperada. Los estudiantes con participación alta tienden a tener un rendimiento académico mayor, como lo indica la mediana del boxplot, que es la más alta de los tres grupos.

Conclusiones Generales

  1. Perfil del Estudiante: La muestra está balanceada en términos de género y apoyo familiar. La mayoría de los estudiantes no asisten al psicólogo escolar (75%) y no reportan tener dificultades de aprendizaje (72%).
  2. Relaciones Clave: Aunque las correlaciones numéricas son débiles, los análisis bivariados sugieren que la participación activa en clase está positivamente asociada con un mejor rendimiento. La relación entre apoyo familiar y rendimiento es inesperada y podría estar mediada por otros factores no considerados en este análisis.
  3. Calidad de los Datos: La base de datos está completa, sin valores faltantes, lo que aumenta la fiabilidad de los resultados de este análisis exploratorio.