El Ministerio de Educación de la Provincia de Córdoba, quiere hacer un estudio sobre los estudiantes del último año de las escuelas secundarias urbanas, para determinar quiénes seguirán estudios universitarios. Para ello se solicita el diseño de una muestra acorde con una estimación con un error de muestreo del 5 % y un Nivel de Confianza del 95 %.
Se solicita un diseño completo que incluya:
Exploración de fuentes en función de la temática
Búsqueda de antecedentes para tasa de no respuesta
Diseño de a muestra
Diseño de instrumento de relevamiento (cuestionario)
Una vez seleccionada la Muestra, informarla a la Coordinación de la materia, quien enviará respuestas de las encuestas para que procesen el resultado final con la finalidad de estimar el parámetro correspondiente y sus errores de muestreo.
Para construir nuestra muestra trabajaremos con dos fuentes: el Relevamiento Anual (RA) del Ministerio de Educación del año 2019, (del cual tomaremos las matriculas correspondientes a los ciclos básicos y orientados de secundaria en Córdoba) y el Censo del operativo Aprender 2019 que nos provee de algunas variables sociodemográficas relevantes para nuestro relevamiento.
df_ra <- openxlsx::read.xlsx("2021-12-5-Matricula-12-a-14.xlsx") %>% #seleccion de var de RA previam. limpia
janitor::clean_names() %>% #emprolijamos nombre variable
filter(provincia == "Córdoba", #seleccionamos casos de Córdoba del sector urbano accesibles a campo
ambito == "Urbano") %>%
mutate_all(~replace(., is.na(.), 0)) %>%
mutate (mat_total = x12+x13y14) %>% #calculamos la matricula total para ultimo año secund.
filter(mat_total > 0) #nos quedamos con las escuelas que tienen al menos un matriculado
ggplot(df_ra) +
aes(x = mat_total) +
geom_histogram(bins = 30L, fill = "#4682B4") +
labs(x = "Matricula total",
title = "Matricula último año secundaria",
subtitle = "Escuelas urbanas de Córdoba",
caption = "RA - Ministerio de Educación de la Nación") +
theme_minimal()
## [1] "Al año 2019, la matrícula de alumnos de los últimos años de secundaria de escuelas urbanas cordobesas (tanto en su ciclo básico como orientado) era de 41687 alumnos"
En nuestro país, si bien el sistema educativo superior se ha caracterizado por su alto grado de cobertura, su gratuidad no es una condición suficiente que garantice el acceso y permanencia de los estudiantes de menor ingreso. La situación socioeconómica de los jóvenes sigue siendo un factor incidente en la finalización de los estudios secundarios y en el ingreso, permanencia y egreso a los estudios de educación superior (García de Fanelli, 2005).
García de Fanelli (2019) en su estudio sobre el acceso a la educación superior, concluye que los jóvenes de los quintiles más altos de ingreso per cápita tienen una mayor presencia entre los estudiantes y graduados de la educación superior, siendo la necesidad de ingresar al mercado laboral uno de los factores que explican la deserción del estudiantado perteneciente a los sectores más bajos.
Asimismo, Gessaghi & Llinás (2005) afirman que la gran brecha entre los grupos socioeconómicos está dada en la finalización de los estudios secundarios. Así, la segmentación del sistema educativo genera circuitos educativos con diferente calidad. Por lo tanto, si bien todos los jóvenes que finalizan sus estudios secundarios acceden a la misma certificación, quienes tienen mayores condiciones para ingresar y continuar sus estudios son aquellos alumnos que provienen de los circuitos educativos más altos. En esta línea, subrayan que la barrera más importante para el acceso a los estudios terciarios o universitarios se encuentra en el nivel medio e inferior y no en el superior, impactando la deserción universitaria en mayor medida en el 40% de los jóvenes con menor ingreso per cápita familiar.
Con el objeto de ver si podemos encontrar algún método de estratificación, retomamos los datos de Censo del operativo Aprender 2019 para los alumnos de escuelas urbanas de Córdoba, que contiene los mismos identificadores de la base RA.
De esta base tomamos (además de las variables de identificación) dos variables de nuestro interés referentes al nivel socioeconómico:
url_2 = 'https://raw.githubusercontent.com/oblitterator/tecnicas_muestreo/main/Base%20estudiantes%205-6%20a%C3%B1o%20secundaria%202019%20USUARIA%20(Censo%20L%20y%20M)_Cordoba.csv'
df_aprender <- read.csv2(url(url_2), encoding = "UTF-8") %>%
filter (ambito != 2)%>% #Eliminamos las escuelas correspondientes al ámbito rural
dplyr::select("ID1", "sector", "idalumno", "isocioa", "isocioa_puntaje") %>%
filter(!is.na(isocioa_puntaje))
summary(df_aprender)
## ID1 sector idalumno isocioa
## Min. :1.002e+14 Min. :1.000 Min. : 1.0 Min. :1.00
## 1st Qu.:2.142e+14 1st Qu.:1.000 1st Qu.: 6.0 1st Qu.:2.00
## Median :3.533e+14 Median :2.000 Median : 12.0 Median :2.00
## Mean :4.255e+14 Mean :1.513 Mean : 39.9 Mean :2.15
## 3rd Qu.:6.030e+14 3rd Qu.:2.000 3rd Qu.: 20.0 3rd Qu.:3.00
## Max. :9.996e+14 Max. :2.000 Max. :999.0 Max. :3.00
## isocioa_puntaje
## Min. :-2.7028
## 1st Qu.:-0.4299
## Median : 0.1902
## Mean : 0.2275
## 3rd Qu.: 1.0266
## Max. : 1.8168
Debido a que para realizar la muestra partiremos de la información del RA, agruparemos estos datos desagregados por alumno en el Aprender con el fin de juntar las dos bases y ver si nos es útil para estratificar las escuelas. Realizaremos dos tipos de agrupamiento de los alumnos:
Tres variables de frecuencias de alumnos por NSE (bajo, medio, alto, en base a la variable isocioa) para cada escuela.
Promedio de la variable cuantitativa isocioa_puntaje (que nos estaría dando la media de la distribución del z score por escuela)
#Sumarizamos el puntaje por escuela
df_puntaje_escuela <- aggregate(df_aprender$isocioa_puntaje, list(df_aprender$ID1), mean)
names(df_puntaje_escuela) <- c('ID1', 'puntaje_nse')
#Tranformaciones para la creación de variables para cada nivel
df_aprender_nse <- df_aprender %>%
pivot_wider(id_cols = ID1,
names_from = isocioa,
values_from = isocioa,
values_fn = length, names_sort = TRUE,
values_fill = 0)
df_aprender_nse <- df_aprender_nse %>%
mutate(total_censados = rowSums(df_aprender_nse[,2:4]),
porc_bajo = round(df_aprender_nse$'1'/total_censados,2),
porc_medio= round(df_aprender_nse$'2'/total_censados,2),
porc_alto = round(df_aprender_nse$'3'/total_censados,2))
Ahora que hemos procesado nuestra base, hacemos un join para tener el DF final para el análisis previo a la muestra:
df_escuelas <- left_join(df_ra,df_aprender_nse, by = c('id1'='ID1')) %>%
mutate_all(~replace(., is.na(.), 0)) #reemplazo todos los NA con 0
head(df_escuelas)
## id1 provincia sector ambito x12 x13y14 mat_total 1 2 3
## 1 1.001701e+14 Córdoba Privado Urbano 31 0 31 5 23 1
## 2 1.006970e+14 Córdoba Estatal Urbano 91 0 91 14 31 7
## 3 1.008000e+14 Córdoba Privado Urbano 58 0 58 0 31 22
## 4 1.008000e+14 Córdoba Privado Urbano 25 0 25 0 11 11
## 5 1.027701e+14 Córdoba Estatal Urbano 175 0 175 23 97 26
## 6 1.028970e+14 Córdoba Estatal Urbano 96 29 125 14 62 6
## total_censados porc_bajo porc_medio porc_alto
## 1 29 0.17 0.79 0.03
## 2 52 0.27 0.60 0.13
## 3 53 0.00 0.58 0.42
## 4 22 0.00 0.50 0.50
## 5 146 0.16 0.66 0.18
## 6 82 0.17 0.76 0.07
Si observamos a las escuelas que poseen más de un 20% de sus alumnos con un nivel scoioeconómico bajo o alto (extremando las diferencias) podremos ver la relación entre sector de gestión y proporción de alumnos con niveles socioeconómicos altos y bajos
df_escuelas %>%
mutate(marca1 = as.integer(case_when(porc_bajo >= 0.20 ~ "1",
TRUE ~ "0")),
marca2 = as.integer(case_when(porc_alto >= 0.20 ~ "1",
TRUE ~ "0"))) %>%
group_by(sector) %>%
summarise("nivel bajo" = sum(marca1),
"nivel alto" = sum(marca2))
## # A tibble: 2 x 3
## sector `nivel bajo` `nivel alto`
## <chr> <int> <int>
## 1 Estatal 191 44
## 2 Privado 14 271
Ante la imposibilidad de acceder al marco muestral de los alumnos del último año de las escuelas secundarias urbanas de la provincia de Córdoba y considerando que, de tener acceso a estos datos podrían encuestarse a los alumnos de manera certera y estimar la cantidad de casos favorables de éstos que planean asistir a la universidad, se decidió, para resolver esta faltante, las siguientes posibles estrategias muestrales:
Diseño muestral 1 Considerando a los alumnos como unidad de análisis, generando un muestreo por conglomerados monoetápico, seleccionando en una primera etapa colegios y luego al interior de estos indagar a todos alumnos de los últimos cursos, estimando con ello casos favorables, a partir del listado de alumnos recabado en el colegio seleccionado al momento de realizar la encuesta.
Diseño muestral 2 Considerando a la escuela como unidad de análisis, seleccionando estas de manera sistemática y haciendo a partir de allí una estimación del total de alumnos de la provincia que va a asistir a la universidad mediante la consulta al total de alumnos de cada escuela seleccionada con intenciones de asistir - estimación del total.
Si bien ambas estrategias tienen sus pro y sus contras, nos decidimos avanzar por esta última, debido a que los objetivos pueden ser alcanzados de manera más sencilla. A continuación desarrollamos el Diseño muestral 2
Determinamos el tamaño de nuestra muestra para un MAS, sabiendo que de esta manera (en el caso de que la variable ordenadora esté bien seleccionada) estaremos sobrestimando su tamaño.
N = nrow(df_escuelas)
s_muestra = sd(df_escuelas$mat_total)
x_raya = mean((df_escuelas$mat_total))
d= x_raya*0.05
n = sample.size.mean(e=d,
S=s_muestra,
level = 0.95,
N = 730)$n
## [1] "El tamaño de la muestra es de 367 escuelas, con un nivel de confianza del 95% y un margen de error 5%"
Decidimos ordenar la muestra por sector de gestión y tamaño de matrícula de las escuelas al último relevamiento ministerial (2019), debido a que los análisis realizados de la base APRENDER verifican que el sector de gestión está relacionado con el nivel socioeconómico de las personas y la matrícula nos permite obtener una muestra con escuelas de todos los tamaños posibles.
Consideramos que existe una relación entre la variable continuidad de educación superior universitaria y matrícula del último año de las escuelas, pues es de esperar que la cantidad de alumnos que continúen sus estudios en nivel superior universitario aumente a medida que la matrícula crezca.
df_escuelas_ordenada <- df_escuelas %>%
arrange(sector,mat_total) %>%
dplyr::select(id1,sector,mat_total)
head(df_escuelas_ordenada)
## id1 sector mat_total
## 1 8.192162e+14 Estatal 4
## 2 2.682558e+14 Estatal 5
## 3 8.086055e+14 Estatal 5
## 4 3.646501e+14 Estatal 6
## 5 1.932006e+14 Estatal 8
## 6 2.582101e+14 Estatal 9
Decidimos realizar una muestra sistemática de escuelas pues al ordenar por sector de gestión, estaríamos forzando a una estratificación por esta variable en donde la muestra sistemática final nos arrojará la misma proporción de unidades por sector de gestión que la existente en la población.
## [1] "El salto aleatorio determinado para nuestra base es de 2"
Obtenemos las dos muestras posibles en función del salto aleatorio.
ms = sampling :: UPsystematic(rep(1/I,nrow(df_escuelas_ordenada)),eps=1e-6)
muestra_1 <- df_escuelas_ordenada[ms==1,]
muestra_2 <- df_escuelas_ordenada[ms==0,]
Calculamos el efecto diseño (deff) de la muestra sistemática:
de = sd(muestra_2$mat_total) #dispersion muestral
n = nrow(muestra_2)
N = 730
#Estimación de la Varianza del estimador del total para un MAS
var_mas= ((N-n)/N)*de^2/n*N^2
#Varianza del estimador del total para un MS
var_MS= var(c(sum(muestra_1$mat_total)*2,
sum(muestra_2$mat_total)*2))
DEFF=var_MS/var_mas
round(DEFF,2)
## [1] 0.18
En función del efecto diseño obtenido, podemos inferir que la dispersión de nuestras estimaciones será menor a la considerada a la hora de calcular el tamaño muestral, por lo que podría pensarse en una reducción del tamaño de la muestra.
Por este motivo podríamos duplicar el salto aleatorio a 4 obteniendo de esta manera una muestra menor en donde la dispersión se aumente respecto al MS con salto aleatorio de 2, pero siendo aún menor a la dispersión estimada para un MAS de 367 escuelas.
df_escuelas_ordenada$muestra <- rep(c(1:4), 1000)[1:nrow(df_escuelas_ordenada)]
muestra_1 <- df_escuelas_ordenada[df_escuelas_ordenada$muestra==1,]
muestra_2 <- df_escuelas_ordenada[df_escuelas_ordenada$muestra==2,]
muestra_3 <- df_escuelas_ordenada[df_escuelas_ordenada$muestra==3,]
muestra_4 <- df_escuelas_ordenada[df_escuelas_ordenada$muestra==4,]
Calculamos la variancia del estimador para un MS con este salto
## [1] "Vemos que, aún duplicando el salto la variancia del estimador, resultante en 567652 , es menor que la estimación de la variancia del estimador del MAS calculada en 1207756.89"
## [1] 2
A continuación puede descargar la muestra seleccionada para completar las respuestas.
Para la realización de este estudio se elabora un cuestionario a completar en cada una de las escuelas seleccionadas en la muestra. El mismo puede descargarse aquí