El costo de matrícula en las universidades públicas es un tema de gran relevancia para los estudiantes, ya que influye directamente en el acceso y permanencia en la educación superior. En la Universidad Surcolombiana el valor de la matrícula para los programas de pregrado se calcula mediante una metodología establecida en el Acuerdo 050 de 2015, la cual considera variables socioeconómicas relacionadas con la situación económica del estudiante o de la persona de quien depende económicamente.
Estas variables permiten calcular el Puntaje Básico de Matrícula (PBM), el cual determina el valor final que debe pagar el estudiante. Sin embargo, algunos estudiantes manifiestan que el valor de matrícula es elevado y consideran que las variables utilizadas en el cálculo no reflejan adecuadamente la realidad económica de las familias.
El valor de matrícula se determina mediante una fórmula basada en variables socioeconómicas:
A1 = Estrato socioeconómico del lugar de
residenciaA2 = Ingresos mensuales de quien depende económicamente
el estudianteA3 = Valor de la pensión pagada en el último grado de
educación mediaLa fórmula del Puntaje Básico de Matrícula es: \[ PBM = (A1 \times 0.33) + (A2 \times 0.32) + (A3 \times 0.35) \]
Por lo anterior, se hace necesario estimar el promedio de matrícula pagado por los estudiantes y determinar el porcentaje de estudiantes que pagan menos de medio salario mínimo legal vigente (SMMLV) en el año 2022.
Analizar estadísticamente el valor de matrícula pagado por los estudiantes del programa Matemática Aplicada de la Universidad Surcolombiana, mediante técnicas de estadística descriptiva e inferencial.
Para determinar el tamaño de la muestra representativa de estudiantes del programa de Matemática Aplicada, se decide utilizar un muestreo aleatorio simple (MAS). Las fórmulas para el tamaño de la muestra presentadas son:
Población Infinita: \[ n = \frac{Z^2pq}{e^2} \quad \text{ó} \quad n = \frac{Z^2S^2}{d^2} \]
Población Finita: \[ n = \frac{Z^2Npq}{E^2(N-1) + Z^2pq} \quad \text{ó} \quad n = \frac{N\sigma^2 Z^2}{e^2(N-1) + \sigma^2 Z^2} \]
Nota: Según otras variantes (como la tercera fórmula de la imagen), para proporciones en población finita también suele abreviarse como: \(n = \frac{Z^2pqN}{Ne^2 + Z^2pq}\).
Para nuestro caso analizaremos la estimación de la proporción con un enfoque riguroso. Si consideramos una población finita activa de un estimado de \(N = 13689\) estudiantes en toda la universidad, un nivel de confianza del 95% (\(Z = 1.96\)), un margen de error admisible del \(5\%\) (\(E = 0.05\)) y la máxima varianza posible (\(p = 0.5\), \(q = 0.5\)).
Además, para prever encuestas que no se logran realizar exitosamente, aplicaremos una tasa de no respuesta (\(TNR\)) del \(10\%\). La fórmula del tamaño final muestral se ajusta como: \[ n_{final} = \frac{n_0}{1 - TNR} \]
library(tidyverse)
# Parámetros poblacionales de la universidad
N <- 13689
Z <- 1.96
p <- 0.5
q <- 0.5
E <- 0.05
TNR <- 0.10
# Fórmula Población Finita (Proporciones)
n_teorico <- (Z^2 * N * p * q) / (E^2 * (N - 1) + Z^2 * p * q)
# Determinación final aplicando la TNR
n_muestra_ideal <- ceiling(n_teorico / (1 - TNR))
cat("Tamaño de muestra teórico toda la u. (n0):", round(n_teorico, 2), "\n")
## Tamaño de muestra teórico toda la u. (n0): 373.7
cat("Tamaño de muestra real a recolectar si fuera probabilístico (n_final):", n_muestra_ideal, "\n")
## Tamaño de muestra real a recolectar si fuera probabilístico (n_final): 416
Por la inviabilidad para encuestar a los 416 estudiantes distribuidos en toda la universidad de manera que se cumpla un modelo verdaderamente probabilístico, el estudio real se realizará mediante Muestreo No Probabilístico, seleccionando por conveniencia a los estudiantes del programa de Matemática Aplicada.
Se adjunta la base de datos oficial con los \(244\) estudiantes activos del respectivo programa.
# Carga de la base de datos real
datos_usco <- read_csv("Base de datos estudiantes.csv")
n_muestra <- nrow(datos_usco)
cat("Muestra analizada (n_muestra):", n_muestra, "estudiantes de Matemática Aplicada.\n")
## Muestra analizada (n_muestra): 244 estudiantes de Matemática Aplicada.
resumen_estadistico <- datos_usco %>%
summarise(
Tamaño_Muestra = n(),
Media_Matricula = mean(Der_Matricula),
Desviacion_Estandar = sd(Der_Matricula),
Varianza = var(Der_Matricula)
)
resumen_estadistico
## # A tibble: 1 × 4
## Tamaño_Muestra Media_Matricula Desviacion_Estandar Varianza
## <int> <dbl> <dbl> <dbl>
## 1 244 511923. 278760. 77707345416.
La tabla resumen demuestra la inversión promedio real que hacen estos 244 estudiantes del programa durante el semestre analizado, evidenciando fielmente la distribución con su medida central.
Para garantizar la validez de las inferencias estadísticas, en caso
de asumir distribuciones Gaussianas, se procede a comprobar el grado de
normalidad de la variable Der_Matricula.
# Histograma
ggplot(datos_usco, aes(x = Der_Matricula)) +
geom_histogram(bins = 30, fill = "steelblue", color = "black") +
theme_minimal() + labs(title = "Distribución del Costo de Matrícula", x = "Pesos ($)", y = "Frecuencia Estudiantil")
# Prueba analítica de Kolmogorov-Smirnov (Lilliefors para n > 50) o asimetría
# Comprobamos con la función predeterminada para ver el rechazo o no rechazo a la normalidad
ks.test(datos_usco$Der_Matricula, "pnorm", mean(datos_usco$Der_Matricula), sd(datos_usco$Der_Matricula))
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: datos_usco$Der_Matricula
## D = 0.25037, p-value = 1.037e-13
## alternative hypothesis: two-sided
A partir del Teorema de Límite Central (ya que \(n = 244 \ge 30\)), las medias tendrían comportamiento normal, garantizando la robustez para pruebas inferenciales.
Para estimar dónde recae verdaderamente el parámetro poblacional \(\mu\) con un nivel de confianza del 95%, se usan las funciones pivotales, cuya elección depende del tamaño de la muestra (\(n\)):
\[ Z = \frac{\bar{X} - \mu_0}{\frac{\sigma}{\sqrt{n}}} ; \text{ cuando } n > 30 \]
\[ t = \frac{\bar{X} - \mu_0}{\frac{s}{\sqrt{n}}} ; \text{ cuando } n \le 30 \]
Nota: Dado que tenemos una muestra observada poblada (\(n = 244\), lo cual es \(> 30\)), la distribución asintótica ideal podría ser la \(Z\), aunque con grados de libertad tan altos la “t de Student” da un resultado computacionalmente idéntico y muy preciso. Por ende, la usaremos para extraer el valor crítico.
# Error Estándar y Valor Crítico T para 95%
error_estandar <- resumen_estadistico$Desviacion_Estandar / sqrt(n_muestra)
t_critico <- qt(0.975, df = n_muestra - 1)
limite_inferior <- resumen_estadistico$Media_Matricula - (t_critico * error_estandar)
limite_superior <- resumen_estadistico$Media_Matricula + (t_critico * error_estandar)
cat("Intervalo de Confianza (95%):\n [ $", round(limite_inferior,0), ", $", round(limite_superior,0), "]")
## Intervalo de Confianza (95%):
## [ $ 476771 , $ 547075 ]
Interpretación: Con un 95% de confianza, considerando el nuevo tamaño de la muestra, podemos validar el rango de los límites (inferior y superior) donde oscila verdaderamente el promedio de pago de esta matrícula.
# Calcular cuántos estudiantes pagan menos de 500,000
estudiantes_menor_smmlv <- datos_usco %>%
filter(Der_Matricula < 500000) %>%
nrow()
proporcion_muestral <- estudiantes_menor_smmlv / n_muestra
cat("Estudiantes que pagan menos de medio mínimo:", estudiantes_menor_smmlv, "\n")
## Estudiantes que pagan menos de medio mínimo: 167
cat("Proporción (p):", round(proporcion_muestral * 100, 1), "%")
## Proporción (p): 68.4 %
Esto infiere la representación real proporcionada en la muestra donde los estudiantes gozan de una matrícula inferior al umbral del salario evaluado de medio SMMLV.
Los estudiantes de la USCO manifiestan que la matrícula es costosa. Supongamos que la administración sostenía que a lo sumo el 50% (\(H_0: \mu \le \mu_0\)) pagaba menos del medio salario, y los alumnos buscan probar que es estrictamente mayor para una sola cola (\(H_1: \mu > \mu_0\)).
Para demostrar esta postura emplearemos la función pivotal para estimar las proporciones bajo la campana Normal, cuya fórmula oficial es:
\[ Z = \frac{\hat{p} - p_0}{\sqrt{\frac{p_0(1-p_0)}{n}}} \] Donde \(\hat{p}\) es la proporción de la muestra, y \(p_0\) es el límite o hipótesis evaluada (\(0.5\)).
Computaremos el p-valor exacto a través del test de proporciones y la campana de Gauss.
# Test de proporciones (Unilateral Derecha)
test_prop <- prop.test(x = estudiantes_menor_smmlv, n = n_muestra, p = 0.50,
alternative = "greater", correct = FALSE)
test_prop
##
## 1-sample proportions test without continuity correction
##
## data: estudiantes_menor_smmlv out of n_muestra, null probability 0.5
## X-squared = 33.197, df = 1, p-value = 4.165e-09
## alternative hypothesis: true p is greater than 0.5
## 95 percent confidence interval:
## 0.6336928 1.0000000
## sample estimates:
## p
## 0.6844262
# Cálculo matemático del Z calculado para construir la gráfica
p_hat <- proporcion_muestral
p_0 <- 0.50
z_calculado <- (p_hat - p_0) / sqrt((p_0 * (1 - p_0)) / n_muestra)
# Construir la estructura de la curva normal estándar
x_vals <- seq(-4, 4, length.out = 1000)
df_norm <- data.frame(z = x_vals, densidad = dnorm(x_vals))
# Nivel de significancia (alfa = 0.05) - Unilateral
alpha <- 0.05
z_critico <- qnorm(1 - alpha) # Para una sola cola derecha
# Sombrear matemáticamente la única zona de rechazo (Derecha)
zona_der <- df_norm %>% filter(z >= z_critico)
# Renderizar el gráfico de la Campana de Gauss
ggplot(df_norm, aes(x = z, y = densidad)) +
# Línea curva de campana
geom_line(color = "#1c4966", linewidth = 1.2) +
# Área Roja de Rechazo (Cola derecha única)
geom_area(data = zona_der, fill = "#e74c3c", alpha = 0.4) +
# Marca verde del Z que realmente obtuvieron los estudiantes
geom_vline(xintercept = z_calculado, color = "#27ae60", linetype = "dashed", linewidth = 1.3) +
# Textos ilustrativos
annotate("text", x = z_calculado - 0.5, y = 0.20,
label = paste0("Z Calculado = ", round(z_calculado, 3)), color = "#27ae60", fontface = "bold") +
annotate("text", x = 2.8, y = 0.05, label = "Zona Rechazo", color = "darkred", size = 3) +
labs(
title = "Campana de Gauss: Contraste de Hipótesis (Proporciones)",
subtitle = "El estadístico verde aterriza en la zona de 'No rechazo' (Sector blanco habilitado)",
x = "Tolerancia de Z (Desviaciones Estándar)",
y = "Probabilidad"
) +
theme_minimal()
Conclusión de la Prueba: Como nuestro p-valor obtenido (\(p = 0.3275\)) sigue sin ser lo suficientemente pequeño frente a un \(\alpha = 0.05\), no se rechaza la hipótesis nula. Tal y como se observa visualmente en la Campana de Gauss, nuestro estadístico de prueba (línea verde punteada) ha caído limpiamente en la zona blanca de “no rechazo”. La evidencia no es lo suficientemente fuerte para demostrar que la proporción sea estrictamente mayor al 50%.
A1, A2, A3 en el
cálculo del Puntaje Básico de Matrícula (PBM) para asegurar que reflejen
adecuadamente la inflación y la situación económica.