Introducción
La apicultura es la actividad dedicada a la crianza de las abejas y a prestarles los cuidados necesarios con el objetivo de obtener y consumir los productos que son capaces de elaborar y recolectar. El principal producto que se obtiene de esta actividad es la miel, la cual es un factor de beneficio para los humanos.
Desde finales de los años 90, apicultores de todo el mundo han observado la misteriosa y repentina desaparición de las abejas, y han informado de tasas inusualmente altas de descenso en las poblaciones de las colonias de abejas melíferas, lo cierto es que las poblaciones de abejas y otros muchos polinizadores silvestres se encuentran actualmente en declive. Si consideramos las consecuencias de este fenómeno en aumento, tan solo desde el punto de vista de la función polinizadora de las abejas, podemos determinar que las consecuencias serían devastadoras, tanto para los propios ecosistemas como para la economía a nivel global.
Análisis de clustering con K-Means
El término clustering hace referencia a un amplio abanico de técnicas no supervisadas cuya finalidad es encontrar patrones o grupos (clusters) dentro de un conjunto de observaciones. Las particiones se establecen de forma que, las observaciones que están dentro de un mismo grupo, son similares entre ellas y distintas a las observaciones de otros grupos. Se trata de un método no supervisado, ya que el proceso ignora la variable respuesta que indica a que grupo pertenece realmente cada observación (si es que existe tal variable).
K-Means clustering
El método K-means clustering (MacQueen, 1967) agrupa las observaciones en K clusters distintos, donde el número K lo determina el analista antes de ejecutar del algoritmo. K-means clustering encuentra los K mejores clusters, entendiendo como mejor cluster aquel cuya varianza interna (intra-cluster variation) sea lo más pequeña posible. Se trata por lo tanto de un problema de optimización, en el que se reparten las observaciones en K clusters de forma que la suma de las varianzas internas de todos ellos sea lo menor posible. Para poder solucionar este problema es necesario definir un modo de cuantificar la varianza interna.
Datos
library(pacman)
p_load(rmdformats, readr, readxl, ggplot2, plotly, DT, xfun, gridExtra, leaflet, GGally, psych, corrplot, cluster)
library(readxl)
PM <- read_excel("atlas api .xlsx")
datatable(PM)
visualización de los datos graficamente
Para esto haremos un diagrama de dispersion o scatterplot.
ggplot(PM, aes(YEAR, PRODUCCION, color = ESTADO)) +
ggtitle("Producción por año")+
geom_line()+
geom_point(size=4)
ggplot(PM, aes(YEAR, PRODUCCION, color = ESTADO) ) +
geom_point(aes(YEAR=ESTADO), size=4)
## Warning: Ignoring unknown aesthetics: YEAR
Podemos ver qye si bien de los años de 2003 al rededor del 2012 los estados no tienen muchas similitudes entre si, debido a que cada estado utiliza diferentes metodos de apicultura lo cuald deriva en diferentes cantidades de produción, sin emabargo al rededor del año del 2015 Quintana Roo y Jalisco presentan ciertas similitudes en cantidades a excepción de Yucatan que presento una baja en producción importante a comparación de años anteriores, talvez devido a que se organizaron un metodo común de agricultura y Yucatan no se adapto a comparación de Jalisco y Quintana Roo.
Modelo de clustereización usando k medias
set.seed(101)
PMCluster <- kmeans(PM[,2], center= 3, nstart = 20)
PMCluster
## K-means clustering with 3 clusters of sizes 14, 17, 20
##
## Cluster means:
## PRODUCCION
## 1 9485.879
## 2 2698.033
## 3 5860.918
##
## Clustering vector:
## [1] 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2
## [39] 2 2 2 2 2 2 2 2 2 2 2 2 2
##
## Within cluster sum of squares by cluster:
## [1] 19545446 4938183 10719279
## (between_SS / total_SS = 91.0 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
Utilizando los datos de producción de miel por estado se pueden observar 3 clústeres con diferentes valores de producción cual por la cuales podemos identificar los a Yucatán (9485.879), Quintana Roo (2698.033) y Jalisco (5860.918), al tener valores tan diferentes se puede entender que no hay relaciones entre ellos.
table(PMCluster$cluster, PM$ESTADO)
##
## JALISCO QUINTANA_ROO YUCATAN
## 1 0 0 14
## 2 0 17 0
## 3 17 0 3
En el análisis de clústeres se puede ver que se diferencia claramente Jalisco y Quintana Roo, sin embargo, para Yucatán debido a que tuvo una baja alrededor de 2012 existe cierta interferencia en otros clústeres.
Representación grafica de los clusters modelados y metodo de codo
clusplot(PM, PMCluster$cluster, color= TRUE, shade= TRUE, lines=0)
Aquí podemos ver la representación gráfica de los clústeres modelados donde Quintana Roo y Jalisco tienen cierta semejanza en cuanto al nivel de componentes 2, sin embargo para Yucatán al producir más miel y tener altas y bajas más importantes a comparación de los estados anteriores por lo cual produce más interferencias entre los datos de los clústeres.
Sin embargo, el modelo no especifica claramente número de centros en los clústeres, por lo cual se utilizará el método de codo la cual considera la suma de cuadrados total dentro de los clústeres como una función del número de ellos
tot.withinss <- vector(mode="character", length=15)
for (i in 1:15){
PMCluster <- kmeans(PM[,2], center=i, nstart=20)
tot.withinss[i] <- PMCluster$tot.withinss
}
Vemos el resultado del metodo de codo
plot(1:15, tot.withinss, type = "b", pch=19) +
geom_vline(xintercept = 4, linetype = 2)
## NULL
La ubicación de una rodilla en el plot se suele considerar como un indicador del número apropiado de clústeres porque significa que hay que agregar otro clúster, por este método parece sugerir que hay 4 grupos.