Análisis en la Producción Anual de Energías Renovables en México
El sector energético de México es dominado por las fuentes no renovables de energía, esto ha jugado un papel decisivo para el desarrollo económico de México por su influencia directa en el apartado productivo del país. Toda la sociedad requiere energía, pero es importante señalar que la producción y el uso de energía tiene una incidencia en el medio ambiente.
Imágen Ilustrativa 1
Las fuentes energéticas de mayor impacto al ambiente son el carbón mineral y los hidrocarburos los cuales afectan principalmente a los cuerpos de agua, suelos y vida silvestre, así como a la salud humana; he aquí la importancia de usar energías renovables.
Energías Renovables
Las fuentes de energía renovable se definen como la energía disponible a partir de procesos permanentes y naturales, con posibilidades técnicas de ser explotadas económicamente, el Balance Nacional de Energía considera fuentes de energía renovables a la hidroenergía, geoenergía, energía eólica y biomasa; el biogás.
Energías No Renovables
La fuentes de energía no renovables son aquellas que se extraen de los depósitos geológicos que se formaron a partir de biomasa, así como los combustibles secundarios producidos a partir de un combustible fósil.
Análisis de series de tiempo (TSA)
En el siguiente análisis de series de tiempo se analizará la variación anual en la generación de energías renovables, la cual muestra el cambio en la generación de energía renovable en relación con el año anterior, medido en Tera vatios-hora.
También generaremos un modelo que intente predecir el comportamiento de la generación de energía y posteriormente evaluaremos su exactitud.
Nota: Los datos representan la suma de la energía hidroeléctrica, solar, eólica, geotérmica, undimotriz y mareomotriz, y bioenergía de México.
Datos y Paquetes
Importación de paquetes
Los paquetes a utilizar son los siguientes:
library(pacman)
p_load("tidyverse", "lubridate", "forecast", "TTR", "MLmetrics", "tseries", "fpp", "TSstudio", "xfun", "plotly")
Datos
Los datos a utilizar son proporcionados por la ágina Our World In Data (Nuestro mundo en Datos) que puede accederse a través del siguiente, la cual provee datos de diversos indicadores, de los diferentes paises alrededor del mundo, pero en este caso nos enfocaremos en México y la variación anual de las energias renovables.
Los datos principales seran importados desde el archivo energiaMexico.csv, el cual fue descargado del sitio anteriormente mencionado.
dataEnergiaMexico <- read_csv("energiaMexico.csv")
## Rows: 54 Columns: 4
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (2): Entity, Code
## dbl (2): Year, Renewables
##
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
Importando y graficando datos
La siguiente serie de tiempo nos muestra la variacion del uso de energias renovables medido en Tera vatios-hora, desde el año 1966 hasta el 2019 en todo mexico, esta suma del uso de energias abarca desde la energia solar, eólica, geotérmica,etc.
datos<-ts(dataEnergiaMexico$Renewables , frequency = 2 ,start = c(1966, 1),end = c(2019,1))
e <- plot_ly(data = dataEnergiaMexico, x = dataEnergiaMexico$Year , y = dataEnergiaMexico$Renewables , mode = 'lines', type="scatter", name="Energías Renovables") %>% layout(title = 'Generación de Energías Renovables México' ,
yaxis = list(zeroline = FALSE, title = 'Tera Vatios-Hora'),
xaxis = list(zeroline = FALSE, title = 'Año'), legend = list(font = list(size = 15)))
e
Buscando datos Faltantes
anyNA(datos)
## [1] FALSE
Esto signigica que no tengo ningún valor faltante.
Descomposición de la serie de tiempo
La descomposición de series de tiempo es usada para identificar componentes, reensamblando las partes para construir un pronóstico. Por ende, se procederá a realizar la descomposición de la serie de tiempo anteriormente realiza esto con el fin de conocer los diversos componentes de la serie y la forma en que estos se relacionan entre sí.
datos_dc <- datos %>%
decompose(type="multiplicative") %>%
autoplot()
datos_dc
- Usando un modelo de suavizado exponencial
- Validación cruzada
La validación cruzada es una técnica para evaluar modelos de ML mediante el entrenamiento de varios modelos de ML en subconjuntos de los datos de entrada disponibles y evaluarlos con el subconjunto complementario de los datos.
test_datos <- tail(datos, 11) # 20 porciento de los datos para pruebas
train_datos <- head(datos, length(datos)-11) # 80 porciento de los datos para entrenamiento
- Holt-Winters
datos_ses <- HoltWinters(train_datos, seasonal = "multiplicative", )
## Warning in HoltWinters(train_datos, seasonal = "multiplicative", ): optimization
## difficulties: ERROR: ABNORMAL_TERMINATION_IN_LNSRCH
datos_ses
## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
##
## Call:
## HoltWinters(x = train_datos, seasonal = "multiplicative")
##
## Smoothing parameters:
## alpha: 0.3
## beta : 0.1
## gamma: 0.1
##
## Coefficients:
## [,1]
## a -6.645383e-04
## b -2.882748e-03
## s1 3.637485e+01
## s2 1.004569e+03
Forecasting
datos_forecast <- forecast(object = datos_ses, h = 11)
Visualizando resultados
datos %>%
autoplot(series = "Datos Reales") +
autolayer(datos_forecast$fitted, series = "Datos Entrenamiento") +
autolayer(datos_forecast$mean , series = "Datos de Prueba") +
theme_minimal()
## Warning: Removed 2 row(s) containing missing values (geom_path).
Evaluar la precisión del modelo
eval_ses <- accuracy(datos_forecast, test_datos)
eval_ses
## ME RMSE MAE MPE MAPE MASE
## Training set 1.496986 16.44708 12.02487 473.03479 623.0552 0.8509709
## Test set 12.616405 22.11698 18.88570 59.44102 176.9720 1.3364951
## ACF1 Theil's U
## Training set -0.2278151 NA
## Test set -0.4370722 2.048954
Deacuerdo con la prueba de precisión, el modelo tiene un error medio del 176% Por lo que nuestro modelo no es capaz de predecir el comportamiento de la generación de energía
Utilizando el modelo SARIMA o ARIMA
Los modelos SARIMA 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)
Empezaremos haciendo una prueba al conjunto de datos
adf.test(datos)
## Warning in adf.test(datos): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: datos
## Dickey-Fuller = -6.3293, Lag order = 4, p-value = 0.01
## alternative hypothesis: stationary
Deacuerdo con el valor de P, los datos no son estacionarios
Análisis de ajuste
datos_diff <- datos
datos_diff %>%
autoplot()
##Analizando la serie de tiempo por medio de un modelo ARIMA
datos_auto <- auto.arima(y = train_datos, seasonal = T)
summary(datos_auto)
## Series: train_datos
## ARIMA(1,0,0)(1,0,0)[2] with non-zero mean
##
## Coefficients:
## ar1 sar1 mean
## -0.5603 -0.5238 2.1217
## s.e. 0.0893 0.0908 0.4057
##
## sigma^2 = 90.19: log likelihood = -351.14
## AIC=710.29 AICc=710.73 BIC=720.55
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set 0.01953984 9.347419 6.799857 63.41859 95.99005 0.4812093
## ACF1
## Training set 0.03216383
Visualizacion grafica de los datos reales versus el modelo SARIMA
train_datos %>%
autoplot(series= "Datos Reales") +
autolayer (datos_auto$fitted, series = "SARIMA auto") +
theme_minimal()
Analisis de los cambios diferenciales en la serie de tiempo
tsdisplay(datos_diff)
Conclusión
Como pudimos observar a lo largo del análisis, incluso utilizando dos métodos diferentes, es difícil de predecir el comportamiento de la generación de energías renovables en México, pues este se comporta de manera errática, pues puede verse afectado por factores ambientales, sociales, económicos y políticos, lo que lleve a una mayor o menor generación de energía respecto al año anterior, por lo que concluimos que la generación de energías renovables en México no depende de un tiempo en específico.
Descargas
Referencias Electrónicas
Secretaría de Energía (2018) “Balance Nacional de Energía 2009, 2018”. Secretaría de Energía. http://dgeiawf.semarnat.gob.mx:8080/ibi_apps/WFServlet?IBIF_ex=D2_R_ENERGIA01_01&IBIC_user=dgeia_mce&IBIC_pass=dgeia_mce