Análisis de la producción de tabaco en México

La industria tabacalera representa un sector relativamente pequeño de la economía mexicanaa, siendo así que ésta industria utiliza 5% de la superficie cultivada del país, participa con 0.1% del Producto Interno Bruto y 0.2% de la producción manufacturera.

Los estados productores de esta planta son Nayarit, Veracruz, Chiapas, Tabasco, Guerrero y Quintana Roo

Análisis de series de tiempo (TSA)

Estos datos nos informan acerca de la produccion de Tabaco en toneladas de 1961 a 2018 en el pais de México.

Importación de paquetes

library(pacman)
p_load("tidyverse", "lubridate", "forecast","devtools", "TTR", "MLmetrics", "tseries", "fpp", "TSstudio", "xfun","DT","xfun","ggplot2", "readr","tseries","ggfortify","tidyr", "dplyr","prettydoc",  "psych", "GGally", "stringr","vembedr","gridExtra","corrplot", "plotly","base64enc", "htmltools", "mime",  "knitr", "gganimate","gifski","scales")

importar datos, muestra la tabla con los datos de las toneladas de tabaco desde 1961 al 2018

dato_tabaco <- read.csv("tabacoMexico.csv")
tabaco <- data.frame(dato_tabaco)
datatable(dato_tabaco)

Datos

Se utilizo la pagina Our World In Data para extraer los datos a utilizar en los siguientes metodos sobre los datos de la extracción de la producción del tabaco en Mexico

Comprobar datos faltantes

anyNA(dato_tabaco)
## [1] FALSE

Importando y graficando datos de la produccion de tabaco con el tiempo

tabaco <- ts(dato_tabaco [,4],  start = 1961, end = 2018, frequency = 2)
  tabaco
## Time Series:
## Start = c(1961, 1) 
## End = c(2018, 1) 
## Frequency = 2 
##   [1] 66922 67387 67581 67767 58173 56521 45255 48221 68842 68569 77526 61976
##  [13] 60991 72506 68153 67137 55026 69816 71904 93941 57987 71221 53297 41682
##  [25] 47826 63247 50496 62503 50938 33941 29189 21290 64285 59570 27401 42631
##  [37] 32204 48763 50567 45164 40560 21936 22437 21763 16122 19381 13008 11442
##  [49]  7822  6983  9648 15235 15145 15119 12999 15864 17243 15181 66922 67387
##  [61] 67581 67767 58173 56521 45255 48221 68842 68569 77526 61976 60991 72506
##  [73] 68153 67137 55026 69816 71904 93941 57987 71221 53297 41682 47826 63247
##  [85] 50496 62503 50938 33941 29189 21290 64285 59570 27401 42631 32204 48763
##  [97] 50567 45164 40560 21936 22437 21763 16122 19381 13008 11442  7822  6983
## [109]  9648 15235 15145 15119 12999 15864 17243
  autoplot(tabaco)

Datos

Se utilizo la pagina Our World In Data para extraer los datos a utilizar en los siguientes metodos sobre los datos de la extracción de la producción del tabaco en Mexico

Decomponer una serie de tiempo en sus partes principales

tabaco_dc<- tabaco %>%
  decompose(type="multiplicative") %>%
  autoplot()
tabaco_dc
## Warning: Removed 4 row(s) containing missing values (geom_path).

## Validacion cruzada La validación cruzada o cross validation es una técnica utilizada para la evaluación de resultados de análisis estadísticos que garantiza la independencia entre el subconjunto de datos de entrenamiento y el de prueba.

test_tabaco <- tail(tabaco, 11) #20% para pruebas

train_tabaco<- head(tabaco, length(dato_tabaco)-11) #80% para entrenamiento

Ajuste del modelo con Holt-Winters

El método de Holt Winters es utilizado para realizar pronósticos del comportamiento de una serie temporal a partir de los datos obtenidos anteriormente. El método se basa en un algoritmo iterativo que a cada tiempo (mes o semana) realiza un pronóstico sobre el comportamiento de la serie en base a promedios debidamente ponderados de los datos anteriores.

tabaco_ses <- HoltWinters(train_tabaco, seasonal = "multiplicative",)
tabaco_ses
## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
## 
## Call:
## HoltWinters(x = train_tabaco, seasonal = "multiplicative")
## 
## Smoothing parameters:
##  alpha: 0.6433279
##  beta : 0
##  gamma: 0.04403762
## 
## Coefficients:
##            [,1]
## a  8454.6132389
## b   259.7500000
## s1    0.9238051
## s2    0.9529895

Forecasting

tabaco_forecast <- forecast(object = tabaco_ses, h=36)

Visualizando datos

tabaco %>%
  autoplot(series = "actual") +
  autolayer(tabaco_forecast$fitted, series = "train") +
  autolayer(tabaco_forecast$mean, series = "test") +
  theme_minimal()
## Warning: Removed 2 row(s) containing missing values (geom_path).

### Evaluar la precision del metodo

eval_ses <- accuracy(tabaco_forecast, test_tabaco)
eval_ses
##                     ME      RMSE      MAE       MPE     MAPE      MASE
## Training set -1252.218 13304.858 9785.633 -11.38058 25.63217 0.7776075
## Test set      5575.723  5901.716 5575.723  37.10793 37.10793 0.4430704
##                     ACF1 Theil's U
## Training set  0.03174341        NA
## Test set     -0.11779778  1.827994

Utilizando el metodo ARIMA

adf.test(tabaco)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  tabaco
## Dickey-Fuller = -1.6366, Lag order = 4, p-value = 0.7274
## alternative hypothesis: stationary

Analisis de ajuste

tabaco_diff <- tabaco %>%
  diff(lag=12) %>%
  diff(lag=1)

tabaco_diff %>%
  autoplot()

Analizando la serie de tiempo por medio de un modelo ARIMA

tabaco_auto <- auto.arima(y = train_tabaco, seasonal = T)
summary(tabaco_auto)
## Series: train_tabaco 
## ARIMA(1,1,1) 
## 
## Coefficients:
##          ar1      ma1
##       0.3318  -0.6751
## s.e.  0.1720   0.1282
## 
## sigma^2 = 174374101:  log likelihood = -1166.18
## AIC=2338.36   AICc=2338.59   BIC=2346.38
## 
## Training set error measures:
##                    ME     RMSE      MAE       MPE     MAPE      MASE
## Training set -1070.42 13020.38 9711.999 -12.06895 26.25274 0.7717562
##                     ACF1
## Training set -0.01274724

Visualizacion grafica de los datos reales versus el modelo SARIMA

train_tabaco %>%
  autoplot(series= "actual") +
  autolayer (tabaco_auto$fitted, series = "SARIMA auto") +
  theme_minimal()

Analisis de los cambios diferenciales en la serie de tiempo

tsdisplay(tabaco_diff)

Conclusión

Pudimos observar el comportamiento de la producción de tabaco con el pasar del tiempo y ver un posible pronostico para la producción del tabaco en nuestro país.