Ganadería y Cambio Climático
Introducción
El presente documento, está enfocado al análisis comparativo del efecto que tiene la ganadería en el cambio climático y como el clima afecta a la ganadería
Actualmente, en México las actividades pecuarias siguen siendo de gran importancia, a tal grado que México es el 7° productor mundial de carne a nivel mundial y el décimo en exportación de bovino (Compendio Estadístico, 2019), debido a que los productos cumplen con estándares de calidad e inocuidad, lo que posiciona a México como un jugador importante en el mercado.
Sin embargo, desde 1992 los expertos han encontrado una relación directa entre el desarrollo de la ganadería y la contaminación ambiental y viceversa (Pérez,2008). Lo cual lleva a cuestionarse que perspectivas se tienen de esta actividad en México, país en el cual es uno de los sectores económicos más prósperos (Fideicomiso de Riesgo Compartido, 2017)
Antecedentes
La crianza de animales es considerada como una de las actividades económicas más antiguas del mundo; ha sido una actividad común en el territorio nacional desde que introducida en México durante la época de la colonización, ya que en la época prehispánica solo se enfoca a la crianza del pavo, xoloitzcuintle, la cochinilla de grana y algunas especies apícolas (Fideicomiso de Riesgo Compartido, 2017).
México desarrollan principalmente las ganaderías bovina, porcina, ovina, caprina y aviar. Por otra parte, también se realiza la producción de leche y huevos, subproductos que nos proporcionan una gran contribución a la industria alimenticia y son primordiales para la dieta del mexicano promedio (SIAP, 2018).
Entre los factores que influyen para una buena producción de ganado están: temperatura del aire, humedad, precipitación y condiciones geográficas del lugar (Arias y col, 2008)
Marco Teórico
El Servicio de Información Agroalimentaria y Pesquera (SIAP) define la ganadería como “Una actividad del sector primario que consiste en la cría, tratamiento y reproducción de animales domésticos con fines de producción para el consumo humano” y entre los animales más comúnmente utilizados para estas actividades se encuentran: cerdos, vacas, pollos, borregos y abejas.
Ganadería en el contexto global
Se destina un total del 30% de la superficie libre de hielo del planeta para llevar a cabo actividades ganaderas, esto corresponde a 3,900 millones de hectáreas, las cuales se reparten de acuerdo a la Figura 1 (Pérez, 2008):
Los cambios experimentados en el contexto global de la ganadería se deben a distintos factores:
• Transición demográfica: El crecimiento poblacional y los cambios en el nivel de urbanización que estos representan. • Crecimiento económico: Las actividades de producción animal representaron un incremento del 2.3% de ingreso per cápita en países en vías de desarrollo. • Transición nutricional: En países en desarrollo las dietas comienzan a ser más variadas e incluyen más alimentos procesados, de origen animal, azúcares, grasas y alcohol. • Cambio tecnológico: Hay un aumento de rendimiento en la ganadería debido a mejoras en la genética y alimentación, mientras que la tecnología de información facilita la distribución y mercadeo de estos productos (Pérez, 2008).
En el contexto económico global, se espera que los precios de la carne aumenten de manera moderada hacia el 2029 (Figura 2), como consecuencia, la rentabilidad de esta actividad incrementará a pesar del aumento de los costos de forraje. Así mismo, el crecimiento de consumo de carne se elevará un 12%. Gran parte de las exportaciones vendrán de países en vías de desarrollo (OECED/FAO, 2017).
En cuanto a predicciones de producción mundial por región, se espera lo siguiente: Se prevé que Brasil, China, la Unión Europea y Estados Unidos producirán 60% de la carne para consumo humano para 2029. La producción de la Unión Europea solo tendrá una ligera reducción en la demanda de res y cerdo (OECED/FAO, 2017)
A pesar de estos aumentos en tendencia, la creciente preocupación global sanitaria y ambiental han llevado a que los consumidores reduzcan la proporción de carne roja y opten por un aumento de alimentos de aves de corral. Países de altos niveles de vida han alcanzado niveles de saturación en términos de consumo per cápita. Además de que existen iniciativas en políticas públicas para reducir el consumo de carne influidas fuertemente por la preocupación por el cambio climático, la obesidad y estilos de vida alternativos (OECED/FAO, 2017).
Las cifras del consumo mundial de carne se ven ilustradas en la Figura 3:
Se puede observar como el continente americano de forma general es un ávido consumidor de carne, con la mayoría de los países mostrando los dos rangos de cifras más altas de consumo en kilos por persona, siguiendo con los países europeos y Australia. Mientras que las zonas que muestran un menor índice de consumo corresponden al sur de Asia y el continente africano.
Ganadería en México y Sonora
De acuerdo a la Secretaria de Agricultura, Ganadería, Desarrollo Rural, Pesca y Alimentación (SAGARPA). México tiene el séptimo lugar de producción de alimentos de origen animal a escala global, así como el onceavo lugar en exportaciones de productos agroalimentarios a nivel mundial, contando con una producción de:
• 2.8 millones de toneladas de huevo. • 3.3 millones de toneladas de carne de ave. • 1.9 millones de toneladas de bovino. • 1.4 millones de toneladas de porcino
Se trata de la actividad económica más extendida por todo el país, puesto que tiene importancia en los sectores rurales, esto en parte a que las condiciones climáticas no permiten la forma eficaz de realizar otras actividades económicas primarias (Fideicomiso de Riesgo Compartido, 2017).
Sonora aporta el 4.3% de la producción de ganado bovino en México, posicionando a esta entidad federativa en el séptimo lugar a nivel nacional. La modalidad extensiva de la ganadería llega a ocupar 15 millones de hectáreas, lo cual corresponde al 80% de la superficie del estado, (Denogean y col, 2013)
Relación de la Ganadería y la Crisis Ambiental
Las actividades agropecuarias están ligadas estrechamente a factores ambientales como el clima, la forma del terreno, temperatura, precipitación, etc. Por lo tanto, los cambios resultantes del cambio climático tienen un impacto severo en este sector, como se puede observar en la Figura 4 (Saiz, 2010).
Se puede observar como de acuerdo en la primera gráfica de la Figura, hay un decremento importante de la precipitación anual de México en 2011, de acuerdo a las siguientes dos gráficas, esto estuvo fuertemente ligado a la caída de producción de ganado bovino y de cabras, con la única excepción de la cría de ovejas.
En el contexto sonorense, la falta de precipitaciones ha causado una sequía (Figura 5) que ha afectado fuertemente la entidad, 39 municipios se encuentran en condiciones extremas y 5 enfrentan un estado crítico, de acuerdo a la CONAGUA. Como resultado, la población de animales ganaderos ha disminuido en 307 mil cabezas, esto representa una pérdida monetaria de tres mil millones de pesos (El Sol de México, 2021)
Linthicum (2021) en su artículo publicado por Los Angeles Times, documenta como la población rural que se dedica a la crianza de animales tienen predicciones pesimistas sobre las actividades ganadera, a pesar de no utilizar el térmico “cambio climático”, especifican como cada año se percibe como más seco y caliente que el anterior. En los meses previos a la publicación, se comenta que 70 de las 100 vacas del rebaño han muerto de hambre por la falta de comida ocasionada por la falta de lluvias.
Sin embargo, se debe considerar también que el cambio climático y el deterioro de la ganadería tienen una relación bastante recíproca. A nivel mundial, el sector ganadero, más específicamente, la producción de carne y leche de bovino es responsable de la mayoría de las emisiones de gases de efecto invernadero, contribuyendo con el 41% y el 29 % respectivamente. Mientras que la carne de cerdo y los huevos de aves de corral contribuyen con el 9 y el 8 % de las emisiones del sector. El almacenamiento y elaboración del estiércol representa el 10 %. La parte restante se atribuye a la elaboración y el transporte de productos pecuarios (Gerber y col, 2013)
Producir un kilo de carne de vaca se requieren consumir 15.000 litros de agua, La huella hídrica de la carne de vacuno es seis veces más grave que la de la correspondiente al crecimiento de legumbres. La industria porcina produce deshechos cargados de nitrato que causan la contaminación de diversas fuentes de agua dulce (Bustos, 2019).
Planteamiento del Problema
Al día de hoy, no existe un modelo que analice la relación directa entre ciertos parámetros (temperatura, precipitación, etc.) y su impacto en la ganadería sonorense, así como predicciones creíbles sobre el panorama de esta actividad ante la crisis climática y las posibles alternativas o contingencias que se podrían implementar.
Objetivo
Comprobar si existe una relación entre la producción pecuaria y el cambio climático además de comprobar si existe una relación entre el cambio climático y la producción pecuaria en México.
Librerías usadas
Las librerías son una colección de todas aquellas funciones y conjuntos de datos, con el fin de añadir nuevas funcionalidades base en R y añadiendo nuevas funciones, con el fin de trabajar de una manera más eficiente los datos. Las librerías que utilizaremos durante todo el documento se encuentran en este apartado y su función se describe a continuación:
library(pacman)
p_load("xfun","ggplot2", "readr", "plotly", "readxl", "DT","vembedr","tidyverse", "forecast", "tseries", "xfun","cluster","readxl","ISLR","class", "cluster","datasets","fdth","rmdformats","plotly","gridExtra","leaflet","TSstudio", "dplyr", "psych", "GGally", "corrplot", "lubridate", "forecast", "TTR", "MLmetrics", "tseries", "fpp")
- xfun : Nos permite embeber dentro del documento los archivos que utilizamos en el proyecto para que puedan ser descargados.
- ggplot2 : Librería enfocada a generar gráficas.
- readr : Permite leer archivos .csv para importarlos dentro de nuestro proyecto.
- plotly : Librería enfocada a generar gráficas interactivas.
- readxl : Permite leer archivos .xlsx (Excel) para importarlos dentro de nuestro proyecto.
- DT : Permite mostrar los datos contenidos en un dataset de manera visual dentro de una tabla. -vembedr: Perimite la subida de documentos RMarkdown -tidyverse: Ayuda en todo el proceso de importar transformar visualizar modelar y comunicar toda la información -forecast: Proporciona métodos y herramientas para mostrar y analizar pronósticos de series de tiempo univariantes, incluidos pronósticos exponenciales. -tseries: Permite manipular datos correspondiente a series de tiempo. -xfun: Permite la subida de documentos y descarga de codigo.
Datos
En el siguiente apartado vamos a mostrar los datos utilizados para el análisis, estos mismos fueron limpiados e introducidos en R para su uso, todos los documentos se encuentran en el apartado de descargas de este mismo documento.
Datos de producción pecuaria en México (2005 - 2020)
Los datos de producción pecuaria en México son obtenidos del Servicio de Información Agroalimentaria y Pesquera de México dentro de su página oficial que se encuentra en el siguiente enlace: http://infosiap.siap.gob.mx/gobmx/datosAbiertos.php
Se cuenta con registros de la producción pecuaria desde el año 2005 hasta 2020.
Los datos fueron simplificados obteniendo la suma de todos los municipios (Excepto el precio, dónde se obtuvo el promedio), para tener sólo los registros Estatales de producción de cada una de las Especies.
Produccion_Pecuaria_Mexico <- read.csv("Produccion-Pecuaria-Mexico.csv")
Produccion_Pecuaria_Mexico <- Produccion_Pecuaria_Mexico %>% mutate_at("Estado" , factor)
Produccion_Pecuaria_Mexico <- Produccion_Pecuaria_Mexico %>% mutate_at("Especie" , factor)
Produccion_Pecuaria_Mexico <- Produccion_Pecuaria_Mexico %>% mutate_at("Producto" , factor)
datatable(Produccion_Pecuaria_Mexico)
Significado de los datos
- Anio - Año de registro de los datos.
- Estado - Estado de la república mexicana de donde pertenecen los datos. (El antes llamado Distrito Federal es llamado Ciudad de México en todos los registros)
- Especie - Especie animal de la cual se obtuvieron los datos.
- Producto - Tipo de producto que se contempla en el registro.
- Volumen - Volumen de producción obtenido en el año medido en toneladas. (La producción de leche se expresa en miles de litros)
- Peso - Peso de en kilogramos de los animales sacrificados, una vez retiradas las partes que no se consideran dentro de la canal. La canal es determinada dependiendo la especie pecuaria que se trate.
- Precio_Promedio - Es el precio promedio por kilogramo de la carne canal pagado al productor. Para el caso de la leche, huevo para plato, miel, cera en greñay lana sucia, es el precio al que el productor realiza la primera venta a pie de rancho o granja. Las unidades están expresadas en peso por kilogramo, excepto para el caso de la leche, cuya unidad se expresa en pesos por litro.
- Valor - Es el valor monetario a pesos corrientes de los productos pecuarios durante el periodo de referencia, la unidad esta dada en miles de pesos.
- Sacrificado - Número de animales que se sacrificaron para obtener la producción de carne canal que se reporta. La unidad se expresa en cabezas.
Datos de temperatura mínima, media, máxima y precipitaciones en México (2005 - 2020)
Los datos de Temperatura y Precipitaciones de México se obtuvieron de la página de CONAGUA que se encuentra en el siguiente enlace: https://smn.conagua.gob.mx/es/climatologia/temperaturas-y-lluvias/resumenes-mensuales-de-temperaturas-y-lluvias
Se cuenta con registros a nivel Estatal del año 2005 hasta 2020, que incluyen Temperatura Mínima, Promedio y Máxima así como la cantidad de precipitaciónes en Milímetros
Temperaturas <- read_excel("Temperaturas.xlsx")
Temperaturas <-Temperaturas %>% mutate_at("Entidad" , factor)
Temperaturas<- Temperaturas %>% mutate_at("Año" , factor)
datatable(Temperaturas)
Datos de temperatura mínima, media, máxima promedio, ademas de la Precipitacion por metro cubico en México por Estado del año 2005 hasta 2020
Significado de los datos
- Año - Año de registro de los datos.
- Entidad - Estado de la república mexicana de donde pertenecen los datos.
- Temperatura_Minima_Promedio_Celsius - Temperatura minima promedio en Celcius.
- Temperatura_Media_Promedio_Celsius - Temperatura media promedio en Celcius.
- Temperatura_Maxima_Promedio_Celsius - Temperatura maxima promedio en Celcius.
- MM - Precipitacion por metro cubico.
Datos de temperatura mínima, media, máxima, precipitaciones en México e IVF (Indice del Volumen Fisico del año 2021)
La siguiente tabla es una es similar a la anterior, sólo que esta incluye el índice de Volumen Físico de producción pecuaria en toneladas, este también es obtenido del SIAP, que se encuentra en el siguiente enlace: http://infosiap.siap.gob.mx/gobmx/datosAbiertos.php
datos2021 <- read_excel("Datos-2021.xlsx")
datatable(datos2021)
Datos de temperatura mínima, media, máxima promedio, de la Precipitacion por metro cubico en México y el IVF por Estado del año 2021 ### Significado de los datos
- Año - Año de registro de los datos.
- Entidad - Estado de la república mexicana de donde pertenecen los datos.
- Temperatura_Minima_Promedio_Celsius - Temperatura minima promedio en Celcius.
- Temperatura_Media_Promedio_Celsius - Temperatura media promedio en Celcius.
- Temperatura_Maxima_Promedio_Celsius - Temperatura maxima promedio en Celcius.
- MM - Precipitacion por metro cubico.
- Promedio_IVF - Indice de Volumen Físico en toneladas sobre la variación de generación de productos Pecuarios (Siendo Pecuarios la Carne en Canal de Bovino, Caprino, Ovino, Pavo, Pollo y Gallina, Porcino, huevos de gallina, leche de bovino, caprino y miel de abeja) en referencia a la producción del año 2013.
- Sequia - Representa si el estado se encuentra actualmente con más del 25% de su territorio con problemas de sequía.
Metodología
Para responder a las preguntas planteadas anteriormente se usarán los siguientes métodos:
- Regresión Logística
- K-Nearest Neighbour
- Análisis de Series de Tiempo
Cada método es explicado y desarrollado a continuación:
Regresion Logística Simple
La regresión logística es un tipo de análisis de regresión que nos permite predecir una variable en función de variables predictoras, este es útil para modelar la probabilidad de que un evento suceda basado en otras variables.
El objetivo del siguiente análisis es utilizar la regresión logística simple para determinar si la temperatura es un factor promedio maxima es un factor clave en determinar si el estado o no presenta sequia. Donde 0=No Presenta Sequia y 1 = Presenta sequia. Por ende a mayor temperatura el estado presentara sequia o no.
Datos
El desarrollo del siguiente análisis solo será realizado al año 2021.
datosL0<-read_excel("datosLogistica.xlsx")
datosL<-data.frame(datosL0)
datatable(datosL)
Los datos de este caso estan etiquetados en Se presenta Sequia=1 y No se presenta=0.
Tabla de frecuencia de los datos
tabla <- table(datosL$Sequia)
tabla
##
## 0 1
## 16 16
Según la tabla anterior se presentaron 16 estados que tuvieron problemas de sequía, vamos a conocer si la temperatura máxima promedio es un factor determinante para que un estado tenga problemas de sequía.
Viendo esta relación gráficamente
colores <- NULL
colores[datosL$Sequia == 0] <- "blue"
colores[datosL$Sequia == 1] <- "red"
plot(datosL$Temperatura_Maxima_Promedio_Celsius, datosL$Sequia, pch=21, bg= colores,
xlab = "Temperatura maxima promedio", ylab = "Probabilidad Sequia")
legend("top", c( "No presenta Sequia","Presenta sequia"), pch=21, col = c("blue", "red"))
A simple vista, podemos observar que entre mayor temperatura tenemos, más problemas de sequías se sufren, por lo que podemos pensar que las temperaturas máximas tienen cierta influencia para determinar si un estado presenta problemas de sequía o no. Ahora procederemos a crear un modelo con el uso de la regresión logística para comprobar si realmente existe una correlación entre ambas variables.
regresion <- glm(Sequia ~ Temperatura_Maxima_Promedio_Celsius, data=datosL , family= binomial)
summary(regresion)
##
## Call:
## glm(formula = Sequia ~ Temperatura_Maxima_Promedio_Celsius, family = binomial,
## data = datosL)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.53102 -1.04325 0.06474 1.09614 1.48535
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -6.4842 4.0269 -1.61 0.107
## Temperatura_Maxima_Promedio_Celsius 0.2208 0.1363 1.62 0.105
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 44.361 on 31 degrees of freedom
## Residual deviance: 41.445 on 30 degrees of freedom
## AIC: 45.445
##
## Number of Fisher Scoring iterations: 4
En la tabla anterior, podemos ver que la sequía en función de la temperatura máxima promedio tiene un PValor de 0.105 por lo que podemos decir que se puede identificar a los estados con problemas de sequía en base a la Temperatura Máxima Promedio con un 89.5% de seguridad.
Análisis del modelo
Nuestra fórmula quedaría de la siguiente manera:
P(Y=1|X)={e{-35.1229+0.1194x}}{1+e{-35.1229+0.1194x}}
Con ella podemos predecir si un Estado tiene probabilidades de sufrir sequías o no, en función de sus temperaturas máximas promedio, según nuestro resultado se acerque mas al 0 o al 1, será nuestra respuesta, siendo 0 = No sufres sequía y 1 = sufre sequía.
Predicción para valores nuevos con el modelo ajustado
Para representar gráficamente la función logística estimada, calculamos las probabilidades de fallo estimadas (usando el comando predict) para un vector adecuado de nuevas temperaturas maximas promedio (20 y 35 ): Por lo tanto generamos una secuencia de datos, el cual llamaremos datos nuevos, con separaciones de 0.1.
datos_nuevos <-data.frame(Temperatura_Maxima_Promedio_Celsius= seq(20,35,0.1) )
head(datos_nuevos)
## Temperatura_Maxima_Promedio_Celsius
## 1 20.0
## 2 20.1
## 3 20.2
## 4 20.3
## 5 20.4
## 6 20.5
Cálculo de las nuevas probabilidades
probabilidades_nuevas <- predict(regresion, datos_nuevos, type="response")
Representación gráfica del ajuste:
colores <- NULL
colores[datosL$Sequia == 0] <- "blue"
colores[datosL$Sequia == 1] <- "red"
plot(datosL$Temperatura_Maxima_Promedio_Celsius, datosL$Sequia, pch=21, bg= colores,
xlab = "Temperatura maxima promedio", ylab = "Probabilidad Sequia")
legend("top", c("Presenta sequia", "No presenta Sequia"), pch=21, col = c("blue", "red"))
lines(datos_nuevos$Temperatura_Maxima_Promedio_Celsius, probabilidades_nuevas)
Como podemos observar en la gráfica, la línea gris va mostrando la probabilidad de presentar sequía en función a la temperatura, y notamos que en efecto, a mayores temperaturas, la probabilidad de sufrir sequías aumenta considerablemente, por lo que determinamos que las temperaturas son un factor importante en las sequías y a su vez, ambas variables afectan directamente a toda la cadena de producción pecuaria.
K-Nearest Neighbors
El algoritmo K-NN es uno de los métodos más importantes de clasificación supervisada.
La clasificación supervisada se refiere a un método que nos permite clasificar por medio de clases, utilizando datos que se encuentran etiquetados, una parte de estos datos es para “entrenar” a nuestro modelo para que pueda discernir entre las diferentes clases, y una vez tenga el suficiente entrenamiento, pueda realizar predicciones a datos sin etiquetar, para que este los pueda etiquetar según sus características.
En el proceso de aprendizaje no se hace ninguna suposición acerca de la distribución de las variables predictoras, es por ello que es un método de clasificación no paramétrico, que estima el valor de la función de densidad de probabilidad o directamente la probabilidad posterior de que un elemento x pertenezca a la clase a partir de la información proporcionada por el conjunto de entrenamiento.
Desarollo
Los datos a utilizar en el siguiente analis KNN serán datos del año 2021
dim(datos2021)
## [1] 32 8
La dimension total de los datos es de 32 registros dividios en 8 columnas principales, como se muestra a continuación:
datatable(datos2021)
Representacion grafica
Para un mejor entendimiento de los datos, graficaremos los datos según su promedio de IVF y las Precipitaciones, adicionalmente, se muestra si dicho registro presenta sequía.
qplot(`MM`,`Promedio_IVF`, data =datos2021, color = `Sequia`, xlab = "Precipitacion MM", ylab = "Promedio del IVF")
Datos
Para un mejor desarrollo del ejemplo sera necesaria la normalizacion de los datos a trabajar, la normalización consiste en crear una función que transforme los datos de las dimensiones en una escala que se calcula del cociente del valor en cuestión menos el valor mínimo de la lista entre el rango de la lista.
datos <- datos2021
nor <-function(x) {(x -min(x))/(max(x)-min(x))}
datos_norm <- as.data.frame(lapply(datos[,c(6,8)], nor))
datos_norm <- cbind(datos_norm, datos[,7])
head(datos_norm)
## MM Promedio_IVF Sequia
## 1 0.134877384 0.3604442 NO
## 2 0.005903724 0.5936982 SI
## 3 0.000000000 0.4001009 SI
## 4 0.465940054 0.1261086 SI
## 5 0.070390554 0.2889177 SI
## 6 0.371480472 0.1938135 NO
Al tratarse de un modelo supervisado, es necesario primero realizar un entrenamiento con una parte de los datos normalizados “datos_norm”. Se tomara el 70% como una muestra para “entrenar” el modelo y el 30% restante para probar el modelo.
id_muestra <- sample(1:nrow(datos_norm), 0.7*nrow(datos_norm))
modelo_knn_train <- datos_norm[id_muestra, -3]
modelo_knn_test <- datos_norm[-id_muestra, -3]
Datos de Entrenamiento
head(modelo_knn_train)
## MM Promedio_IVF
## 4 0.4659401 0.1261086
## 1 0.1348774 0.3604442
## 22 0.1748411 0.2522893
## 6 0.3714805 0.1938135
## 32 0.1507720 0.4573509
## 8 0.1139873 0.3070877
Datos de Prueba
head(modelo_knn_test)
## MM Promedio_IVF
## 5 0.07039055 0.2889177
## 9 0.23841962 0.3339102
## 12 0.42370572 0.3008148
## 13 0.27202543 0.1912899
## 14 0.29745686 0.2779580
## 15 0.30971844 0.4251208
Implementación del modelo
*Seleccionar el número K de los vecinos
Para determinar un número k de los vecinos se realizara calculando la raiz cuadrada de los datos totales de modelo_knn_train(Datos de entrenamiento) y modelo_knn_test.
train_df <- datos_norm[id_muestra, 3]
test_df <- datos_norm[-id_muestra, 3]
El calculo de las raices cuadradas se realizara mediante las siguientes funciones:
k_1 <- floor(sqrt(nrow(modelo_knn_train)))
k_1
## [1] 4
k_2 <- ceiling(sqrt(nrow(modelo_knn_test)))
k_2
## [1] 4
Ejecucón el Modelo
Para ejecutar el algoritmo de KNN se utilizarán tanto los datos deentrenamiento como los datos de prueba
Predicción de especies con un valor de k = k_1
knn.A <- knn(modelo_knn_train, modelo_knn_test, cl=train_df, k=k_1)
knn.A
## [1] SI NO NO NO NO NO NO SI NO NO
## Levels: NO SI
Predicción de especies con un valor de k = k_2
knn.B <- knn(modelo_knn_train, modelo_knn_test, cl=train_df, k=k_2)
knn.B
## [1] SI NO NO NO NO NO NO SI NO NO
## Levels: NO SI
Evaluación de la prediccion del modelo
El modelo se revisará primeramente con las siguientes matrices, en las que nos muestra cuantas veces el modelo predijo un NO y realmente era un NO o por el contrario, si predijo un NO y los datos reales eran un SÍ.
matriz_A <- table(knn.A, test_df)
matriz_A
## test_df
## knn.A NO SI
## NO 4 4
## SI 0 2
matriz_B <- table(knn.B, test_df)
matriz_B
## test_df
## knn.B NO SI
## NO 4 4
## SI 0 2
La tasa de los errores de clasificación se calcula dividiendo los valores predichos entre los valores reales de las matrices.
Precisión del modelo A (Datos de entrenamiento)
real <- table(test_df,test_df)
precision_knn.A <- sum(diag(matriz_A))/sum(diag(real))
precision_knn.A
## [1] 0.6
Precisión del modelo B (Datos de prueba)
precision_knn.B <- sum(diag(matriz_B))/sum(diag(real))
precision_knn.B
## [1] 0.6
A pesar de que nuestro modelo es muy simple y contiene muy pocos datos, podemos ver que la taza de error se situa en un 50%, esto se puede deber a la complejidad de determinar si un Estado presenta sequía o no y a la poca cantida de datos con la que disponemos.
Regresion Lineal Multiple
La regresión lineal múltiple sigue las mismas características que la regresión lineal simple, este nos permite generar un modelo que nos permita determinar el valor de una variable dependiente a partir de múltiples variables predictoras, estos modelos son útiles cuando es difícil explicar un fenómeno con una sola variable.
Los modelos de regresión múltiple pueden emplearse para predecir el valor de la variable dependiente o para evaluar la influencia que tienen los predictores sobre ella (esto último se debe que analizar con cautela para no malinterpretar causa-efecto).
A continuación, se procederá a realizar un análisis de regresión lineal para conocer a detalle cuales de las variables influyen más en el promedio de índice de Volumen Físico, recordando que este representa la producción total pecuaria, utilizando los datos del año 2016 al 2021.
datosRC<-read.csv("DatosResgresionMultiple.csv")
datosRC <- data.frame(datosRC)
datatable(datosRC)
datosC<-data_frame("Promedio IVF"=datosRC$`Promedio.IVF`,"MM"=datosRC$`MM`,
"Temperatura_Minima_Promedio_Celsius"=datosRC$`Temperatura_Minima_Promedio_Celsius`
,"Temperatura_Media_Promedio_Celsius"=datosRC$`Temperatura_Media_Promedio_Celsius`,
"Temperatura_Maxima_Promedio_Celsius"=datosRC$`Temperatura_Maxima_Promedio_Celsius`)
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## Please use `tibble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
dataRC <- datosC[, sapply(datosC, is.numeric)]
round(cor(x = dataRC, method="pearson"), 3)
## Promedio IVF MM
## Promedio IVF 1.000 -0.010
## MM -0.010 1.000
## Temperatura_Minima_Promedio_Celsius 0.004 0.551
## Temperatura_Media_Promedio_Celsius 0.029 0.488
## Temperatura_Maxima_Promedio_Celsius 0.081 0.379
## Temperatura_Minima_Promedio_Celsius
## Promedio IVF 0.004
## MM 0.551
## Temperatura_Minima_Promedio_Celsius 1.000
## Temperatura_Media_Promedio_Celsius 0.984
## Temperatura_Maxima_Promedio_Celsius 0.865
## Temperatura_Media_Promedio_Celsius
## Promedio IVF 0.029
## MM 0.488
## Temperatura_Minima_Promedio_Celsius 0.984
## Temperatura_Media_Promedio_Celsius 1.000
## Temperatura_Maxima_Promedio_Celsius 0.929
## Temperatura_Maxima_Promedio_Celsius
## Promedio IVF 0.081
## MM 0.379
## Temperatura_Minima_Promedio_Celsius 0.865
## Temperatura_Media_Promedio_Celsius 0.929
## Temperatura_Maxima_Promedio_Celsius 1.000
Gráfico 4 | Correlación Pearson>
- –> Para tener un enfoque más dinámico de las distribuciones y dispersiones de los datos se procederá a realizar un Análisis con histogramas y un Análisis de dispersión con ggplot y ggally.
Análisis con histogramas
Los histogramas son gráficos que indican la frecuencia de un hecho mediante una distribución de los datos. Por lo tanto para tener un mejor enfoque de las variables se procedera a realizar este analis debido a que estos utilizan variables para su elaboración.
multi.hist( x = dataRC, dcol = c("red","green"), dlty = c("dotted", "solid")
)
- –> En el gráfico 5, podemos observar como relacionan cada uno de los datos obtenidos, esto con el fin de tener una mejor perspectiva de lo que se busca comprobar.
Análisis de Dispersión de los datos con ggplot y ggally
La función ggpairs() del paquete GGally que se ejecutará a continuación, nos permite la construcción de una matriz de diagramas de dispersión. La cual contiene en su parte izquierda los diagramas de dispersión de cada par de variables, mientras que la a correlación de Pearson que se realizo anteriormente en este caso ahora se presenta en la parte derecha.
ggpairs(datosC, lower = list(continuous ="smooth"),
diag = list (continuos = "barDiag"), axisLabels = "none")
HEn el gráfico anterior, podemos observar como relacionan cada uno de los datos obtenidos, esto con el fin de tener una mejor perspectiva de lo que se busca comprobar. Por otro lado, el realizar un histograma nos ayuda a determinar el comportamiento y variaciones que muestran los datos. De acuerdo con los dos graficos, el de IVF y el de preipitaciones, los niveles mas altos de datos confirmados se escuentran en las partes menores a las medidas.
- –> Con los análisis realizados por medio de las gráficas, podemos llegar o establecer unas conclusiones preliminares.
–> Las variables que tienen una mayor relación lineal con la promedio del Indice de Volumen Fisico en este caso de estudio son las precipitaciones
Modelo general de correlación
Ahora, vamos a revisar la relación entre el promedio del Indice de Volumen Fisico y una de sus variables predictoras con el fin de ver que tanto influye la variable, sin embargo, el modelo sera realizado con cada una de ellas para conocer posteriormente in la evaluación de este es acertada.
modelo <- lm(datosC$`Promedio IVF` ~ datosC$`MM`, data=datosC)
summary(modelo)
##
## Call:
## lm(formula = datosC$`Promedio IVF` ~ datosC$MM, data = datosC)
##
## Residuals:
## Min 1Q Median 3Q Max
## -33.181 -10.610 -2.714 6.522 85.829
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.121e+02 2.808e+00 39.921 <2e-16 ***
## datosC$MM -3.878e-04 2.785e-03 -0.139 0.889
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 18.39 on 190 degrees of freedom
## Multiple R-squared: 0.0001021, Adjusted R-squared: -0.005161
## F-statistic: 0.0194 on 1 and 190 DF, p-value: 0.8894
- –> Como podemos observar, los MM influyen un poco al promedio del indice de volumen fisico obteniendo un p-value del 0.8894, por lo que la lluvia por sí sola no afecta en gran medida al IVF de un estado.
La ecuación de la recta de los mínimos cuadrados, para la evaluación del modelo quedaría de la siguiente manera:
\(y=1.121e+02 -3.878e-04x\)
Esta ecuación representa esta recta ajustada a la dispersión de los puntos con los cuales se forma el modelo
plot(datosC$`Promedio IVF`, datosC$`MM`)
abline(modelo)
Gráfico 7 | Gráfica de Dispersión IVF y Precipitaciones>
Ahora vamos a comprobar que tan acertado es nuestro modelo, calculando por medio del mismo un valor que ya conocemos.
Ahora sustituyendo X en nuestro modelo
PIVF = 1.121 - (-3.878*109.15000)
PIVF
## [1] 424.4047
Residuo
Datos real - Dato simulado por modelo
435 - 424.4047
## [1] 10.5953
En este caso al modelo le “faltan” 10.59 para llegar a el valor de 435, por lo tanto esta subestimando, pero la diferencia no es tan abismal, por lo que podemos decir que el modelo en general es bueno.
Primer modelo de regresión lineal múltiple
A continuación, se evaluará el modelo utilizando todas las variables como predictoras, de esta manera podremos saber cuales se consideran más significativas para representar el promedio de índice de Volumen Físico
modelo2 <- (lm(formula = datosC$`Promedio IVF` ~ datosC$`MM` +datosC$`Temperatura_Minima_Promedio_Celsius`+datosC$`Temperatura_Media_Promedio_Celsius`+datosC$`Temperatura_Maxima_Promedio_Celsius`, data = datosC))
summary(modelo2)
##
## Call:
## lm(formula = datosC$`Promedio IVF` ~ datosC$MM + datosC$Temperatura_Minima_Promedio_Celsius +
## datosC$Temperatura_Media_Promedio_Celsius + datosC$Temperatura_Maxima_Promedio_Celsius,
## data = datosC)
##
## Residuals:
## Min 1Q Median 3Q Max
## -31.742 -10.786 -2.561 4.465 85.955
##
## Coefficients:
## Estimate Std. Error t value
## (Intercept) 68.891041 23.048194 2.989
## datosC$MM 0.001254 0.003621 0.346
## datosC$Temperatura_Minima_Promedio_Celsius -1.682384 2.740017 -0.614
## datosC$Temperatura_Media_Promedio_Celsius 0.846870 4.411817 0.192
## datosC$Temperatura_Maxima_Promedio_Celsius 1.636365 1.825918 0.896
## Pr(>|t|)
## (Intercept) 0.00318 **
## datosC$MM 0.72945
## datosC$Temperatura_Minima_Promedio_Celsius 0.53996
## datosC$Temperatura_Media_Promedio_Celsius 0.84799
## datosC$Temperatura_Maxima_Promedio_Celsius 0.37130
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 18.31 on 187 degrees of freedom
## Multiple R-squared: 0.02457, Adjusted R-squared: 0.003705
## F-statistic: 1.178 on 4 and 187 DF, p-value: 0.3221
- –> Podemos observar que nuestro modelo con todas sus variables puede describir con un 32.22% de exactitud el promedio Indice de Volumen Fisico con un error de 0.003705.
Para revisar nuestro modelo y hacer los ajustes necesarios utilizaremos el criterio de Akaike.
Evaluacion General del modelo(AIC)
El criterio de información de Akaike (AIC) es una medida de la calidad relativa de un modelo estadístico, para un conjunto dado de datos. Como tal, el AIC proporciona un medio para la selección del modelo. AIC maneja un trade-off entre la bondad de ajuste del modelo y la complejidad del modelo. Por lo tanto se procederá a evaluar el modelo anteriormente realizado, con el fin de que este nos proporcione cuales serían las mejores variables para la realización de un nuevo modelo.
step(object = modelo2, direction = "both", trace = 1)
## Start: AIC=1121.37
## datosC$`Promedio IVF` ~ datosC$MM + datosC$Temperatura_Minima_Promedio_Celsius +
## datosC$Temperatura_Media_Promedio_Celsius + datosC$Temperatura_Maxima_Promedio_Celsius
##
## Df Sum of Sq RSS AIC
## - datosC$Temperatura_Media_Promedio_Celsius 1 12.352 62699 1119.4
## - datosC$MM 1 40.218 62726 1119.5
## - datosC$Temperatura_Minima_Promedio_Celsius 1 126.379 62813 1119.8
## - datosC$Temperatura_Maxima_Promedio_Celsius 1 269.233 62956 1120.2
## <none> 62686 1121.4
##
## Step: AIC=1119.41
## datosC$`Promedio IVF` ~ datosC$MM + datosC$Temperatura_Minima_Promedio_Celsius +
## datosC$Temperatura_Maxima_Promedio_Celsius
##
## Df Sum of Sq RSS AIC
## - datosC$MM 1 30.09 62729 1117.5
## <none> 62699 1119.4
## - datosC$Temperatura_Minima_Promedio_Celsius 1 1017.06 63716 1120.5
## + datosC$Temperatura_Media_Promedio_Celsius 1 12.35 62686 1121.4
## - datosC$Temperatura_Maxima_Promedio_Celsius 1 1551.42 64250 1122.1
##
## Step: AIC=1117.5
## datosC$`Promedio IVF` ~ datosC$Temperatura_Minima_Promedio_Celsius +
## datosC$Temperatura_Maxima_Promedio_Celsius
##
## Df Sum of Sq RSS AIC
## <none> 62729 1117.5
## - datosC$Temperatura_Minima_Promedio_Celsius 1 1112.45 63841 1118.9
## + datosC$MM 1 30.09 62699 1119.4
## + datosC$Temperatura_Media_Promedio_Celsius 1 2.22 62726 1119.5
## - datosC$Temperatura_Maxima_Promedio_Celsius 1 1535.46 64264 1120.2
##
## Call:
## lm(formula = datosC$`Promedio IVF` ~ datosC$Temperatura_Minima_Promedio_Celsius +
## datosC$Temperatura_Maxima_Promedio_Celsius, data = datosC)
##
## Coefficients:
## (Intercept)
## 72.623
## datosC$Temperatura_Minima_Promedio_Celsius
## -1.076
## datosC$Temperatura_Maxima_Promedio_Celsius
## 1.878
- –> En el gráfico 9 nos muestra la prueba del modelo de Akaike, el cual ya mencionado anteriormente, nos permite conocer cuales variables son las que mejor se correlacionan con el promedio del Índice de Volumen Físco. Podemos ver que los resultados muestran que Temperatura mínima promedio y máxima son las variables que mas impacto tienen de acuerdo al pomedio del índice del volume físico, así mismo eliminando las que no tiene tanta importancia en el modelo.
Modelo Ajustado
Como resultado del proceso AIC nos muestra el modelo ajustado que quita la variable MM y temperatura promedio
Ahora vamos a revisar nuestro modelo ajustado.
modelo3 <- (lm(formula = datosC$`Promedio IVF` ~ datosC$`Temperatura_Minima_Promedio_Celsius` +
datosC$`Temperatura_Maxima_Promedio_Celsius`, data = datosC))
summary(modelo3)
##
## Call:
## lm(formula = datosC$`Promedio IVF` ~ datosC$Temperatura_Minima_Promedio_Celsius +
## datosC$Temperatura_Maxima_Promedio_Celsius, data = datosC)
##
## Residuals:
## Min 1Q Median 3Q Max
## -32.263 -10.625 -1.816 4.544 85.768
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 72.6232 18.6661 3.891 0.000138
## datosC$Temperatura_Minima_Promedio_Celsius -1.0757 0.5876 -1.831 0.068707
## datosC$Temperatura_Maxima_Promedio_Celsius 1.8783 0.8733 2.151 0.032755
##
## (Intercept) ***
## datosC$Temperatura_Minima_Promedio_Celsius .
## datosC$Temperatura_Maxima_Promedio_Celsius *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 18.22 on 189 degrees of freedom
## Multiple R-squared: 0.02391, Adjusted R-squared: 0.01358
## F-statistic: 2.315 on 2 and 189 DF, p-value: 0.1016
- –> Como podemos observar, el nuevo modelo ajustado es capaz de describir de una peor manera el promedio del IVF con una exactitud de 80.94%, esto supone una mejora a nustro modelo anterior.
Intervalo de Confianza de los coeficientes
El intervalo de confianza para los coeficientes parciales de regresión se puede observar en la siguiente tabla:
confint(lm(formula = datosC$`Promedio IVF` ~ datosC$`MM`+ datosC$`Temperatura_Minima_Promedio_Celsius` +
datosC$`Temperatura_Maxima_Promedio_Celsius`))
## 2.5 % 97.5 %
## (Intercept) 33.436365724 1.092089e+02
## datosC$MM -0.005696286 7.742616e-03
## datosC$Temperatura_Minima_Promedio_Celsius -2.497062650 1.519750e-01
## datosC$Temperatura_Maxima_Promedio_Celsius 0.165741131 3.716411e+00
- –> Aquí podemos mobervar los intervalos de confianza de cada uno de las variables. Teniendo un IC(95%).
Análisis de residuales
plot1 <- ggplot(data = datosC, aes(`MM`, modelo2$residuals)) +
geom_point() + geom_smooth(color = "firebrick") + geom_hline(yintercept = 0) +
theme_bw()
plot2 <- ggplot(data = datosC, aes(`Temperatura_Minima_Promedio_Celsius`, modelo2$residuals)) +
geom_point() + geom_smooth(color = "firebrick") + geom_hline(yintercept = 0) +
theme_bw()
plot3 <- ggplot(data = datosC, aes(`Temperatura_Media_Promedio_Celsius`, modelo2$residuals)) +
geom_point() + geom_smooth(color = "firebrick") + geom_hline(yintercept = 0) +
theme_bw()
plot4 <- ggplot(data = datosC, aes(`Temperatura_Maxima_Promedio_Celsius`, modelo2$residuals)) +
geom_point() + geom_smooth(color = "firebrick") + geom_hline(yintercept = 0) +
theme_bw()
grid.arrange(plot1, plot2, plot3, plot4)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
Distribución normal de los residuos
¿Qué es una distribución normal de los residuos? Normal QQ-Plot: Es una forma de comparar la distribución de probabilidad normal con la distribución de probabilidad de los residuos de nuestro modelo lineal, si estos forman una línea recta, este es un indicador de que los residuos están distribuidos de forma normal.
qqnorm(modelo3$residuals)
qqline(modelo3$residuals)
- –> En el grafico 12, podemos obervar que la comparación de la distribución de probabilidad normal con la distribución de probabilidad de los residuos de nuestro modelo lineal si forman en la mayoria de la gráfica una linea recta, lo cual indica que los datos de los residuos estan distribuidos de manera normal.
Prueba de normalidad de Shapiro-wilk
Se hizo un análisis de Shapiro-wilk con los valores teóricos vs los valores de las muestras, con lo que se pude llegar a observar que la mayoría de los datos si están tocando la línea de tendencia, lo que nos dice la teoría que se maneja es correcta con respecto a los datos recolectados.
shapiro.test(modelo3$residuals)
##
## Shapiro-Wilk normality test
##
## data: modelo3$residuals
## W = 0.84359, p-value = 4.309e-13
Comparación de los valores ajustados vs los valores residuales
ggplot(data = datosC, aes(modelo$fitted.values, modelo$residuals)) +
geom_point() +
geom_smooth(color = "firebrick", se = FALSE) +
geom_hline(yintercept = 0) +
theme_bw()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
- –> Es requerido no tomar en cuenta los valores extremos, con lo que nos dice que los valores ajustados y los residuales, contienen un nivel de dispersión no muy grande, teniendo un buen porcentaje de aceptabilidad de la realidad en base a la teoría.
Con este análisis podemos concluir que, por medio de las temperaturas mínimas y máximas podemos determinar con cierta confianza si la producción pecuaria será buena o mala, por lo que tenemos otro indicio de que el cambio climático realmente afecta a la producción pecuaria.
Analisis de serie de tiempo
El estudio del analisis de series de tiempo tiene como objetivo principal, realizar una serie de modelos estadísticos, los cuales expliquen con detalle el comportamiento que los datos de una variable tiene en base al tiempo, o con alguna unidad de medida, con los cuales podemos determinar algunos datos esperados para asi poder dar solución a determinados problemas.
A continuación se procederá a realizar una análisis de serie de tiempo para determianr la producción de vacas, las precipitaciones mensuales y la temperatura media promedio presentada en Mexico durante los años 2005 y 2020
La siguiente serie de tiempo nos muestra la variación de las precipitaciones mensuales, la produccion de ganado bovino en pie en sonora, y las temperatura promedio presentado, esto con el fin de analiis la relacion que tienen estas tres variables.
Analisis de la produccion de ganado bovino en Sonora
dataSetVolumen <- subset(Produccion_Pecuaria_Mexico, Produccion_Pecuaria_Mexico$Estado %in% "Sonora" )
dataSetVolumen <- subset(dataSetVolumen, dataSetVolumen$Especie %in% "Bovino" )
dataSetVolumen <- subset(dataSetVolumen, dataSetVolumen$Producto %in% "Ganado en pie" )
p <- plot_ly(data = , x = dataSetVolumen$Anio , y = dataSetVolumen$Volumen, mode = 'lines', type="scatter", name="Volumen") %>%
layout(title = 'Serie de Tiempo del volumen de ganado bovino en Sonora 2005-2020' ,
yaxis = list(zeroline = FALSE, title = 'Volumen'),
xaxis = list(zeroline = FALSE, title = 'Año'), legend = list(font = list(size = 15)))
p
Como podemos observar en el Gráfico 15, la producción bovina en Sonora se está recuperando después de una caída, que llegó a su mínimo en el año 2016, pero para corroborar mejor esto, vamos a realizar una descomposición del a serie de tiempo.
Buscando datos Faltantes
anyNA(dataSetVolumen)
## [1] FALSE
Como podemos observar el valor booleano que nos arroja es “FALSE”, el cual nos indica que no se tiene valores faltantes en los datos.
Descomposición de la serie de tiempo
La descomposición de series de tiempo es el proceso que identifica y calcula las diversas componentes existentes en una serie temporal, así como la forma en que estas se relacionan entre sí. A continuación, se procederá hacer una descomposición de serie de tiempo del volumen de ganado bovino en Sonora 2005-2020.
dataSetVolumen<-ts(dataSetVolumen$Volumen , frequency = 2 )
datos_dcVolumen<- dataSetVolumen %>%
decompose(type="multiplicative") %>%
autoplot()
datos_dcVolumen
En el gráfico de la descomposición de la serie de tiempo, podemos observar que entre los años 2018 y 2020 tendemos una tendencia hacia la baja ya que a comienzas del año 2021 se estimó que se presentarían menos precipitaciones y la temperatura aumentaria, dando consigo diversas sequías provcando una baja en la producción
Modelo SARIMA para predicciones
Los modelos SARIMA (Seasonal Autoregressive Integrated Moving Average Model) captan el comportamiento puramente estacional de una serie, en forma similar, como hemos visto, se realiza para la componente regular o no estacional. Una serie con influencia solamente por la componente estacional puede ser descrito por un modelo SARIMA (P,D,Q).
Augmented Dickey-Fuller Test
adf.test(dataSetVolumen)
##
## Augmented Dickey-Fuller Test
##
## data: dataSetVolumen
## Dickey-Fuller = -2.4488, Lag order = 2, p-value = 0.4014
## alternative hypothesis: stationary
Analizando el resultado que nos dió en el valor P, observamos que P es menor que el nivel de significancia de 2.4488, por lo cual se determina que el término no es estadisticamente significativo, y por ello, es conveniente reajustar el modelo sin el término.
Análisis de ajuste
Un analisis de ajuste o test de ajuste se considera como una prueba de hipótesis estadística, la cual se usa especificamente para deerminar si hay probabilidad de que una variable provenga o no desde una distribución específica. En esta seccion se representan los datos de una manera grafica con el apoyo de autoplot().
datos_diffVolumen <- dataSetVolumen
datos_diffVolumen %>%
autoplot()
En este gráfico se muestrar una autoplot de los datos del volumen de produccion de ganado bovino en Sonora desde el año 2005-2020. Donde se presentan algunas disminuciones y aumentos, sin embargo, a partir de año 2020 se presenta una tendencia a la baja.
Analisis de los cambios diferenciales en la serie de tiempo
Una serie diferenciada nos muestra los cambios que tiene la serie a lo largo del tiempo.
tsdisplay(datos_diffVolumen)
- En esta seccion se muestra los cambios diferenciales en la serie de tiempo de tiempo evaluada. En la parte superior se muestra los cambios diferenciales en la serie de tiempo de los datos.
Analizando la serie de tiempo por medio de un modelo ARIMA
Los modelos ARIMA son modelos autorregresivos que nos permiten encontrar patrones dentro de datos distribuidos a lo largo del tiempo con el fin de realizar predicciones a futuro, gracias a este modelo analizaremos los datos de la producción bovina en Sonora para intentar predecir su comportamiento.
test_datosVolumen <- tail(dataSetVolumen, 4)
train_datosVolumen <- head(dataSetVolumen, length(dataSetVolumen)-4)
datos_autoVolumen <- auto.arima(y = train_datosVolumen, seasonal = T)
summary(datos_autoVolumen)
## Series: train_datosVolumen
## ARIMA(0,1,0)
##
## sigma^2 = 43712678: log likelihood = -112.37
## AIC=226.74 AICc=227.19 BIC=227.14
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set 371.5695 6330.083 5325.005 0.163627 3.773122 0.712366 -0.1142822
De acuerdo con la prueba del modelo ARiMA, se observa que cuenta con un error medio del 3.7%, por lo que nuestro modelo es capaz de predecir el volumen de producción de ganado bovino.
Comparación entre Datos Reales y Predecidos
Para tener una mejor prespectiva de nuestro modelo, vamos a comprar los datos reales, contra los que fue capaz de predecir
train_datosVolumen %>%
autoplot(series= "Datos Reales") +
autolayer (datos_autoVolumen$fitted, series = "SARIMA auto") +
theme_minimal()
En el siguiente gráfico podemos observar que los datos obtenidos en el modelo SARIMA son demasiado similares a los datos reales. Esto quiere decir que nuestro modelo se acerca a lo que buscabamos, lo cuales predecir el comportamiento de la producción bovina.
Serie de tiempo de las precipitaciones anuales 2005-2020 Sonora
dataSetTMP<-subset(Temperaturas,Temperaturas$Entidad %in% "SONORA" )
dataSetTMP<-subset(dataSetTMP,dataSetTMP$Año != 2021 )
p <- plot_ly(data = , x = dataSetTMP$Año , y = dataSetTMP$MM, mode = 'lines', type="scatter", name="Volumen") %>%
layout(title = 'Precipitaciones anuales 2005-2020' ,
yaxis = list(zeroline = FALSE, title = 'Preciítaciones'),
xaxis = list(zeroline = FALSE, title = 'Año'), legend = list(font = list(size = 15)))
p
Como se puede observar en el gráfico, parece que hay un aumento considerable en las precipitaciones en los últimos años
Serie de tiempo de la temperatura promedio anual 2005-2020 Sonora
p <- plot_ly(data = , x = dataSetTMP$Año , y = dataSetTMP$Temperatura_Media_Promedio_Celsius, mode = 'lines', type="scatter", name="Volumen") %>%
layout(title = 'Precipitaciones anuales 2005-2020' ,
yaxis = list(zeroline = FALSE, title = 'Temperatura Promedio'),
xaxis = list(zeroline = FALSE, title = 'Año'), legend = list(font = list(size = 15)))
p
En el gráfico 21 podemos ver como las temperaturas promedio del estado van en aumento, logrando en menos de una década un aumento de 0.5 grados.
Serie de tiempo del volumen de produccion de ganado bovino anual 2005-2020 Sonora
dataSetVolumen <- subset(Produccion_Pecuaria_Mexico, Produccion_Pecuaria_Mexico$Estado %in% "Sonora" )
dataSetVolumen <- subset(dataSetVolumen, dataSetVolumen$Especie %in% "Bovino" )
dataSetVolumen <- subset(dataSetVolumen, dataSetVolumen$Producto %in% "Ganado en pie" )
p <- plot_ly(data = , x = dataSetVolumen$Anio , y = dataSetVolumen$Volumen, mode = 'lines', type="scatter", name="Volumen") %>%
layout(title = 'Serie de Tiempo del volumen de ganado bovino en Sonora 2005-2020' ,
yaxis = list(zeroline = FALSE, title = 'Volumen'),
xaxis = list(zeroline = FALSE, title = 'Año'), legend = list(font = list(size = 15)))
p
Discusión de Reusltados
Como podemos observar al verificar las tres series de tiempo donde se presentan la temperatura promedio, las precipitacion y el volumen de produccion de ganado bovino anual se presenta cierta relacion entre la temperatura y el volumen de produccion, ya que entre el año 20018-2020 al descender la temperatura promedio la produccion de ganado bovino se vio afectada, aunque las precipitaciones presentadas se vieron a la alza, lo que comprueba que la temperatura resulta ser un factor clave en la produccion ganadera que se realiza en Sonora e incluso en otros estados.
Conclusión
Está claro que el cambio climático afecta a la producción pecuaria y a su vez esta misma afecta directmaente al cambio climático en todo su proceso, por lo que es necesario realizar un cambio a la manera tradicional de producir carne porque la forma de hacer ganadería actualmente resulta insostenible a futuro, ya sea por culpa del cambio climático que resulte insostenible mantener la producción y cría de animales en ciertos territorios o a causa de sequías que actualmente afectan a cierta parte del país.
Algunas fuentes como Chauvet (1997) han indicado desde hace años que la ganadería debe sentarse sobre nuevas bases con el fin de la preservación de los recursos del planeta y buscar alternativas sustentables. Sin embargo, los presentes análisis indican que el pastoreo y la cría de animales para consumo humano son altamente insostenibles, lo cual se ve agravado por la escasez de recursos propio de encontrarse al borde de una crisis climática.
A pesar de que se ha mostrado que la tendencia en el consumo de carne va en aumento, existe una creciente preocupación global sanitaria ambiental a escala global que han llevado a que los consumidores reduzcan sus porciones de carne roja y opten por alternativas como dietas vegetarianas, veganas, o preferencia por el consumo de aves de corral. Estos cambios se ven fuertemente influidos por iniciativas en políticas públicas para reducir el consumo de carne (OECED/FAO, 2017).
Bibliografía
Arias, R. A., Mader, T. L., & Escobar, P. C. (2008). Factores climáticos que afectan el desempeño productivo del ganado bovino de carne y leche. Archivos de medicina veterinaria, 40(1), 7-22.
Bustos, Eduardo (25 de marzo de 2019). Producir un kilo de carne vacuna representa el consumo de 15,000 litros de agua. Extraido el 15 de mayo de 2022 de Noticias Agropecuarias. URL: https://www.noticiasagropecuarias.com/2019/03/25/un-kilo-de-carne-vacuna-cuesta-15-000-litros-de-agua/ Chauvet, Michelle (1997). La Ganadería Mexicana frente al fin de siglo. Azcapotzalco: Universidad Autónoma Metropolitana Compendio Estadístico 2019: Consejo Mexicano de la Carne. Panorama Cárnico Internacional.
Denogean, F; Moreno, S; Ayala, F; Ibarra, F; Martín, M; Retes, R (2013). La Ganadería Bovina para Carne en Sonora, México en la Actualidad. Congreso Internacional en Administración de Ciencias Agropecuarias.
El Sol de México (26 de abril de 2021). Sequía aniquila 300 mil cabezas de ganado bovino en Sonora. Consultado el 15 de mayo de 2022. URL: https://www.elsoldemexico.com.mx/republica/sociedad/sequia-aniquila-300-mil-cabezas-de-ganado-bovino-en-sonora-afectaciones-muerte-ganado-6642538.html
Fideicomiso de Riesgo Compartido (17 de mayo de 2017). La Ganadería en México. Gobierno de México URL: https://www.gob.mx/firco/articulos/la-ganaderia-en-mexico?idiom=es
García-López, Juan C., & Peña-Avelino, Luz Y., & González-González, Cecilia, & Tristán-Patiño, Flor, & Pinos-Rodríguez, Juan M., & Rendón-Huerta, Juan A. (2012). IMPACTOS Y REGULACIONES AMBIENTALES DEL ESTIÉRCOL GENERADO POR LOS SISTEMAS GANADEROS DE ALGUNOS PAÍSES DE AMÉRICA. Agrociencia, 46(4),359-370.[fecha de Consulta 3 de Mayo de 2022]. ISSN: 1405-3195. Disponible en: https://www.redalyc.org/articulo.oa?id=30223110004
Gerber, P.J., Steinfeld, H., Henderson, B., Mottet, A., Opio, C., Dijkman, J., Falcucci, A. & Tempio, G. 2013. Enfrentando el cambio climático a través de la ganadería – Una evaluación global de las emisiones y oportunidades de mitigación. Organización de las naciones unidas para la alimentación y la agricultura (FAO), Roma
OECD/FAO (2020), OCDE‑FAO Perspectivas Agrícolas 2020‑2029, OECD Publishing, Paris, https://doi.org/10.1787/a0848ac0-es.
Pérez Espejo, R. (2008). El lado oscuro de la ganadería. Problemas del desarrollo, 39(154), 217-227.
Saiz, A. L. (2010). Ganadería y cambio climático: una influencia recíproca. GeoGraphos: Revista Digital Para Estudiantes de Geografía y Ciencias Sociales, 1(3), 1-22. Ritchie, Hannah (4 de febrero de 2019). Qué países del mundo consumen más carne (y hay uno de Latinoamérica). Extraido el 15 de mayo de 2022 de BBC News. Sitio web: https://www.bbc.com/mundo/noticias-47119001
Servicio de Información Agroalimentaria y Pesquera (SIAP) (6 de marzo del 2018). La ganadería: símbolo de fortaleza del campo mexicano. Gobierno de México: https://www.gob.mx/siap/articulos/la-ganaderia-simbolo-de-fortaleza-del-campo-mexicano
Descargas
Datos
Temperaturas minima, media y maxima 2005-2021
xfun::embed_file("Temperaturas.xlsx")
Produccion-Pecuaria-Mexico.xlsx 2005-2021
xfun::embed_file("Produccion-Pecuaria-Mexico.csv")
Download Produccion-Pecuaria-Mexico.csv ## Datos logístca
xfun::embed_file("datosLogistica.xlsx")
Datos Regresión Lineal Múltiple.
xfun::embed_file("DatosResgresionMultiple.csv")