data <- read.csv("https://raw.githubusercontent.com/VictorGuevaraP/Mineria-de-datos-2020/master/Sistema_Educativo_Peru.csv", sep = ";")
head(data)
## region departam almain_1 almapr_2 almase_3 taasi_17 taasp_18 taass_19
## 1 Selva Amazonas 11235 81839 31688 46.0 79.7 55.1
## 2 Sierra Ancash 32254 185875 95346 55.5 87.7 59.4
## 3 Sierra Apurimac 14728 94015 44724 45.3 88.8 63.6
## 4 Costa Arequipa 31601 143318 104735 44.8 94.5 81.3
## 5 Sierra Ayacucho 17173 127033 55667 39.6 89.9 57.7
## 6 Sierra Cajamarca 33304 280254 107485 41.6 90.0 50.0
## taefp_22 taefs_23 doin_24 dopr_25 dose_26 cein_29 cepr_30 cese_31
## 1 77.9 80.5 505 3272 1718 290 1100 199
## 2 79.6 80.9 1627 8460 6930 834 1781 478
## 3 77.4 79.0 609 3711 2277 361 857 207
## 4 90.5 89.3 1969 7534 6869 910 1107 442
## 5 75.1 78.9 816 5585 3502 397 1392 298
## 6 79.1 80.5 1718 11260 6154 894 3532 642
boxplot(data[,3:16])
#install.packages("VIM")
library(VIM)
miss <- aggr(data, col=c('green', 'red'),
ylab = c("Histograma de NAs", "Patrón"))
En el cuadro de proporción de missings podemos observar que la data no cuenta con NA’s.
Se solicita identificar por región o departamento, entonces para ello, la columna que contiene los datos de los departamentos, serán convertidos como identificador, de la siguiente manera:
row.names(data) <- data$departam
data$departam <- NULL
Visualizamos si se realizó de manera correcta.
head(data)
## region almain_1 almapr_2 almase_3 taasi_17 taasp_18 taass_19 taefp_22
## Amazonas Selva 11235 81839 31688 46.0 79.7 55.1 77.9
## Ancash Sierra 32254 185875 95346 55.5 87.7 59.4 79.6
## Apurimac Sierra 14728 94015 44724 45.3 88.8 63.6 77.4
## Arequipa Costa 31601 143318 104735 44.8 94.5 81.3 90.5
## Ayacucho Sierra 17173 127033 55667 39.6 89.9 57.7 75.1
## Cajamarca Sierra 33304 280254 107485 41.6 90.0 50.0 79.1
## taefs_23 doin_24 dopr_25 dose_26 cein_29 cepr_30 cese_31
## Amazonas 80.5 505 3272 1718 290 1100 199
## Ancash 80.9 1627 8460 6930 834 1781 478
## Apurimac 79.0 609 3711 2277 361 857 207
## Arequipa 89.3 1969 7534 6869 910 1107 442
## Ayacucho 78.9 816 5585 3502 397 1392 298
## Cajamarca 80.5 1718 11260 6154 894 3532 642
dataNew.scaled <- as.data.frame(scale(data[2:15]))
Se desea realizar cluster, pero antes de ello evaluaa la cantidad óptima de clúster, en este caso para la función kmeans
wss = numeric()
La función lo que hará será recorrer de 2 a 10 y evaluará de acuerdo a la funición kmeans basándose en tot.withinss el k óptimo para la función.
for (k in 2:10){
mod = kmeans(dataNew.scaled, k)
wss[k-1] = mod$tot.withinss
}
plot(2:10,wss)
Entonces, de acuerdo al gráfico se tiene que el k óptimo para el algoritmo k-means es 4.
set.seed(2018)
km <- kmeans(dataNew.scaled, 4)
km
## K-means clustering with 4 clusters of sizes 5, 7, 8, 3
##
## Cluster means:
## almain_1 almapr_2 almase_3 taasi_17 taasp_18 taass_19 taefp_22
## 1 -1.2566701 -1.33439780 -1.2355550 0.8467216 0.6119186 0.9265775 1.0719288
## 2 -0.5264298 -0.30176955 -0.5356574 -0.6769178 -0.4411728 -0.7353480 -0.9766627
## 3 1.0209847 1.11227964 1.0480879 -0.1373261 -0.3486159 -0.3769809 -0.2182272
## 4 0.6001605 -0.03795375 0.5142245 0.5344750 0.9391814 1.1767984 1.0742708
## taefs_23 doin_24 dopr_25 dose_26 cein_29 cepr_30 cese_31
## 1 0.96096228 -1.0723381 -1.3045047 -1.1150654 -1.2254652 -1.2030143 -1.2612214
## 2 -0.93949536 -0.6334639 -0.4047465 -0.6426061 -0.4225424 -0.1313389 -0.3309845
## 3 -0.03153748 0.8769740 1.1089541 1.0487423 0.9909903 1.0571011 1.0898817
## 4 0.67465198 0.9267154 0.1613720 0.5612106 0.3857333 -0.5074550 -0.0320181
##
## Clustering vector:
## Amazonas Ancash Apurimac Arequipa Ayacucho
## 2 3 2 4 2
## Cajamarca Cusco Huancavelica Huánuco Ica
## 3 3 2 2 4
## Junín La Libertad Lambayeque Loreto Madre de Dios
## 3 3 4 3 1
## Moquegua Pasco Piura Puno San Martín
## 1 1 3 3 2
## Tacna Tumbes Ucayali
## 1 1 2
##
## Within cluster sum of squares by cluster:
## [1] 17.05520 23.56807 35.73360 9.19799
## (between_SS / total_SS = 72.2 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
Para una mejor comprensión de la interpretación anterior, se realiza el siguiente gráfico, ahciendo uso de la librería factoextra
library(factoextra)
fviz_cluster(km, data = dataNew.scaled)
Interpretación: En el caso de k-means, este realiza las agrupaciones basándose en los centroides. Entonces, de acuerdo a ello, se interpreta lo siguiente:
La tasa de asistencia en educación inicial, primaria y secundaria es favorable para el primer cluster, donde a pesar de pertenecer a zonas rurales de la sierra y selva: se presencia que los padres envían a sus hijos a la escuela en la etapa inicial y primaria. La tasa de eficiencia interna primaria y secundaria denota el logro de alumnos promovidos en la etapa primaria y secundaria , donde los padres apoyan directamente con su alimentación para que permanezcan concentrados en las clases y el hecho de la no necesidad del alumno en realizar otras actividades.
Mientras: La cantidad de alumnos matriculados de inicial y secundaria es relativamente baja, ya sea por motivos que los padres prefieren tener a sus niños cerca y la movilidad para llegar a sus centro de estudios que podrían estar alejados.Donde también la cantidad de docentes que asisten a enseñar es baja tanto para la educación inicial, primaria y secundaria, ya que estos departamentos están alejados de las escuelas, la cual no les permite cubrir estas plazas.La cantidad de centros educativos para los 3 niveles también son pocos ya sean por temas de que estos departamentos están en zonas vulnerables de riesgo o el escaso trabajo de las autoridades para la construcción de las mismas.
La cantidad de alumnos matriculados de inicial, primaria y secundaria para el segundo cluster es alta , donde se refleja el interés de los padres para matricular a sus hijos en los centros educativos. La cantidad de docentes que cubrieron las plazas para los distintos niveles es aceptable a la par con la gran cantidad de centros educativos inicial, primaria y secundaria que se construyeron en este grupo de departamentos.
Mientras tanto la dedicación de los demás factores no se refleja en la asistencia de los alumnos a los centros educativos inicial, primaria y secundaria donde es muy baja. Es por ello que la tasa de eficiencia interna para el nivel primaria y secundaria es muy baja, ya sean por temas de poco acceso y movilidad a los centros educativos o baja alimentación para la perfecta concentración.
Para el tercer cluster se refleja la buena cantidad de alumnos matriculados de los niveles de inicial y secundaria ,donde la tasa de asistencia para estos mismos niveles es aceptable. Ya que existen buena cantidad de docentes que cubrieron las plazas para estos niveles. La tasa de eficiencia de los pocos alumnos matriculados para el nivel primario es muy buena.
Mientras tanto la escasez de docentes que cubren plazas para el nivel primario va de la mano con la cantidad de alumnos matriculados para este nivel. La cantidad de centros educativos para el nivel inicial , primario y secundario es baja ya sea por motivos de demora de construcción de proyectos, corrupción o ubicarse en zonas de riesgo.
La cantidad de docentes que asisten a dictar clases para el nivel inicial y secundaria es muy baja esto refleja la baja cantidad de alumnos matriculados para este nivel. A la vez refleja una baja tasa de asistencia de alumnos para el nivel de educación inicial y secundaria. La tasa de eficiencia interna del nivel primario y secundaria es muy baja para promoverse de grado.
La cantidad de centros educativos del nivel de inicial , primaria y secundaria son muy escasas e inexistentes para algunos partes del grupo de los departamentos que comprenden el cuarto cluster. La cantidad de docentes que cubren el nivel de educación primaria es muy baja o inexistente por lo tanto la matrícula de alumnos para ese nivel es poca y para ello la tasa de asistentes también es muy baja. Esto es ocasionado muchas veces por la despreocupación de las autoridades en el sector de educación.
De igual modo, se realiza una función el cual nos permita determinar la cantidad óptima de clúster que se pueda tener para el uso del algoritmo de PAM
library(cluster)
library("NbClust")
nb <- NbClust(dataNew.scaled, distance = "euclidean",
min.nc = 2,
max.nc = 9,
method = "ward.D2",
index = "all")
## *** : The Hubert index is a graphical method of determining the number of clusters.
## In the plot of Hubert index, we seek a significant knee that corresponds to a
## significant increase of the value of the measure i.e the significant peak in Hubert
## index second differences plot.
##
## *** : The D index is a graphical method of determining the number of clusters.
## In the plot of D index, we seek a significant knee (the significant peak in Dindex
## second differences plot) that corresponds to a significant increase of the value of
## the measure.
##
## *******************************************************************
## * Among all indices:
## * 1 proposed 2 as the best number of clusters
## * 14 proposed 3 as the best number of clusters
## * 3 proposed 4 as the best number of clusters
## * 1 proposed 7 as the best number of clusters
## * 4 proposed 9 as the best number of clusters
##
## ***** Conclusion *****
##
## * According to the majority rule, the best number of clusters is 3
##
##
## *******************************************************************
fviz_nbclust(nb) + theme_minimal()
## Among all indices:
## ===================
## * 2 proposed 0 as the best number of clusters
## * 1 proposed 1 as the best number of clusters
## * 1 proposed 2 as the best number of clusters
## * 14 proposed 3 as the best number of clusters
## * 3 proposed 4 as the best number of clusters
## * 1 proposed 7 as the best number of clusters
## * 4 proposed 9 as the best number of clusters
##
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is 3 .
Entonces, de acuerdo al gráfico se tiene que el k óptimo para el algoritmo PAM es 3.
km_pam <- pam(dataNew.scaled, 3)
km_pam
## Medoids:
## ID almain_1 almapr_2 almase_3 taasi_17 taasp_18 taass_19
## Apurimac 3 -0.5682957 -0.5164263 -0.5945564 -0.2390060 -0.4685971 -0.1670916
## Ancash 2 0.9881263 0.6304097 0.6540153 0.6343711 -0.7702639 -0.5442188
## Moquegua 16 -1.3854927 -1.4631590 -1.3713682 0.9854344 0.9848885 1.8891499
## taefp_22 taefs_23 doin_24 dopr_25 dose_26 cein_29
## Apurimac -1.0218301 -1.0892240 -0.7195449 -0.5831362 -0.770726 -0.4639835
## Ancash -0.6353981 -0.6035190 0.9294151 0.9072402 1.176541 1.2511632
## Moquegua 1.3318922 0.9047228 -1.0953393 -1.3658269 -1.186294 -1.2979872
## cepr_30 cese_31
## Apurimac -0.4873070 -0.5552094
## Ancash 0.6524958 1.0499019
## Moquegua -1.3113202 -1.3725723
## Clustering vector:
## Amazonas Ancash Apurimac Arequipa Ayacucho
## 1 2 1 2 1
## Cajamarca Cusco Huancavelica Huánuco Ica
## 2 2 1 1 3
## Junín La Libertad Lambayeque Loreto Madre de Dios
## 2 2 2 2 3
## Moquegua Pasco Piura Puno San Martín
## 3 1 2 2 1
## Tacna Tumbes Ucayali
## 3 3 1
## Objective function:
## build swap
## 2.419143 2.275837
##
## Available components:
## [1] "medoids" "id.med" "clustering" "objective" "isolation"
## [6] "clusinfo" "silinfo" "diss" "call" "data"
Para una mejor comprensión de la interpretación anterior, se realiza el siguiente gráfico, ahciendo uso de la librería factoextra
library(factoextra)
fviz_cluster(km_pam)
Interpretación:
En el caso de PAM, este realiza las agrupaciones basándoce en los medoídes Entonces, de acuerdo a ello, se interpreta lo siguiente:
Se tiene los siguientes departamentos, Pasco, San Martín, Ucayali, Apurimac, Ayacucho, Amazonas, Huancavelica y Huánuco. Estas se encuentran agrupadas porque presentan una baja cantidad de alumnos matriculados en el nivel inicial, primaria, secundaria, también presenta un declive en la tasa de eficiencia interna en el nivel primaria y secundaria, no presenta una alta normalidad con respecto a los docentes en el nivel inicial, primaria y secundaria. Con respecto a los centros educactivos, refleja de igual modo poca consideración en el nivel secundaria.
Por otro lado, se refleja baja consideración, la tasa de asistencia en el nivel inicial, primaria y secundaria, de igual modo con los centros educativos inicial y primaria.
Se tiene los siguientes departamentos, Loreto, Cajamarca, Cusco, Ancash, La Libertad, Lambayeque, Arequipa, Puno y Junin. Estas se encuentran agrupadas porque presentan una alta concentración en relación a sus alumnos matriculados, en el nivel inicial, primaria y secundaria, también presentan una considerable tasa de asistencia en educación inicial. También se considera a los docentes en educación inicial, primaria y secundaria. Con respecto a los centros educativos, resalta más el nivel primaria y secundaria.
Por último estos departamentos presentan una tasa baja de asistencia en educación primaria, secundaria y una tasa baja de eficiencia interna en el nivel primaria y secundaria.
En el 3er clúster se tiene los siguientes departamentos, Madre de Dios, Moquegua, Tumbes, Tacna e Ica. Estas se encuentran agrupadas porque presentan similitudes en la tasa de asistencia en educación inicial, primaria y secundaria, tambiém presenta una tasa de eficiencia interna en el nivel primaria y secundaria.
Por otro lado, presenta pocos alumnos matriculados en el nivel inicial, primaria y secundaria. En cuestión de docentes del mismo modo en los tres niveles y con respecto a los centros educativos, solo en el nivel primaria y secundaria.
clarafit <- clara(dataNew.scaled, 3, samples = 5)
clarafit
## Call: clara(x = dataNew.scaled, k = 3, samples = 5)
## Medoids:
## almain_1 almapr_2 almase_3 taasi_17 taasp_18 taass_19
## Apurimac -0.5682957 -0.5164263 -0.5945564 -0.2390060 -0.4685971 -0.1670916
## Ancash 0.9881263 0.6304097 0.6540153 0.6343711 -0.7702639 -0.5442188
## Moquegua -1.3854927 -1.4631590 -1.3713682 0.9854344 0.9848885 1.8891499
## taefp_22 taefs_23 doin_24 dopr_25 dose_26 cein_29
## Apurimac -1.0218301 -1.0892240 -0.7195449 -0.5831362 -0.770726 -0.4639835
## Ancash -0.6353981 -0.6035190 0.9294151 0.9072402 1.176541 1.2511632
## Moquegua 1.3318922 0.9047228 -1.0953393 -1.3658269 -1.186294 -1.2979872
## cepr_30 cese_31
## Apurimac -0.4873070 -0.5552094
## Ancash 0.6524958 1.0499019
## Moquegua -1.3113202 -1.3725723
## Objective function: 2.275837
## Clustering vector: Named int [1:23] 1 2 1 2 1 2 2 1 1 3 2 2 2 2 3 3 1 2 ...
## - attr(*, "names")= chr [1:23] "Amazonas" "Ancash" "Apurimac" "Arequipa" "Ayacucho" "Cajamarca" "Cusco" ...
## Cluster sizes: 8 10 5
## Best sample:
## [1] Amazonas Ancash Apurimac Arequipa Ayacucho
## [6] Cajamarca Cusco Huancavelica Huánuco Ica
## [11] Junín La Libertad Lambayeque Loreto Madre de Dios
## [16] Moquegua Pasco Piura Puno San Martín
## [21] Tacna Tumbes Ucayali
##
## Available components:
## [1] "sample" "medoids" "i.med" "clustering" "objective"
## [6] "clusinfo" "diss" "call" "silinfo" "data"
Para una mejor comprensión de la interpretación anterior, se realiza el siguiente gráfico, ahciendo uso de la librería factoextra
library(factoextra)
fviz_cluster(clarafit)
Interpretación:
En el caso de CLARA, este realiza las agrupaciones basándoce en los medoídes Entonces, de acuerdo a ello, se interpreta lo siguiente:
En el 1er clúster se tiene los siguientes departamentos, Pasco, San Martín, Ucayali, Apurimac, Ayacucho, Amazonas, Huancavelica y Huánuco. Estas se encuentran agrupadas porque presentan una baja cantidad de alumnos matriculados en el nivel inicial, primaria, secundaria, también presenta un declive en la tasa de eficiencia interna en el nivel primaria y secundaria, no presenta una alta normalidad con respecto a los docentes en el nivel inicial, primaria y secundaria. Con respecto a los centros educactivos, refleja de igual modo poca consideración en el nivel secundaria.
Por otro lado, se refleja baja consideración, la tasa de asistencia en el nivel inicial, primaria y secundaria, de igual modo con los centros educativos inicial y primaria.
En el 2do clúster se tiene los siguientes departamentos, Loreto, Cajamarca, Cusco, Ancash, La Libertad, Lambayeque, Arequipa, Puno y Junin. Estas se encuentran agrupadas porque presentan una alta concentración en relación a sus alumnos matriculados, en el nivel inicial, primaria y secundaria, también presentan una considerable tasa de asistencia en educación inicial. También se considera a los docentes en educación inicial, primaria y secundaria. Con respecto a los centros educativos, resalta más el nivel primaria y secundaria.
Por último estos departamentos presentan una tasa baja de asistencia en educación primaria, secundaria y una tasa baja de eficiencia interna en el nivel primaria y secundaria.
En el 3er clúster se tiene los siguientes departamentos, Madre de Dios, Moquegua, Tumbes, Tacna e Ica. Estas se encuentran agrupadas porque presentan similitudes en la tasa de asistencia en educación inicial, primaria y secundaria, tambiém presenta una tasa de eficiencia interna en el nivel primaria y secundaria.
Por otro lado, presenta pocos alumnos matriculados en el nivel inicial, primaria y secundaria. En cuestión de docentes del mismo modo en los tres niveles y con respecto a los centros educativos, solo en el nivel primaria y secundaria.