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")
xfun::embed_file("annual-change-renewables.csv")