1 Población

Este taller presenta un análisis estadístico sobre el rendimiento académico y hábitos de estudio de estudiantes universitarios. Se utilizan técnicas de muestreo probabilístico y análisis de estimadores para responder preguntas de investigación relevantes.

1.1 Pregunta de Investigación

¿Existe una relación significativa entre las horas de estudio semanales y el promedio académico de los estudiantes universitarios?

1.2 Generación de la Población

1.2.1 Creación de la Base de Datos

Generamos una población de 1000 estudiantes universitarios con las siguientes características:

# Crear población de 1000 estudiantes
n_poblacion = 1000

# Establecer semilla para reproducibilidad de la población
set.seed(1)

poblacion = data.frame(
  id = 1:n_poblacion,
  edad = round(rnorm(n_poblacion, mean = 20, sd = 2)),
  horas_estudio = round(pmax(0, rnorm(n_poblacion, mean = 15, sd = 5)), 1),
  promedio = round(pmax(0, pmin(5, rnorm(n_poblacion, mean = 3.5, sd = 0.6))), 2),
  genero = sample(c("M", "F"), n_poblacion, replace = TRUE),
  semestre = sample(1:10, n_poblacion, replace = TRUE)
)

# Crear variable categórica: aprueba con buen promedio (>3.5) donde 1 indicará que si aprueba y 0 indicará que no aprueba)
poblacion$aprueba = ifelse(poblacion$promedio > 3.5, 1, 0)

#Se visualizan los primeros 25 estudiantes de la población
head(poblacion, 25)
##    id edad horas_estudio promedio genero semestre aprueba
## 1   1   19          20.7     2.97      M       10       0
## 2   2   20          20.6     2.35      F        2       0
## 3   3   18          10.6     4.47      F        5       1
## 4   4   23          16.1     3.81      M        3       1
## 5   5   21          15.3     3.47      F        1       0
## 6   6   18           6.7     3.92      M        7       1
## 7   7   21          19.1     3.53      M        8       1
## 8   8   21           5.4     2.71      M        2       0
## 9   9   21           8.8     2.23      M       10       0
## 10 10   19          20.0     3.38      M        9       0
## 11 11   23          12.3     3.31      M       10       0
## 12 12   21          13.9     2.87      M        9       0
## 13 13   19           6.9     3.75      M        2       1
## 14 14   16           7.7     3.31      M        7       0
## 15 15   22          16.8     4.00      F        5       1
## 16 16   20          14.1     4.27      F        9       1
## 17 17   20          12.0     3.12      M        9       0
## 18 18   22           8.3     2.97      M        4       0
## 19 19   22           9.5     3.59      M        4       1
## 20 20   21          25.2     4.36      F        4       1
## 21 21   22          13.4     2.46      M        6       0
## 22 22   22          18.9     3.00      M        2       0
## 23 23   20          18.9     3.07      F        9       0
## 24 24   16          18.8     3.72      F       10       1
## 25 25   21          16.5     4.93      M        5       1

1.3 Variables de estudio

Las variables a tomar son Horas de Estudio Semanales (horas_estudio) y Promedio Académico (promedio)

1.4 Muestreo Probabilístico

Utilizamos Muestreo Aleatorio Simple (MAS) para garantizar que cada elemento de la población tenga la misma probabilidad de ser seleccionado.

1.4.1 Muestra 1: 70% de la población (n = 700)

# Establecer semilla para reproducibilidad del muestreo
set.seed(2)

n_muestra1 = round(0.70 * n_poblacion)
indices_muestra1 = sample(1:n_poblacion, n_muestra1, replace = FALSE)
muestra1 = poblacion[indices_muestra1, ]

cat("Tamaño de la Muestra 1:", nrow(muestra1), "estudiantes.")
## Tamaño de la Muestra 1: 700 estudiantes.
#Se visualizan los primeros 5 estudiantes de la muestra 2.
head(muestra1, 5)
##      id edad horas_estudio promedio genero semestre aprueba
## 853 853   18          18.7     4.10      F        5       1
## 975 975   14          11.9     3.32      M       10       0
## 710 710   24           7.4     2.95      F        4       0
## 774 774   23          19.4     3.29      F        4       0
## 416 416   21          14.4     4.60      F        4       1

1.4.2 Muestra 2: 30% de la población (n = 300)

# Establecer semilla para reproducibilidad del muestreo
set.seed(3)

n_muestra2 = round(0.30 * n_poblacion)
indices_muestra2 = sample(1:n_poblacion, n_muestra2, replace = FALSE)
muestra2 = poblacion[indices_muestra2, ]

cat("Tamaño de la Muestra 1:", nrow(muestra1), "estudiantes.")
## Tamaño de la Muestra 1: 700 estudiantes.
#Se visualizan los primeros 5 estudiantes de la muestra 2.
head(muestra2, 5)
##      id edad horas_estudio promedio genero semestre aprueba
## 773 773   22          12.2     3.71      F        8       1
## 698 698   21           5.5     3.99      F        3       1
## 652 652   18          12.5     3.48      F        8       0
## 548 548   21          12.5     4.45      F        5       1
## 999 999   17          20.0     2.20      F        7       0

2 Estimadores

Se toma como estimador la Media Muestral (\(\bar{X}\)) porque caracteriza el nivel promedio de horas de estudio y promedio académico, necesario para contextualizar las variables antes de analizar su relación.

NO se toman los estimadores Varianza Muestral (\(S^2\)) y Desviación Estándar (S) ya que la pregunta de investigación busca determinar si EXISTE RELACIÓN entre las variables, no cuantificar su dispersión. Los estimadores de variabilidad no son necesarios para responder si dos variables están correlacionadas.

2.1 Media Muestral Variable 1: Horas de Estudio

# Parámetro poblacional
mu_horas_pob = mean(poblacion$horas_estudio)

# Estimadores muestrales
media_horas_m1 = mean(muestra1$horas_estudio)
media_horas_m2 = mean(muestra2$horas_estudio)

#Se visualizan los resultados
cat(" Parámetro poblacional:", round(mu_horas_pob,2),"\n","Estimador Muestra 1:  ", round(media_horas_m1,2),"\n","Estimador Muestra 2:  ", round(media_horas_m2,2))
##  Parámetro poblacional: 14.92 
##  Estimador Muestra 1:   14.96 
##  Estimador Muestra 2:   15.11

2.1.1 Determinación de Sesgo

diferencia_poblacion_m1 = abs(media_horas_m1 - mu_horas_pob)

cat("Diferencia observada entre media muestral y poblacional:", diferencia_poblacion_m1)
## Diferencia observada entre media muestral y poblacional: 0.03971429

El estimador de la media muestral presenta una diferencia de aproximadamente 0.04 con respecto a la media poblacional (14.96 vs. 14.92).

Según la tabla de propiedades del estimador, este valor corresponde a un sesgo pequeño, atribuible a la variabilidad muestral y no a un desplazamiento sistemático. Se considera aceptable al no tener impacto significativo sobre el error cuadrático medio (MSE). Pero esta conclusión aplica solo para el ejercicio netamente académico (ver nota).

diferencia_poblacion_m2 = abs(media_horas_m2 - mu_horas_pob)

cat("Diferencia observada entre media muestral y poblacional:", diferencia_poblacion_m2)
## Diferencia observada entre media muestral y poblacional: 0.189

El estimador de la media muestral presenta una diferencia de aproximadamente 0.19 con respecto a la media poblacional (15.11 vs. 14.92).

Según la tabla de propiedades del estimador, este valor corresponde a un sesgo pequeño, atribuible a la variabilidad muestral y no a un desplazamiento sistemático. Se considera aceptable al no tener impacto significativo sobre el error cuadrático medio (MSE). Pero esta conclusión aplica solo para el ejercicio netamente académico (ver nota).

NOTA: Se debe aclarar que la media muestral es INSESGADA, teóricamente:

\[E[\bar{X}]=\mu\] Según la teoría, las diferencias observadas entre las medias muestrales y la media poblacional son variabilidad aleatoria, NO sesgo.

En conclusión, las diferencias observadas entre medias muestrales y media poblacional NO representa sesgo del estimador. Esta es VARIABILIDAD MUESTRAL ALEATORIA, esperada en cualquier Muestreo Aleatorio Simple (MAS).

El estimador NO tiene sesgo sistemático. Si repitiéramos el muestreo infinitas veces: E[\(\bar{X}\)] = \(\mu\), la diferencia observada tiende a 0 al promediar sobre muchas muestras posibles.

2.1.2 Consistencia

Al validar los resultados obtenidos para la media poblacional y las medias muestrales:

#Se visualizan los resultados
cat(" Parámetro poblacional:", round(mu_horas_pob,2),"\n","Estimador Muestra 1:  ", round(media_horas_m1,2),"\n","Estimador Muestra 2:  ", round(media_horas_m2,2))
##  Parámetro poblacional: 14.92 
##  Estimador Muestra 1:   14.96 
##  Estimador Muestra 2:   15.11

Se evidencia que la media muestral se acerca a la media poblacional cuando se agregan mas datos, es decir, la media muestral converge hacia la media poblacional al aumentar el tamaño de muestra. En conclusión, el estimador de la media es consistente.

2.1.3 Eficiencia

Es asociada a que tan grande es la varianza de un estimador.

\[Var(\hat{\theta}_1) < Var(\hat{\theta}_2)\] Para el caso del estimador de la media muestral:

\[Var(\bar{X}) = {\sigma}^2/n\]

# Varianza del estimador de la media = varianza muestral / tamaño de la muestra
var_horas_m1 = var(muestra1$horas_estudio)
var_horas_m2 = var(muestra2$horas_estudio)

var_media_m1 = var_horas_m1 / nrow(muestra1)
var_media_m2 = var_horas_m2 / nrow(muestra2)

cat(" Varianza muestra 1:", round(var_media_m1,2), "\n", "Varianza muestra 2:", round(var_media_m2,2), "\n")
##  Varianza muestra 1: 0.04 
##  Varianza muestra 2: 0.1
if (var_media_m1 < var_media_m2) {
cat("El estimador de la media en la Muestra 1 es MÁS EFICIENTE (menor varianza).")
} else if (var_media_m1 > var_media_m2) {
cat("El estimador de la media en la Muestra 2 es MÁS EFICIENTE (menor varianza).")
} else {
cat("Ambos estimadores tienen EFICIENCIA SIMILAR.")
}
## El estimador de la media en la Muestra 1 es MÁS EFICIENTE (menor varianza).

2.1.4 Suficiencia

Un estimador es suficiente cuando utiliza toda la información contenida en la muestra respecto al parámetro de interés.

En este, el parámetro poblacional de horas de estudio fue de 14.92.

La media muestral de la muestra 1 (70%) fue de 14.96 horas, mientras que la media muestral de la muestra 2 (30%) fue de 15.11 horas.

Ambas medias muestrales resumen completamente la información relevante de sus respectivas muestras sobre el promedio poblacional de horas de estudio, ya que cada una incorpora todos los valores observados de la variable horas_estudio para estimar el parámetro \(\mu\).

Por tanto, tanto la media muestral de la muestra 1 como la de la muestra 2 son estimadores suficientes, pues utilizan toda la información disponible en los datos para representar el comportamiento promedio de la población sin pérdida de información estadística.

2.2 Media Muestral Variable 2: Promedio Académico

# Parámetro poblacional
mu_promedio_pob = mean(poblacion$promedio)

# Estimadores muestrales
media_promedio_m1 = mean(muestra1$promedio)
media_promedio_m2 = mean(muestra2$promedio)

#Se visualizan los resultados
cat(" Parámetro poblacional:", round(mu_promedio_pob,4),"\n","Estimador Muestra 1:  ", round(media_promedio_m1,4),"\n","Estimador Muestra 2:  ", round(media_promedio_m2,4))
##  Parámetro poblacional: 3.5086 
##  Estimador Muestra 1:   3.5086 
##  Estimador Muestra 2:   3.5174

2.2.1 Determinación de Sesgo

diferencia_poblacion_m1 = abs(media_promedio_m1 - mu_promedio_pob)

cat("La diferencia es:", diferencia_poblacion_m1)
## La diferencia es: 1e-05

El estimador de la media muestral presenta una diferencia de aproximadamente 0.00001 con respecto a la media poblacional (3.5086 vs. 3.5086).

Según la tabla de propiedades del estimador, este valor corresponde a un sesgo pequeño, atribuible a la variabilidad muestral y no a un desplazamiento sistemático. Se considera aceptable al no tener impacto significativo sobre el error cuadrático medio (MSE). Pero esta conclusión aplica solo para el ejercicio netamente académico (ver nota).

diferencia_poblacion_m2 = abs(media_promedio_m2 - mu_promedio_pob)

cat("La diferencia es:", diferencia_poblacion_m2)
## La diferencia es: 0.00879

El estimador de la media muestral presenta una diferencia de aproximadamente 0.00879 con respecto a la media poblacional (3.5174 vs. 3.5086).

Según la tabla de propiedades del estimador, este valor corresponde a un sesgo pequeño, atribuible a la variabilidad muestral y no a un desplazamiento sistemático. Se considera aceptable al no tener impacto significativo sobre el error cuadrático medio (MSE). Pero esta conclusión aplica solo para el ejercicio netamente académico (ver nota).

NOTA: Se debe aclarar que la media muestral es INSESGADA, teóricamente:

\[E[\bar{X}]=\mu\] Según la teoría, las diferencias observadas entre las medias muestrales y la media poblacional son variabilidad aleatoria, NO sesgo.

En conclusión, las diferencias observadas entre medias muestrales y media poblacional NO representa sesgo del estimador. Esta es VARIABILIDAD MUESTRAL ALEATORIA, esperada en cualquier Muestreo Aleatorio Simple (MAS).

El estimador NO tiene sesgo sistemático. Si repitiéramos el muestreo infinitas veces: \(E[\bar{X}]\) = \(\mu\), la diferencia observada tiende a 0 al promediar sobre muchas muestras posibles.

2.2.2 Consistencia

Al validar los resultados obtenidos para la media poblacional y las medias muestrales:

#Se visualizan los resultados
cat(" Parámetro poblacional:", round(mu_promedio_pob,4),"\n","Estimador Muestra 1:  ", round(media_promedio_m1,4),"\n","Estimador Muestra 2:  ", round(media_promedio_m2,4))
##  Parámetro poblacional: 3.5086 
##  Estimador Muestra 1:   3.5086 
##  Estimador Muestra 2:   3.5174

Se evidencia que la media muestral se acerca a la media poblacional cuando se agregan mas datos, es decir, la media muestral converge hacia la media poblacional al aumentar el tamaño de muestra. En conclusión, el estimador de la media es consistente.

2.2.3 Eficiencia

Es asociada a que tan grande es la varianza de un estimador.

\[Var(\hat{\theta}_1) < Var(\hat{\theta}_2)\] Para el caso del estimador de la media muestral:

\[Var(\bar{X}) = {\sigma}^2/n\]

# Varianza del estimador de la media = varianza muestral / tamaño de la muestra
var_promedio_m1 = var(muestra1$promedio)
var_promedio_m2 = var(muestra2$promedio)

var_media_m1 = var_promedio_m1 / nrow(muestra1)
var_media_m2 = var_promedio_m2 / nrow(muestra2)

cat(" Varianza muestra 1:", format(round(var_media_m1,4), scientific = FALSE), "\n", "Varianza muestra 2:", format(round(var_media_m2,4), scientific = FALSE), "\n")
##  Varianza muestra 1: 0.0006 
##  Varianza muestra 2: 0.0013
if (var_media_m1 < var_media_m2) {
cat("El estimador de la media en la Muestra 1 es MÁS EFICIENTE (menor varianza).")
} else if (var_media_m1 > var_media_m2) {
cat("El estimador de la media en la Muestra 2 es MÁS EFICIENTE (menor varianza).")
} else {
cat("Ambos estimadores tienen EFICIENCIA SIMILAR.")
}
## El estimador de la media en la Muestra 1 es MÁS EFICIENTE (menor varianza).

2.2.4 Suficiencia

Un estimador es suficiente cuando utiliza toda la información contenida en la muestra respecto al parámetro de interés.

En este, el parámetro poblacional de la media para el promedio académico fue de 3.5086.

La media muestral de la muestra 1 (70%) fue de 3.5086, mientras que la media muestral de la muestra 2 (30%) fue de 3.5174.

Ambas medias muestrales resumen completamente la información relevante de sus respectivas muestras sobre el promedio poblacional de promedio académico, ya que cada una incorpora todos los valores observados de la variable promedio para estimar el parámetro \(\mu\).

Por tanto, tanto la media muestral de la muestra 1 como la de la muestra 2 son estimadores suficientes, pues utilizan toda la información disponible en los datos para representar el comportamiento promedio de la población sin pérdida de información estadística.


3 Intervalos de confianza (IC)

NO se construyen IC para \(\mu\) (medias poblacionales):

Los intervalos de confianza solo se construyen para parámetros que son OBJETIVO DIRECTO de inferencia.

3.1 La media poblacional NO es el parámetro de interés:

La pregunta NO es: ‘¿Cuántas horas estudian los universitarios? La pregunta ES:’¿Existe relación entre horas y promedio?

3.2 \(\mu\) es solo un descriptor:

Las medias caracterizan las variables pero NO responden la pregunta de investigación. Son valores de CONTEXTO, no objetivos de inferencia.

3.3 Enfoque en asociación, no en estimación:

El estudio busca DETECTAR CORRELACIÓN (prueba de hipótesis), NO estimar parámetros individuales con precisión.


4 Prueba de Hipótesis

Con el fin de continuar con los datos que hemos venido utilizando (estudiantes universitarios), para la prueba de hipótesis tomaremos la Muestra 1 (700 estudiantes), asumiendo que desconocemos la población con el fin de realizar Inferencia.

También indicamos que el nivel de significancia que tomamos es \({\alpha}\)=0.05. Significa que estamos dispuestos a aceptar un 5% de probabilidad de rechazar \(H_0\) cuando en realidad es verdadera (Error Tipo I).

4.1 Plantear hipótesis nula \(H_0\)

Basándonos en la pregunta de investigación, relacionada en el punto 1.1 del presente Informe:

No existe relación significativa entre las horas de estudio semanales y el promedio académico de los estudiantes universitarios.

4.2 Plantear hipótesis alterna \(H_1\)

Basándonos en la pregunta de investigación, relacionada en el punto 1.1 del presente Informe:

Sí existe relación significativa entre las horas de estudio semanales y el promedio académico de los estudiantes universitarios.

4.3 Verificación de distribución normal de los datos

4.3.1 Gráfico Q-Q plot

Se genera gráfico Q-Q plot para las variables Horas de Estudio y Promedio Académico.

par(mfrow = c(1, 2))

#Horas de Estudio
qqnorm(muestra1$horas_estudio, main = "Q-Q Plot: Horas de Estudio")
qqline(muestra1$horas_estudio, col = 2)

#Horas de Promedio
qqnorm(muestra1$promedio, main = "Q-Q Plot: Promedio Académico")
qqline(muestra1$promedio, col = 2)

Según los puntos observados en el Q-Q plot, de ambas variables (Horas de estudio y Promedio académico), visualmente se evidencia que se alinean aproximadamente en una línea diagonal, en ese caso se considera que los datos son aproximadamente normales.

4.3.2 Prueba Kolmogorov-Smirnov

Debido a que el tamaño de nuestra muestar es grande (n=700), teniendo en cuenta la población (simulación de 1000 estudiantes universitarios), utilizamos la prueba de Kolmogorov-Smirnov.

Contamos con un nivel de significancia de 0.05.

4.3.2.1 Horas de Estudio

ks.test(muestra1$horas_estudio, "pnorm", mean = mean(muestra1$horas_estudio), sd = sd(muestra1$horas_estudio))
## Warning in ks.test.default(muestra1$horas_estudio, "pnorm", mean =
## mean(muestra1$horas_estudio), : ties should not be present for the one-sample
## Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  muestra1$horas_estudio
## D = 0.024731, p-value = 0.7853
## alternative hypothesis: two-sided

Ya que el p-valor es mayor que el nivel de significancia elegido (\({\alpha}\)=0.05), se acepta la hipótesis nula (\(H_0\)). De acuerdo a esto, los datos de la variable Horas de estudio presenta un comportamiento normal.

4.3.2.2 Promedio academico

ks.test(muestra1$promedio, "pnorm", mean = mean(muestra1$promedio), sd = sd(muestra1$promedio))
## Warning in ks.test.default(muestra1$promedio, "pnorm", mean =
## mean(muestra1$promedio), : ties should not be present for the one-sample
## Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  muestra1$promedio
## D = 0.033266, p-value = 0.4207
## alternative hypothesis: two-sided

Ya que el p-valor es mayor que el nivel de significancia elegido (\({\alpha}\)=0.05), se acepta la hipótesis nula (\(H_0\)). De acuerdo a esto, los datos de la variable Promedio académico presenta un comportamiento normal.

4.3.3 Pruebas de hipótesis

En nuestro caso, como nuestros datos tienen un comportamiento normal, se debe usar una prueba de hipótesis Paramétrica.

Específicamente, como se está buscando la existencia de relación significativa entre las horas de estudio semanales y el promedio académico de los estudiantes universitarios, utilizamos la Prueba de Correlación de Pearson.

# Realizar la prueba de correlación de Pearson
resultado_correlacion = cor.test(muestra1$horas_estudio, muestra1$promedio, method = "pearson")
coef_correlacion = resultado_correlacion$estimate
p_valor = resultado_correlacion$p.value
print(resultado_correlacion)
## 
##  Pearson's product-moment correlation
## 
## data:  muestra1$horas_estudio and muestra1$promedio
## t = 0.4338, df = 698, p-value = 0.6646
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.05775556  0.09041040
## sample estimates:
##        cor 
## 0.01641755

Se evidencia que p-value es de 0.6645641 y el coeficiente de correlación es 0.01641755, esto nos indica que podemos aceptar la Hipótesis nula (\(H_0\)) y que NO existe relación lineal entre las horas de estudio semanales y el promedio académico de los estudiantes universitarios.

Esto tiene sentido ya que dedicar muchas horas a estudiar no garantiza que se obtengan buenos resultados. Para obtener un buen promedio, entran otras variables que deben tenerse en cuenta además de las horas dedicadas a estudiar: Horas de descanso, Historial académico, Metodología de estudio, Bases académicas de cada estudiante, entre otras.