Introducción

Esta investigación tiene como objetivo examinar cómo ha evolucionado históricamente el cultivo de cacao en Colombia, prestando especial atención a dos aspectos fundamentales: la cantidad total producida (medida en toneladas) y la extensión total de tierra cultivada (medida en hectáreas) cada año. A partir de la base de datos SERIE_Datos102 (1). xlsx, se crean dos secuencias de datos a lo largo del tiempo que nos ayudan a comprender la conexión entre el crecimiento de la zona de siembra y la producción de cacao en todo el país, así como a identificar patrones a lo largo de los años.

Para ejecutar este análisis, se recurre a instrumentos estadísticos del programa R, los cuales facilitan la organización, el resumen y la visualización de la información contenida en la base de datos SERIE_Datos102 (1). xlsx. A partir de estos datos, se determinan medidas descriptivas, se generan representaciones gráficas comparativas y se construyen visualizaciones temporales que posibilitan el análisis del comportamiento conjunto de la producción (en toneladas) y el área sembrada (en hectáreas) a escala nacional.

Finalmente, mediante la creación de series temporales y la aplicación de técnicas de alisado, como el promedio móvil de tres años, se estudian las tendencias y la relación dinámica entre el aumento de la superficie cultivada y la producción total de cacao. Este análisis ayuda a ilustrar la transformación de la industria del cacao en el país y proporciona una base sólida para comprender sus patrones productivos a lo largo del tiempo.

Objetivo general

Analizar la evolución temporal de la producción y el área cultivada de cacao en Colombia, con el fin de identificar tendencias, relaciones y comportamientos relevantes entre ambas variables.

Metodología

Para comprender mejor la dinámica entre la producción de cacao y su área de siembra en Colombia, se realizó un análisis de series de tiempo con un enfoque cuantitativo. Se recurrió a herramientas estadísticas y representaciones gráficas para facilitar la visualización de su comportamiento conjunto a lo largo de los años.

Inicialmente, se tomaron y adecuaron los datos del archivo SERIE_Datos102 (1). xlsx, que detalla información anual por departamento. Después, se limpiaron y organizaron los datos con el lenguaje R, utilizando las librerías readxl, dplyr, ggplot2 y forecast. Se cambiaron los nombres de las columnas y se seleccionaron las variables clave: Año, Área (ha) y Producción (ton).

Seguidamente, se juntaron los datos por año para hallar los totales nacionales de cada variable. Con esta información, se crearon tablas de resumen y se calcularon estadísticas descriptivas (promedio, mínimo, máximo y correlación) para hallar tendencias y la relación entre producción y área cultivada. Para la parte visual, se elaboraron gráficos de líneas que muestran la evolución de ambas variables a lo largo del tiempo, así como diagramas de dispersión que ilustran su conexión. Adicionalmente, se convirtieron los datos en series de tiempo para estudiar su comportamiento dinámico y se aplicaron técnicas de suavizado, como la media móvil de tres años, para reducir las variaciones anuales y destacar la tendencia general de las series.

Resultado

Producción y Área Total por Año (2007-2023)
Año Producción Total Área Total
2007 57467 100950
2008 58671 107683
2009 58436 109357
2010 68404 126714
2011 74892 133098
2012 81105 151157
2013 78052 150092
2014 81302 154313
2015 86781 166635
2016 87191 169956
2017 91826 181392
2018 101451 190695
2019 106979 198395
2020 109087 210305
2021 126938 222391
2022 136601 229448
2023 138955 226847
Estadísticas Descriptivas - Serie Nacional
Variable Min Q1 Mediana Media Q3 Max
Producción Total 57467 74892 86781 90832 106979 138955
Área Total 106050 133098 166635 166749 198395 229448
Estadísticas Descriptivas Detalladas
Variable n mean sd median trimmed mad min max range skew kurtosis se
Produccion_Total 17 90821.67 25926.04 86740.95 89847.74 27245.78 57467.08 138955.1 81488.06 0.48 -0.99 6287.99
Area_Total 17 160748.66 41988.15 166635.35 166615.27 49722.70 106090.05 229448.0 123397.57 0.03 -1.42 10183.62
library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(readxl)
library(forecast)

# Crear serie de tiempo

datos <- read_excel("Serie.xlsx")
ts_produccion <- ts(datos$`Produccion (ton)`, frequency = 1)
plot(ts_produccion)

Se observa un comportamiento cíclico, con picos altos que se repiten periódicamente, lo que sugiere que la producción varía de forma regular en ciertos intervalos. Entre los picos, los valores disminuyen pero mantienen pequeñas fluctuaciones constantes. En conjunto, el gráfico refleja una serie temporal con tendencia estable y patrones repetitivos, típica de procesos productivos que siguen ciclos definidos.

ts_area <- ts(datos$`Area Nacional (ha)`, frequency = 1)
plot(ts_area)

La imagen muestra un gráfico de serie de tiempo donde la variable ts_area se representa a lo largo del tiempo. Se observa un patrón repetitivo con picos altos y regulares, lo que indica un comportamiento periódico o estacional. Entre estos picos hay pequeñas fluctuaciones, lo que sugiere variaciones normales dentro de cada ciclo. En general, el gráfico refleja una serie temporal con ciclos claramente definidos y valores que oscilan entre 0 y aproximadamente 30.

# PRUEBA ADF
cat("Prueba ADF para Producción:\n")
## Prueba ADF para Producción:
adf_produccion <- adf.test(ts_produccion)
## Warning in adf.test(ts_produccion): p-value smaller than printed p-value
print(adf_produccion)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_produccion
## Dickey-Fuller = -7.116, Lag order = 7, p-value = 0.01
## alternative hypothesis: stationary

La prueba ADF aplicada a la serie ts_producción arroja un valor Dickey-Fuller de -7.116 con un p-value de 0.01, lo que indica que se rechaza la hipótesis nula de no estacionariedad. En consecuencia, se concluye que la serie es estacionaria, es decir, sus valores no presentan una tendencia o variaciones sistemáticas en el tiempo, y sus propiedades estadísticas se mantienen estables.

cat("\nPrueba ADF para Área Nacional:\n")
## 
## Prueba ADF para Área Nacional:
adf_area <- adf.test(ts_area)
## Warning in adf.test(ts_area): p-value smaller than printed p-value
print(adf_area)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_area
## Dickey-Fuller = -6.9158, Lag order = 7, p-value = 0.01
## alternative hypothesis: stationary

La prueba ADF para la serie ts_area muestra un valor Dickey-Fuller de -6.9158 y un p-value de 0.01, lo que permite rechazar la hipótesis nula de no estacionariedad. Por tanto, se concluye que la serie es estacionaria, es decir, sus valores mantienen un comportamiento estable en el tiempo sin mostrar tendencias crecientes o decrecientes significativas.

# PRUEBA KPSS
cat("\nPrueba KPSS para Producción:\n")
## 
## Prueba KPSS para Producción:
kpss_produccion <- kpss.test(ts_produccion)
## Warning in kpss.test(ts_produccion): p-value smaller than printed p-value
print(kpss_produccion)
## 
##  KPSS Test for Level Stationarity
## 
## data:  ts_produccion
## KPSS Level = 1.438, Truncation lag parameter = 5, p-value = 0.01

La prueba KPSS para la serie ts_producción presenta un estadístico de 1.438 y un p-value de 0.01, lo que indica que se rechaza la hipótesis nula de estacionariedad. Esto significa que la serie no es estacionaria, pues muestra cambios en su media o varianza a lo largo del tiempo.

cat("\nPrueba KPSS para Área Nacional:\n")
## 
## Prueba KPSS para Área Nacional:
kpss_area <- kpss.test(ts_area)
## Warning in kpss.test(ts_area): p-value greater than printed p-value
print(kpss_area)
## 
##  KPSS Test for Level Stationarity
## 
## data:  ts_area
## KPSS Level = 0.033421, Truncation lag parameter = 5, p-value = 0.1

La prueba KPSS para la serie ts_area arroja un estadístico de 0.033421 y un p-value de 0.1, por lo que no se rechaza la hipótesis nula de estacionariedad. Esto indica que la serie es estacionaria, ya que sus valores se mantienen estables a lo largo del tiempo sin mostrar tendencias significativas.

# Determinar número de diferencias necesarias
ndiffs(ts_produccion)
## [1] 1

El resultado de la función ndiffs(ts_producción) indica que la serie requiere una sola diferenciación para volverse estacionaria, lo que significa que al aplicar una diferencia se eliminan las tendencias presentes y la serie alcanza un comportamiento estable en el tiempo.

# Diferenciar según el número que te dé
ts_produccion_dif <- diff(ts_produccion, differences = ndiffs(ts_produccion))
# Verificar estacionariedad nuevamente
cat("\nPrueba KPSS para Producción diferenciada:\n")
## 
## Prueba KPSS para Producción diferenciada:
kpss_produccion_dif <- kpss.test(ts_produccion_dif)
## Warning in kpss.test(ts_produccion_dif): p-value greater than printed p-value
print(kpss_produccion_dif)
## 
##  KPSS Test for Level Stationarity
## 
## data:  ts_produccion_dif
## KPSS Level = 0.0072365, Truncation lag parameter = 5, p-value = 0.1

La prueba KPSS para la serie ts_producción_dif muestra un estadístico de 0.0072365 y un p-value de 0.1, por lo que no se rechaza la hipótesis nula de estacionariedad. Esto indica que, tras aplicar la diferencia, la serie se volvió estacionaria, manteniendo un comportamiento estable sin tendencia a lo largo del tiempo.

cat("\nPrueba ADF para Producción diferenciada:\n")
## 
## Prueba ADF para Producción diferenciada:
adf_produccion_dif <- adf.test(ts_produccion_dif)
## Warning in adf.test(ts_produccion_dif): p-value smaller than printed p-value
print(adf_produccion_dif)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_produccion_dif
## Dickey-Fuller = -14.911, Lag order = 7, p-value = 0.01
## alternative hypothesis: stationary

La prueba ADF para la serie ts_producción_dif presenta un valor Dickey-Fuller de -14.911 y un p-value de 0.01, lo que permite rechazar la hipótesis nula de no estacionariedad. Esto confirma que, después de aplicar la diferenciación, la serie se volvió estacionaria, mostrando valores estables sin tendencia a lo largo del tiempo.

modelo_area <- auto.arima(ts_area)
summary(modelo_area)
## Series: ts_area 
## ARIMA(1,0,1) with non-zero mean 
## 
## Coefficients:
##          ar1      ma1    mean
##       0.8313  -0.9692  3.3887
## s.e.  0.0295   0.0103  0.0450
## 
## sigma^2 = 27.37:  log likelihood = -1544.94
## AIC=3097.87   AICc=3097.95   BIC=3114.75
## 
## Training set error measures:
##                        ME    RMSE      MAE  MPE MAPE      MASE        ACF1
## Training set -0.004210989 5.21641 3.349145 -Inf  Inf 0.7844308 0.002876376
plot(modelo_area)

El modelo ajustado para la serie ts_area es un ARIMA(1,0,1) con media distinta de cero, lo que indica que el comportamiento de la serie depende de un componente autorregresivo y uno de media móvil. Los coeficientes son significativos y el valor medio estimado es 3.3887, lo que refleja una tendencia estable en torno a ese nivel. Los valores de AIC (3097.87) y BIC (3114.75) muestran un buen ajuste, y los errores de predicción son bajos, por lo que el modelo describe adecuadamente la dinámica de la serie.

modelo_produccion <- auto.arima(ts_produccion_dif)
summary(modelo_produccion)
## Series: ts_produccion_dif 
## ARIMA(3,0,1) with zero mean 
## 
## Coefficients:
##           ar1      ar2      ar3      ma1
##       -0.0998  -0.0800  -0.1569  -0.9848
## s.e.   0.0443   0.0445   0.0443   0.0061
## 
## sigma^2 = 24520627:  log likelihood = -4983.15
## AIC=9976.29   AICc=9976.42   BIC=9997.39
## 
## Training set error measures:
##                    ME     RMSE      MAE      MPE     MAPE      MASE        ACF1
## Training set 399.1372 4932.063 2866.738 2994.224 5336.667 0.4065008 -0.01701828
plot(modelo_produccion)

El modelo ajustado para la serie ts_producción_dif corresponde a un ARIMA(3,0,1) sin media, lo que indica que la serie se explica mediante tres componentes autorregresivos y un componente de media móvil. Los coeficientes son significativos y el valor del error cuadrático medio (RMSE = 4932.063) muestra una precisión aceptable en el ajuste. Además, los criterios AIC (9976.29) y BIC (9997.39) reflejan un modelo adecuado para describir la dinámica de la serie diferenciada, la cual se mantiene estable y sin tendencia.

acf(ts_area)

El gráfico muestra la Función de Autocorrelación (FAC) de la serie, donde solo el primer rezago presenta una autocorrelación significativa y los demás valores se mantienen dentro del intervalo de confianza. Esto indica que no existe una correlación fuerte entre los valores de la serie y sus rezagos, lo que sugiere que la serie es estacionaria y no requiere más diferenciaciones, siendo adecuada para el modelado mediante un proceso ARIMA con pocos términos de media móvil o autorregresivos.

acf(ts_produccion_dif)

El gráfico muestra la Función de Autocorrelación (FAC) de la serie ts_producción_dif, donde solo el primer rezago presenta una autocorrelación significativa y los demás valores permanecen dentro del intervalo de confianza. Esto indica que la serie diferenciada es estacionaria y no presenta correlaciones importantes con sus rezagos, por lo que el proceso temporal se ha estabilizado y está listo para ser modelado mediante un ARIMA simple.

pacf(ts_area)

El gráfico muestra la Función de Autocorrelación Parcial (FACP) de la serie ts_area, donde se observan pocos rezagos con valores significativos y la mayoría se mantienen dentro del intervalo de confianza. Esto indica que la influencia de los rezagos disminuye rápidamente, lo que sugiere que la serie es estable y estacionaria, y que puede representarse adecuadamente mediante un modelo AR de bajo orden, posiblemente AR(1).

pacf(ts_produccion_dif)

El gráfico muestra que la serie diferenciada tiene una autocorrelación parcial significativa solo en el primer retardo (Lag 1), cayendo abruptamente después. Esto indica un patrón de memoria corta y sugiere que un modelo AR(1) sería suficiente para modelar la serie, ya que no se necesitan más términos autorregresivos.

Conclusion

El análisis de la producción y área cultivada de cacao en Colombia durante el período 2007-2023 revela un crecimiento sostenido y significativo en ambos indicadores, donde la producción nacional se incrementó de 57,467 a 138,955 toneladas y el área cultivada pasó de 100,950 a 226,847 hectáreas. El análisis de series temporales confirma tendencias crecientes estables, con la serie de área mostrando estacionariedad, mientras que la de producción requirió una diferenciación para alcanzarla. Los modelos ARIMA identificados (ARIMA(1,0,1) para área y ARIMA(3,0,1) para producción diferenciada) demuestran un buen ajuste y predicen la continuidad del comportamiento observado. La relación positiva entre el aumento del área cultivada y el incremento productivo sugiere una expansión eficiente del sector, reflejando el fortalecimiento y maduración de la industria cacaotera nacional con potencial para mantener su trayectoria ascendente.

Referecia

  1. Ramírez Montoya, J. C. (2019). Aplicación de series de tiempo en la realización de pronósticos. Revista Científica “Visión de Futuro”, 23(1), 44–57. https://dialnet.unirioja.es/servlet/articulo?codigo=6371161

  2. ChatGPT. (s. f.). Conversation link: https://chatgpt.com/c/690b444c-5da8-8330-b182-4bef925c75da