A10U1

Equipo 2: Christian Acedo, Jorgue Figueroa, Miguel Espinoza, Alejandro Gil

25/3/2022

Introduccion (Caso de estudio: Cambio anual en la generación de energías renovables)

En el presente documento se podra analizar el estudio realacionado con el tema “Cambio anual en la generacion de energias renovables en Mexico”, en el cual podremos analizar lineas del tiempo y graficas que nos permitiran darnos una idea de la informacion recabada.

Energía renovable

library(pacman)
p_load("tidyverse", "lubridate", "forecast", "TTR", "MLmetrics", "tseries", "fpp", "TSstudio", "prettydoc", "DT", "xfun", "readr", "ggplot2", "scales", "base64enc", "mime", "dplyr", "ggplot2")

Importacion de datos

Se obtuvieron los datos de la página oficial: https://ourworldindata.org/grapher/annual-change-renewables?tab=chart&country=~MEX

energiasrenovables <- read.csv("annual-change-renewables.csv")

datatable(energiasrenovables)

Pasar a linea de tiempo

Se pasan los datos a la linea del tiempo que nos indica como ha aumentado el uso de la energia renovable a lo largo de los años.

TSenr <- ts(data=energiasrenovables$Energía.Renovable, frequency=220, start=c(2000))
autoplot(TSenr)

Descomponer la serie de tiempo

En esta grafica se realizara un desglose para la la serie de tiempo.

ener_re <- TSenr %>%
  decompose(type = "multiplicative") %>%
  autoplot()
ener_re

División de datos para validación cruzada

Se dividen los datos para recabar la informacion y testear y asi verificar las posibles anomalias vistas en las precipitaciones de esparcimiento en el uso correcto de la energia renovable de los casos de analisis estudiados.

test_ener <- tail(TSenr, 220) 
train_ener <- head(TSenr, length(ener_re)-220) 

Holt-Winters

Holt-Winters utiliza el suavizado exponencial para codificar muchos valores del pasado y usarlos para predecir valores “típicos” para el presente y el futuro.

ener_ren <- HoltWinters(train_ener, seasonal ="additive")
ener_ren
## Holt-Winters exponential smoothing with trend and additive seasonal component.
## 
## Call:
## HoltWinters(x = train_ener, seasonal = "additive")
## 
## Smoothing parameters:
##  alpha: 0.1962903
##  beta : 0
##  gamma: 0.04338151
## 
## Coefficients:
##               [,1]
## a      2.758459562
## b     -0.009768679
## s1     1.348321297
## s2     5.993249888
## s3    -5.543215572
## s4     4.931584918
## s5     0.483857434
## s6    -6.829954809
## s7    16.548697777
## s8     1.892846317
## s9     8.436712620
## s10   -0.729910828
## s11    5.914718814
## s12    3.752404020
## s13    0.811406450
## s14    9.248405937
## s15   10.758129313
## s16    0.862547515
## s17    0.356111370
## s18   -3.758557983
## s19    3.882692002
## s20    2.880524635
## s21   -1.686116486
## s22   -4.338745400
## s23   -9.742053674
## s24  -13.814367258
## s25   -4.159464407
## s26   -9.480831720
## s27  -13.494780205
## s28   -1.862685894
## s29   -5.115866476
## s30   -3.655246104
## s31   -0.836113799
## s32   -0.968176253
## s33   -4.421251965
## s34    2.273064172
## s35   -2.202612709
## s36   -1.616509685
## s37    3.048239482
## s38   -4.092487827
## s39    0.241511556
## s40   -3.232492609
## s41   -3.313369189
## s42    2.337944516
## s43    0.910498131
## s44   -0.636875704
## s45   -3.563363755
## s46   -4.580622220
## s47   -4.056832905
## s48   -1.863377484
## s49   -1.372811694
## s50   -4.748968966
## s51    0.021564723
## s52   -2.784387784
## s53   -3.343820341
## s54   -0.908873216
## s55   -1.464599961
## s56   -1.193102816
## s57   -0.734232229
## s58    1.429996171
## s59   -3.096300197
## s60   -0.924624027
## s61    0.016355852
## s62   -1.330388860
## s63   -2.491356694
## s64    0.606817843
## s65   -3.593899771
## s66    1.469766299
## s67   -0.223843894
## s68   -1.448952462
## s69   -1.796363015
## s70   -0.329132383
## s71   -0.287470046
## s72    0.153585061
## s73   -0.600943078
## s74   -1.430510599
## s75   -1.294967359
## s76   -2.492085893
## s77   -1.857117621
## s78   -2.637583166
## s79   -1.655799219
## s80    0.520468205
## s81    0.316900448
## s82   -0.746292534
## s83   -2.388352628
## s84   -0.638346292
## s85    1.973200771
## s86    1.503898714
## s87    7.906842151
## s88   -2.514300333
## s89    3.634918075
## s90    1.069977879
## s91    0.997779617
## s92    1.398010098
## s93   -1.606350800
## s94    0.403224269
## s95  -13.866713917
## s96   -5.574287400
## s97    6.463172135
## s98   -3.239705173
## s99    0.827140461
## s100   2.671306916
## s101   4.378773350
## s102  -0.052188210
## s103  -5.885444156
## s104  11.955035758
## s105  -2.973399507
## s106  -8.584976473
## s107  10.211712046
## s108  11.282430629
## s109   2.959291974
## s110  -7.402696901
## s111  -5.900326565
## s112   1.504923309
## s113   4.592950815
## s114  -9.101127299
## s115  -3.742489118
## s116   3.853647413
## s117   1.404829808
## s118  -1.328750917
## s119  -6.280698516
## s120   5.264207418
## s121   1.809916287
## s122  -0.630459166
## s123  -5.685843487
## s124   4.889812198
## s125  -2.012339271
## s126  -0.019176794
## s127  -1.977592769
## s128  -0.544538739
## s129  -0.935381723
## s130  -0.950234528
## s131  -1.206754847
## s132   1.367528020
## s133  -1.287535703
## s134   1.120604860
## s135   1.877628152
## s136   0.318379809
## s137  -2.220792978
## s138  -3.048593990
## s139   2.408845785
## s140  -0.974335448
## s141  -2.137650497
## s142  -2.589520543
## s143  -2.427712543
## s144  -3.353615980
## s145   0.003891509
## s146  -2.322390422
## s147  -1.230852368
## s148   0.726306955
## s149  -0.225196169
## s150  -3.328177707
## s151   1.205179597
## s152  -1.819758441
## s153   1.009381167
## s154   0.061867419
## s155  -1.520437598
## s156  -1.179684727
## s157  -1.633745213
## s158  -1.764062673
## s159  -3.293574559
## s160   0.502005244
## s161  -0.593054901
## s162  -1.492813744
## s163  -0.734007343
## s164   0.199251426
## s165  -0.791742490
## s166   2.320607513
## s167   1.577569131
## s168  -0.307110571
## s169  -0.518489338
## s170   4.010356344
## s171   8.749979156
## s172  10.026180344
## s173  -0.480881626
## s174   6.430382588
## s175  -1.502935070
## s176   4.314098914
## s177   7.167218480
## s178  -3.072523795
## s179  15.772982189
## s180   8.690730754
## s181   4.821562764
## s182   1.171081500
## s183   4.327778614
## s184  -2.698287412
## s185   9.256368006
## s186  -8.859082250
## s187   1.700119360
## s188   2.160462892
## s189   2.987721823
## s190   5.153017677
## s191  -7.262588149
## s192   5.015765095
## s193  -7.242203637
## s194  12.046776235
## s195   0.902503559
## s196   3.643516172
## s197  -1.765323408
## s198   2.580214242
## s199  -0.157702892
## s200   2.270301912
## s201  -0.653184762
## s202   6.301270565
## s203  -2.452764171
## s204  -1.605747307
## s205  -0.402425542
## s206   0.358869152
## s207   4.157933382
## s208  -1.179147623
## s209   4.883336993
## s210   2.001983518
## s211  -6.542116605
## s212   5.981433113
## s213   3.329873846
## s214   0.049620976
## s215   5.671114212
## s216  -3.971946644
## s217  -7.130553515
## s218  -1.779295412
## s219   7.082300745
## s220   3.425810887

Forecasting

El incremento de los datos analizados nos hace posible una revision general de la trayectoria analizada en los multiples casos, se hara un casteo de estos mismos elementos para poder analizar y comprender de una mejor manera la estructura de el funcionamiento de la misma.

energia_forecast <- forecast(object = ener_ren, h=500)

Visualizando datos

Aqui podemos ver los datos plasmados en la grafica donde podemos ver los alti-bajos de los valores relacionados con la energia renovable en Mexico.

TSenr %>%
  autoplot(series = "actual") +
  autolayer(energia_forecast$fitted, series = "train") +
  theme_minimal()
## Warning: Removed 220 row(s) containing missing values (geom_path).

Evaluar la precisión del modelo

Con la misma transformacion utilizada en los anteriores metodos, podremos hacer una evaluacion aproximada del modelo en cuestion al partir de la misma problematica en estos dos factores, creando esta evaluacion se nos abriran multiples posibilidades de analisis al momento de observar los datos generados.

eval_ener <- accuracy(energia_forecast , test_ener)
eval_ener
##                      ME     RMSE      MAE  MPE MAPE      MASE       ACF1
## Training set  0.0498827  28.0009 11.56806  NaN  Inf 0.6932165 -0.1020212
## Test set     81.1340682 206.9699 87.73680 -Inf  Inf 5.2576307  0.7433909
##              Theil's U
## Training set        NA
## Test set             0

Modelo SARIMA o ARIMA

Al adquirir estas mismas disciplinas se nos permite visualizar diferentes metodos para lograr objetivos comunes.El modelo SARIMA O ARIMA, nos ayuda a captar este mismo comportamiento estacional de la serie pudiendo apreciar la regresion de los datos estadisticos con el fin de encontrar patrones para una prediccion hacia el futuro aproximado.

adf.test(TSenr)
## Warning in adf.test(TSenr): p-value greater than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  TSenr
## Dickey-Fuller = 2.8871, Lag order = 16, p-value = 0.99
## alternative hypothesis: stationary

Análisis diferencial entre ciclos (estaciones)

En esta grafica se pueden apreciar los datos conforme las estaciones que en este caso son años representadas con ciclos enlazados a estas mismas predicciones estacionarias.

ener_diff <- TSenr %>%
  diff(lag=220) %>%
  diff(lag=220)

ener_diff %>%
  autoplot()

ener_auto <- auto.arima(y= train_ener, seasonal= F)

Gráfica de datos reales vs. Arima

Gracias a la grafica podemos apreciar que los datos reales no son tan alejados a lo que se presentan en el modelo arima por lo cual nos hace ver que este modelo refleja cierta realidad.

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

Conclusion

Visualizando los datos y analisis recopilados, se puede observar el cambio anual en la generacion de energias renovables en Mexico de manera ascendente ya que estas, han ido en aumento con el paso de los años, donde se puede observar altibajos pero con tendencia a crecimiento debido a que teorizamos diferentes factores para su constante crecimiento, uno de ellos tal vez el cambio climatico y la contaminacion.

Descarga los datos

xfun::embed_file("A10U1.Rmd")

Download A10U1.Rmd

xfun::embed_file("annual-change-renewables.csv")

Download annual-change-renewables.csv