scieee AI-readable full text Open interactive document viewer

Estudios de predicción en series temporales de datos meteorológicos utilizando redes neuronales recurrentes

Montesdeoca Santana, Besay

Abstract

En los últimos años, en el campo de las energías renovables, la energía eólica ha sido una de las que mas se ha desarrollado e invertido. La importancia de las predicciones de viento radica en la ayuda que aportan para planificar y anticiparse a los valores futuros que afectarán al sistema, ayudando a gestionar la adquisición de los recursos necesarios con antelación suficiente. Recientemente se han desarrollado nuevas arquitecturas de redes recurrentes que resultan muy prometedoras para realizar predicción. En este trabajo se probará y experimentará con dichas arquitecturas para realizar distintas predicciones de la velocidad del viento en un horizonte de corto y muy corto plazo a partir de datos de series temporales de viento.

Full text

     ESTUDIOSDEPREDICCIÓNEN SERIESTEMPORALESDEDATOS METEOROLÓGICOSUTILIZANDO REDESNEURONALESRECURRENTES               Autor:BesayMontesdeocaSantana Tutor:CayetanoGuerraArtal Fecha:12072016  Índice. 1. Introducción:Generacióneólica. 1.1. Importanciadelaprediccióneólica. 2. Objetivos 3. Antecedentesydefinicióndeconceptos. 3.1. AprendizajeAutomático. 3.2. RedesNeuronales. 3.2.1. Introducción. 3.2.2. Historia. 3.2.3. RedesFeedForward. 3.2.4. RedesNeuronalesRecurrentes. 3.2.4.1. RedesLSTM. 4. Descripcióndelasherramientasutilizadas. 5. Modelosdepredicciónpropuestos. 5.1. Datosdeentrenamiento. 5.2. Hiperparámetros. 5.3. Entrenamiento. 6. Experimentos. 6.1. Medidasdeerror. 6.2. Primeraetapa:Ajustedeloshiperparámetros. 6.3. Segundaetapa:Evaluacióndelosmodelos. 6.3.1. Modelosdereferencia.. 6.3.2. Resultados 7. Conclusiones. 8. Bibliografía.            1.Introducción:Generacióneólica. Elcontinuodesarrolloindustrialdelosúltimos150añoshavenidoligadoaunaumento progresivoenelconsumodeenergía.Comocontrapartida,debidoaquelasprincipales fuentesdeenergíaquesehanutilizadoparahacerposibleestedesarrollohansido combustiblesfósilesysusderivados,sehanemitidograndescantidadesdegasesdeefecto invernadero,queseconsideranresponsablesdelcalentamientoglobalqueestá experimentandoelplaneta.  Porotraparte,elcontinuoaumentodelademandadeenergíaenlospaísesdesarrolladosy envíasdedesarrolloestáacarreandounafuertedependenciaenergéticaparamuchos países,principalmenteeuropeos.  Lafuertedependenciaenergética,lapresiónsocialylatomadeconcienciaporpartedelos gobiernosenlaluchacontraelcambioclimático,handadolugaraqueseadoptenmarcos regulatoriosquefavoreceneldesarrolloyelusoderecursosenergéticosrenovables,más limpiosysostenibles.Estosrecursosrenovablessonobtenidosapartirderecursos naturalesydesechos,eincluyen,entreotras,laenergíahidráulica,eólica,solar,biomasa, geotérmica,yelaprovechamientodelosresiduossólidosurbanoseindustriales.  Peroademásdelosbeneficiosmedioambientales,elimpulsoalasenergíasrenovablestrae consigootrosbeneficios.Porunlado,debidoalagrandispersiónenlaubicacióndelas instalacionesgeneradorasqueutilizanrecursosrenovables,sufomentohapropiciadola creacióndeempleoslocales,eldesarrolloregionalyunsustancialrendimientoeconómico paralosmunicipiosenlosqueestáninstaladaslasplantasgeneradoras.Porotrolado,este tipodegeneracióndispersa,queenlamayoríadeloscasosesdepotenciasrelativamente reducidas,conllevaotrasventajas,comoladisminucióndelaspérdidasportransporteenla red,graciasaquelageneraciónseacercamásalconsumo.  Elfuerteimpulsoquesehadadoalasfuentesdeenergíadeorigenrenovablehapropiciado queenlosúltimosañossehayaproducidoungranaumentodelapotenciainstalada,y entreellas,laenergíaeólicahasidolaquehatenidounmayorauge,debidoprincipalmente alagranmadurezdelatecnología,resultandoenuncostepormegavatioinstaladocada vezmenor.Porotraparte,lagranventajadelaenergíaeólica,quehaimpulsadoenmayor medidasudesarrollorespectodeotrasfuentesdeenergíarenovables,essurelativamente  elevadadisponibilidadgeográfica,puesenmayoromenormedidahaycorrientesdeviento encasicualquierregiónelplaneta.  Comocontrapartida,lageneracióneólicaconllevaciertosinconvenientes.Porunlado,la granvariabilidaddelviento,yportantodelageneracióneólica,complicasuintegraciónen elsistemaeléctrico.Además,algunosgeneradorespuedendesconectarsedelsistemaante perturbacionescomoloshuecosdetensión,descensosbruscosenlatensiónquetienen lugarcuandoseproduceuncortocircuitoenelsistema.Estasperturbacionespueden provocarunapérdidasúbitadegeneracióneólicaenelsistema,quepuedeponerenriesgo laseguridaddelsuministro.Sinembargo,larecienteincorporacióndemejorastecnológicas enelcomportamientodelosaerogeneradoresfrenteaperturbacionesenlaredcomienzaa permitirunaltogradodepenetracióndelaenergíaeólicasincomprometerendemasíala seguridaddelabastecimientoeléctrico.  Graciasalasmejorasenelcomportamientodelosaerogeneradores,alacontinuabajada enelcostepormegavatioinstaladodepotenciaeólica,yalosavancesenlosmétodosde apoyoalaprogramaciónygestióndeestaenergía,laeólicasehaconvertidoenlafuente deenergíarenovablequemássehadesarrolladoenlosúltimosaños.   Figura1.1:PotenciaeólicainstaladaenEspaña     1.1Necesidaddeprediccióndeenergíaeólica Unproblemadepredicciónestadísticaconsistebásicamenteenanalizarlosvalores pasadosdeunavariableydeotrasvariablesrelacionadasparabuscarpatrones significativos,conelobjetivodepoderconoceroextrapolarlosvaloresquetomarádicha variableenelfuturo.  Enlasúltimasdécadashatenidolugarungranavanceenlossistemasdepredicción, debidoalenormeincrementoenpotenciadecálculodelosordenadoresactuales,que permitenalmacenar,analizaryrelacionargrandescantidadesdevariablesysusvaloresen untiempomuyreducido.Esporelloquelosalgoritmosdepredicciónsonunaherramienta muydesarrolladayutilizadahoyendía.  Laimportanciadelasprediccionesradicaenlaayudaqueaportanparaplanificary anticiparsealosvaloresfuturosqueafectaránaunsistema,ayudandoagestionarla adquisicióndelosrecursosnecesariosconantelaciónsuficiente,osirviendocomo herramientaparamaximizarlarentabilidadmediantelatomadedecisionesquemaximicen losbeneficiosdeunaactividad.  Elgranaugequehantenidolasfuentesdeenergíarenovablesdurantelosúltimosañosha obligadoaplantearseunnuevoproblemadeprevisión,eldeconocerconlaantelación suficientelaenergíaquevanagenerarestascentrales.Dadoqueelmayoraugeenel ámbitodelasenergíasrenovableslohaexperimentadolaenergíaeólica,esenestesector enelquesehanvenidoaplicandomayoresesfuerzosporcrearherramientasdepredicción deenergíafiablesyeficientes,queayudenaintegrarestaformadeenergíaenlared.  Laeólicaesunaformadegeneraciónnoprogramable,yaquesoloseproduceenergía cuandosoplaelviento,quepuedellegarasermuyvariableinclusoenelcortoplazo,con posibilidaddeintermitenciaygrandescambiosenintervaloscortosdetiempo.Porello,es difícilconocerconantelaciónyprecisiónsuficientelacantidaddeenergíaeólicaconlaque podremoscontarencadamomento.Estavariabilidadhaceespecialmentecomplejasu operación,porloquesuproducciónfuturatienequeserestimadaoprevista,viniendoesta previsióndepotenciafuturainevitablementeafectadaporunerroroincertidumbrede predicción.   Sielvientodisminuye,lapotenciageneradaenlosparqueseólicostambiéndisminuye,y esafaltadepotenciadebeserreemplazadaporotrasfuentesdegeneraciónconuna reservasuficienteenmagnitudyvelocidadderespuestaparaquelademandaeléctricano seveaafectada.Enotrasocasiones,puedeocurrirquenosepuedaintegrarenelsistema todalaproduccióneólicadisponible,yaquelaenergíaeólicanosegeneradeacuerdoalas necesidadesdeconsumo,yseanecesarioreducirelsuministrodeestafuentedeenergía. Portodoesto,laprediccióndegeneracióneólicasehaconvertidoenuntemaclavepara hacerfactibleeldesarrolloeimplantacióndelaenergíaeólica,ysuintegraciónenel sistemaeléctrico.  Desdeelpuntodevistadegeneracióneólica,odecualquierotrafuentedeenergía renovable,suprevisiónresultaútiltantoparaeloperadordelsistemacomoparalosagentes delmercadoolospropietariosdeparques.Así,eloperadordelsistemaeléctriconecesita conocerconantelaciónsuficientelacantidaddeenergíaeólicaqueseráinyectadaenlared paragestionarlapotenciaquedeberángenerarlascentralesconvencionales,conel objetivodecubrirlademandatotaldelsistema.Entretanto,losagentesdemercadoestarán interesadosenconocerconlamayorcertezaposiblelapotenciaquegeneraránsusparques eólicosconelobjetivodeseguirlasestrategiasqueresultenmásrentablesenelmercado deenergíaeléctrica.Además,lospropietariosdeparqueseólicostambiénestarán interesadosenconocerenquéperiodosseesperanmenorespotenciasgeneradasensus instalaciones,paraafrontarlaboresprogramadasdemantenimiento.  Elvalordelaprevisióndegeneracióneólicaentérminoseconómicostienedos perspectivas.Porunlado,tenemoslareduccióndecostesdeoperaciónenelsistema originadaporlareduccióndereservanecesaria.Porotroladoestánlasposibles penalizacioneseconómicasqueseaplicanalosagentes,debidasalosdesvíosensus compromisosdegeneraciónadquiridosenelmercadodeenergíaeléctrica.  2.Objetivos Enlosúltimosañossehanaplicadodiversosmétodosenelámbitodelaprediccióneólica. Estetrabajosecentraráenlasprediccioneseólicasacortoplazo,yhabitualmenteparaeste horizontesehanutilizadodosaproximacionesbásicas,losmodelosfísicosylosmodelos estadísticos.   Losmodelosfísicostienenencuentaconsideracionesfísicasparaadaptarlaspredicciones devientoenunazonaalascondicionesconcretasdelemplazamientodondeserealizanlas mediciones.Parahacerestaadaptaciónseutilizanmodelosdemesoescalaomicroescala que,partiendodelascondicionesinicialesydecontornoobtenidasdeunmodelo atmosféricodemayorescala,calculanlavelocidaddelvientoincidenteenlasturbinasdel parqueparaposteriormentecalcularlaprediccióndepotenciapormediodelacurvade potencia.  Porotrolado,deentrelosmodelosestadísticospodemosencontrarlafamiliadelasseries temporales,quesoloutilizanvalorespasadosdelasvariablescomodatosdeentradadel modelo,ylosqueademásdevalorespasadosutilizancomoentradaslosvaloresde predicciónmeteorológicademodelosatmosféricos,relacionándolosconlosvaloresde potenciahistóricauotrosvaloreshistóricosmedidos.  EsteeselenfoquedestacanlosmodelosARIMAoBoxJenkins,queresultanútilesparala predicciónendeterminadosprocesosindustriales,yenelcontextodelapredicciónde energíaeólicaproporcionaresultadosrazonablementebuenosparahorizonteshasta6 horas.  Tambiénsehanutilizadodistintostiposdemodelosregresivos,comoporejemplolos modelosAR,ARMAylosmodelosbasadosenlaRegresiónporvectoresdesoporte(SVR), loscualeshandadomuybuenosresultadosenlosúltimosaños.  Elobjetivodeestetrabajoespresentarotrosdosmodelosdepredicción,basadosenuna seriedearquitecturaspertenecientesalaprendizajeautomáticoyalaprendizajeprofundo. Concretamenteseusaráncomomodelosdeprediccióndiferentesarquitecturasderedes neuronalesartificiales,talescomoredesneuronalesFeedforwardyredesLSTM.  Asímismo,serealizaráunaseriedeexperimentosconestosmodelosparaestudiarsu capacidaddepredicciónyanalizarelprocesodeaprendizajevariandolosdistintos parámetrosqueposeenestasredes.Tambiénserealizaráunaexhaustivaevaluaciónde erroresdelosmodelossiguiendounaseriedeprotocolosydirectricesyaestablecidasenel ámbitodeprediccionesdeviento.    3.Antecedentesydefinicióndeconceptos Elobjetivodeestecapítuloesorientarallectorenelámbitodelaprendizajeautomáticoy definirunaseriedeconceptosqueestaránrelacionadosconlasdosarquitecturasderedes neuronalesqueseutilizaránpararealizarlasdistintasprediccionesdelosdatos metereológicos.  3.1.AprendizajeAutomático ElAprendizajeAutomático(AA,oMachineLearning,porsunombreeninglés)eslaramade laInteligenciaArtificialquetienecomoobjetivodesarrollartécnicasquepermitanalas computadorasaprender.Deformamásconcreta,setratadecrearalgoritmoscapacesde generalizarcomportamientosyreconocerpatronesapartirdeunainformaciónsuministrada enformadeejemplos.Es,porlotanto,unprocesodeinduccióndelconocimiento,esdecir, unmétodoquepermiteobtenerporgeneralizaciónunenunciadogeneralapartirde enunciadosquedescribencasosparticulares.  Cuandosehanobservadotodosloscasosparticulareslainducciónseconsideracompleta, porloquelageneralizaciónalaquedalugarseconsideraválida.Noobstante,enla mayoríadeloscasosesimposibleobtenerunainduccióncompleta,porloqueelenunciado aquedalugarquedasometidoaunciertogradodeincertidumbre,yenconsecuencianose puedeconsiderarcomounesquemadeinferenciaformalmenteválidonisepuedejustificar empíricamente.  Enmuchasocasioneselcampodeactuacióndelaprendizajeautomáticosesolapaconel deDataMining,yaquelasdosdisciplinasestánenfocadasenelanálisisdedatos,sin embargoelaprendizajeautomáticosecentramásenelestudiodelacomplejidad computacionaldelosproblemasconlaintencióndehacerlosfactiblesdesdeelpuntode vistapráctico,noúnicamenteteórico.  Aunnivelmuybásico,podríamosdecirqueunadelastareasdelAAesintentarextraer conocimientosobrealgunaspropiedadesnoobservadasdeunobjetobasándoseenlas propiedadesquesíhansidoobservadasdeesemismoobjeto(oinclusodepropiedades observadasenotrosobjetossimilares)...o,enpalabrasmásllanas,predecir comportamientofuturoapartirdeloquehaocurridoenelpasado.    3.2.RedesNeuronales UnosdelosmétodosmásexitososdelAprendizajeAutomáticosonlasredesneuronales artificiales.Sonunparadigmadeaprendizajeyprocesamientoautomáticoinspiradoenla formaenquefuncionaelsistemanerviosodelosanimales.Setratadeunsistemade interconexióndeneuronasquecolaboranentresíparaproducirunestímulodesalida  3.2.1.Historia Losprimerosmodelosderedesneuronalesdatande1943porlosneurólogosWarren McCullochyWalterPitts.Añosmástarde,en1949,DonaldHebbdesarrollósusideassobre elaprendizajeneuronal,quedandoreflejadoenla"regladeHebb".En1958,Rosenblatt desarrollóelperceptrónsimple,yen1960,WidrowyHoffdesarrollaronelADALINE,quefue laprimeraaplicaciónindustrialreal.Enlosañossiguientes,seredujolainvestigación, debidoalafaltademodelosdeaprendizajeyelestudiodeMinskyyPapertsobrelas limitacionesdelperceptrón.Sinembargo,enlosaños80,volvieronaresurgirlasRNA graciasaldesarrollodelareddeHopfield,yenespecial,alalgoritmodeaprendizajede retropropagación(BackPropagation)ideadoporRumelhartyMcClellanden1986quefue aplicadoeneldesarrollodelosperceptronesmulticapa.  3.2.2.Propiedades Desdeunpuntodevistabiológico,todosistemanerviosoconstadeelementos básicos,lasneuronas.Paraunaredneuronal,elelementobásicoesconocidoenforma generalcomouncombinadorlinealadaptativo(adaptivelinearcombiner),elcualtiene unarespuesta paraunaseriedeentradasdelvector (verFigura3.1).EnesteSkWk elemento,semuestraquelaentrada esmodificadaporciertoscoeficientes,Xk denominadospesos(weights)queformanpartedelvector ycuyovaloreselWk resultadodecompararlasalida conelvalordesalidadeseado .LaseñaldeerrorSkdk queesgeneradaseusaasuvezparaactualizarlospesos , ,etc,detalmaneraqueW0kW1k medianteunprocesoiterativolasalidaseaproximealvalordeseadoyaunerror deƐk cero.  LaestructurageneraldelelementoensutotalidadeslaquesemuestraenlaFigura3.1.   ● ElsiguientepasoquerealizalaLSTMesdecidirquéinformaciónnuevasevaa almacenarenelestadodememoria.Estoserealizaendosetapas.Enprimerlugar, unapuertallamada"InputGate"decidequévaloresvamosaactualizar.A continuación,unapequeñaredcontanhcreaunvectordevaloresnuevos candidatos, ,quepodríanañadirsealestado.Enelsiguientepaso,secombinanĈt losdosresultadosparacrearunaactualizacióndeestado.         Figura3.8:Imputgate  ● Enestemomentoyapodemosactualizarelestadodelamemoriacambiando Ct−1  porelnuevoestado .Comoenlospasosanterioresyasehadecididoquéhacer,Ct sólotenemosqueaplicarlasoperacionesdecadapuerta.Multiplicamoselestado anteriorpor ,olvidandounaciertalacantidaddeinformaciónenfunciónde .Aftft continuaciónsumamos alamemoria,actualizandolamismaconnuevosit*Ĉt valoresquenospodríanservirenunfuturo.  Figura3.9:Actualizacióndelamemoria   ● Porúltimo,tenemosquedecidirqueserálasalidadecélulaLSTM.Estaseobtendrá medianteelproductodedoselementos.Elprimerodeellosserálasalidadelared consigmoide,queserviráparadecidirquéelementosdelamemoriasecombinarán. Elsegundoelementoseráelfiltradodedatosdesdelamemoriaporunatanh(para empujarlosvaloresaestarentre1y1).Estosdoselementossemultiplicaran dandocomoresultadolanuevasalidadelacélula. .         Figura3.10:Salida   4.Descripcióndelasherramientasutilizadas Todaslasarquitecturasderedesneuronalesdescritasenelapartadoanterior,puedenllegar aserrealmentedifícilesdeimplementar,porelloexistendiversosframeworkespecialmente desarrolladosparaqueelusuarionotengaqueprofundizardemasiadoeneldiseñoe implementacióndelasdiferentesestructurasdelaprendizajeautomático.Entrelasmás importantesestánTheano,TorchoCaffe,perorecientementesehadadoaconocerotro frameworkqueenteoríaofreceaúnmásfacilidadesparausuarioalahoradeutilizarlas diferentesarquitecturas,nosoloparaimplementarlassinoademásparaestudiarsu comportamientoyrealizarestudiosexperimentales.  ElframeworksellamaTensorFlow,yoriginalmentefuedesarrolladoporinvestigadorese ingenierosquetrabajanenelgrupodeinvestigacióndeInteligenciadeGoogleconelfinde desarrollarmáquinasdeaprendizajeprofundobasadoenredesneuronales,peroelsistema eslosuficientementepotentecomoparaseraplicableenunaampliavariedaddecampos.  Esdecódigoabiertoyestápensadoparaelcálculonuméricomediantegráficosdeflujode datos.Estosdiagramasdescribenelcálculomatemáticoconungrafodirigidodonde  tenemosnodosybordes.Losnodossuelenrepresentarlasoperacionesmatemáticas,pero tambiénpuntosdealimentacióndelosdatos,eliminaciónderesultados,olalectura/ escrituradevariablespersistentes.Losbordesdescribenlasrelacionesdeentrada/salida entrelosnodos.Estosbordestransmitenconjuntosdedatosmultidimensionales,otensores quesepuedenasignaralosdispositivosdecómputoparaejecutardeformaasincrónicao paralela.  Otracaracterísticaimportanteesquegraciasasuarquitecturalepermiteimplementarla computaciónaunaomásCPUoGPUenunordenadordesobremesa,servidoro dispositivomóvilconunasolaAPI.TieneAPIsdisponiblesenvariosidiomas,tantoparala construcciónyejecucióndeungráficoTensorFlow.LaAPIdePythonesenlaactualidadlas máscompletaylamásfácildeusar,perolaAPIC++puedeofreceralgunasventajasde rendimientoenlaejecucióngráfica,yapoyaeldesplieguedepequeñosdispositivoscomo Android.   5.Modelosdepredicciónpropuestos ComosehaespecificadoenelcapítulodeObjetivos,enestetrabajoseproponendos modelosdepredicciónbasadosenredesneuronales.Elprimeroutilizandounaredneuronal FeedforwardyelsegundounaredneuronalrecurrenteLSTM.  Lasredesneuronalesfeedforwardsepodríanconsiderarestructurasadaptativasde procesamientodeinformación,dondeelprocesamientosellevaacabomediantela interconexióndesusneuronas.Soncapacesdecaptarrelacionescomplejasnolineales entredistintasvariables,yporestosepuedenutilizarpararesolverciertotipodeproblemas muycomplejosdondenoseconocenlasrelacionesexistentesentrelasvariables explicativasylasalida,comopuedeserlapredicción.  Encambiolasredesneuronalesrecurrentespresentanunoomásciclosenelgrafodefinido porlasinterconexionesdesusunidadesdeprocesamiento.Laexistenciadeestosciclosles permitetrabajardeformainnataconsecuenciastemporales.Sonsistemasdinámicosno linealescapacesdedescubrirregularidadestemporalesenlassecuenciasprocesadasy puedenaplicarse,porlotanto,amultituddetareasdeprocesamientodeestetipode secuencias.   Suprincipalventajaestáenlaposibilidaddealmacenarunarepresentacióndelahistoria recientedelasecuencia,loquepermite,adiferenciadeloqueocurreconlasredes neuronalesnorecurrentes,quelasalidaanteundeterminadovectordeentradapueda variarenfuncióndelaconfiguracióninternaactualdelared.  Laestructuradelasdosredeseslasiguiente:  ● Redfeedforward ○ Capadeentrada:32 ○ Capasinternas:1capainternade30neuronas ○ Capadesalida:1deunaneurona ○ Algoritmosdeaprendizaje:Gradientedescendente ○ Funcióndeactivación:Sigmoide ○ Algoritmodeparada:Númerodeiteraciones=500   ● RedrecurrenteLSTM ○ Capadeentrada:32 ○ Capasinternas:1capainternade50neuronas ○ Capadesalida:1deunaneurona ○ Algoritmosdeaprendizaje:Gradientedescendente ○ Funcióndeactivación:Ninguna,valoresdesalidareales ○ Algoritmodeparada:Númerodeiteraciones=100  Elmotivodehaberescogidoestasconfiguraciones(númerodeentradas,deneuronas,de iteracionesydemás),seabordaráenlossiguientesapartados.  5.1Datosdeentrenamiento Losdatosqueseutilizaranpararealizarlasdistintaspruebas,losentrenamientosypor supuestolapredicción,seránlasdistintaspotenciasdevelocidaddeviento(m/s)captadas porunanemómetrosituadoenlatorreclimatológicaPozoizquierdo,concretamente potenciastomadasaunaalturade40metrosdurantelosmesesdeJulioyAgosto.  Lasmedidasdevelocidaddevientoestántomadascadaminuto,portantosonunas80.000 muestras,peroeneltrabajoserealizarándiferentesentrenamientostomandolosdatos  cada10minutosocadahoraparaestudiardistintosaspectosdelapredicción.Tambiénse haránpruebastomandolapromediodelosdatosendistintosrangos(promediocada10 muestrasporejemplo).  Elrendimientodeunmodeloestárelacionadaconsucapacidaddepredicciónennuevos datoseindependientesdelentrenamiento.Laevaluacióndeesterendimientoesmuy importante,yaqueestosdatosnosdaunamedidadelacalidaddelmodelodepredicción enlapráctica.  Portanto,esimportanteevaluarlasmedidasdeerrorendatosquenosehautilizadopara laconstruccióndelmodelodepredicciónoparaajustaralgunosparámetrosdelmétodo.Por estarazón,losdatosserándivididostalcomosemuestraenlaFigura5.1.  Figura5.1:Divisióndelosdatos  5.2Hiperparametros Encualquierentrenamientodeunaredneuronalexistenunaseriedehiperparametrosque elprogramadordebeajustarenfuncióndecómosehadesarrolladoelentrenamiento,dela evolucióndelafuncióndecoste,delacalidaddelasalidadelaredodeltiempode ejecucióndelamisma.  Enconcreto,loshiperparametrosquehabráqueajustarenlasdistintasredesneuronales conlasquesetrabajarásonlossiguientes:  ●Númerodeépocas:Elaprendizajeenesteestudioserealizaporépocas.Laredse haceevolucionarduranteunperiododetiempo(época)enelqueselevanpasando losdistintosbatchdelconjuntodedatos.Unavezllegadoalfinaldeunaépocala  redyahabráentrenadocontodoslosdatosyhabráalcanzadoundeterminadoerror decostequeseintentaráreducirenlassiguientesépocas.  ●Tamañodebatch:Laentradadelarednoesmásqueunvectordenúmeros(de velocidadesdeviento),TensorFlowestádesarrolladodeformaque,alahorade entrenar,elprogramadorpuedepasarlemásdeunaentradaalared,esdecir,más deunvectordedatos.Estelotededatosseconoceconelnombredebatch,yel tamañodeesteloteesunparámetroimportantedelaredpuestoquepuede determinareltiempodeejecucióndelared,perotambiénvariarlacalidaddelas prediccionesdelamisma.  ●Númerodeneuronasdelacapaoculta:Elnúmerodeneuronasquedebetenerla rednoesundatoquesesepadeantemano,dependedelosdatosdeentrada.Por elloesnecesariorealizarunapequeñaexperimentaciónconelnúmerodeneuronas aemplearparaoptimizarelfuncionamientodelared.  ● Factordeaprendizaje:Estádirectamenterelacionadoconlavelocidadde aprendizajedelared.Esteparámetroindicaelporcentajeenquesepermiteque varíenlospesosdelaredencadaépocadeentrenamiento.Sielvaloresalto,la modificacióndelospesosdeunaépocaaotrapuedesermuygrande,mientrasque sielvaloresreducido,lospesossólopuedenvariarenpequeñaproporción:  ○Enelperíododeaprendizaje,valoresaltosdetasadeaprendizajefavorecen elacercamientorápidoalosvaloresóptimosdelospesos,peronopermiten elajustefinodeestospesosprovocandounmovimientocontinuoalrededor delóptimo.  ○Losvaloresbajosdelfactordeaprendizajesuponenunlentoajustedelos valoresdelospesospudiendoprovocarlacaídaenmínimoslocalesdelos quenoesposiblesaliraltenerunvalorbajodetasadeaprendizaje.  Esnecesariolocalizarunvalordecompromisodefactordeaprendizajeadecuado paracadaproblemaconcreto,losuficientementealtaparaacercarsealóptimoenun tiempoprudencialyevitarelriesgodecaerenmínimoslocales,ysuficientemente pequeñoparapodertenergarantíasdelocalizarunvalorcercanoalóptimo.   ● Tamañodeventana:Eltamañodeventanaserefierealalongituddelvectorde entradadelared,esdecir,alnúmerodedatosquetomaralaredyqueevaluará parapredecirlosdatosfuturos.   Figura6.2:Ventana 5.3Entrenamiento Entrenarunaredneuronalesunprocesoquemodificaelvalordelospesosybias asociadosacadaneuronaconelfindequelaRNApuedaapartirdeunosdatos presentadosenlaentradaygenerarunasalida.Enelcasodelaprendizajesupervisado,se tieneunconjuntodedatosperonoseconocelafunciónorelaciónmatemáticaquelos representa;alpropagarhaciadelantecadaunodeestospatronesseobtieneunarespuesta enlasalidadelaRNAlacualsecomparaconlasalidadeseada,permitiendoobtenerel errordeldesempeñodelared.  Parasupervisaryanalizarlacalidaddeunentrenamientoelprogramadordebeexaminar diferentespuntos,elprimerodeelloseselerrordeprediccióndelared,queseexpondrá detalladamenteenlossiguientescapítulos.Elotropuntoquedebeanalizarelprogramador despuésyduranteelentrenamientoeslavariacióndelcosteoerrordeentrenamiento generadaporlafuncióndecostedelared.  Lafuncióndecosteesunapartefundamentaldelentrenamientodeunared,puesesla encargadadeestimarlacalidaddelasalidamedianteelcálculodeunerror(error cuadráticomedionormalmente)utilizandolasalidaresultantedelaredylasalidadeseada. Esteerrordebeirdisminuyendoamedidaqueavanzaelentrenamiento,loquesignificaría quelaredestáaprendiendoyportantolasalidadelamismasevapareciendocadavez másalasalidadeseada.   Esteerrorsepuederecolectarparaluegoserrepresentadoenunagráficaquenospuede darciertainformacióndecómohasidoentrenamientodelared.  PorejemploenlagráficadelaFigura5.3podemosobservarquelaevolucióndelcosteen lasúltimasépocassiguedescendiendo,esdecir,nopermanecemásomenosconstante,lo quesignificaqueelcostedelaredpuedeseguirdisminuyendo.Yportantosería recomendableaumentarelnúmerodeépocasparaobtenermejoresresultados.  Figura5.3:Ejemplodegráficadecoste  OtroejemplopodríaserelquevemosenlaFigura5.4,dondepodemosverqueelcosteno desciendedeformaconstante,sinoqueenlasprimerasépocashasubido.Estopuedeser debidoaquequizáshemosentrenadoconunfactordeaprendizajedemasiadoelevado,lo queprovocaquecuandoserealizaeldescensoporelgradiente,alserunsaltoligeramente grande,laaproximaciónalmínimoóptimodelafunciónnoseaprecisa,provocandoqueel erroraumenteyquesetardemásenajustarseparallegaraesemínimo.  Paracorregirestosimplementetendríamosquereducirelfactordeaprendizajehastaque observemosquelagráficadecostedesciendedeformaprogresiva.  Figura4.4:Ejemplodegráficadecoste    6.Experimentos Enestasecciónseexplicarálosexperimentosyestudiosquesellevaránacaboconel modelodepredicciónbasadoenunaredLSTMyconelmodelobasadoenunared feedforward.  Primeroesnecesariodefinircómoserányenquéfrecuenciaestaránlosdatosconlosque realizaremoslosexperimentos,paraello,primerodebemosrealizarunapequeñareflexión sobreelcomportamientodelviento.  Elviento,aunqueesunsistemacaóticoymásomenosaleatorio,presentaunaseriede patronesociclosqueserepitenalolargodelaño.Porejemplo,elvientotienelosllamados  ciclosestacionales,dondeseproduceciertocomportamientorepetitivoenelcambiode estaciones,oelciclolunar,dondeelsatéliteinfluyeenestasvelocidadesdevientoen periodosde28días.Porúltimo,existentambiénlosllamadoscicloscircadianos,quese producenenperiodode24horas.Comoenesteexperimentodisponemosdemuestrasde solo2meses,elúnicocicloquepodemosestudiaresesteúltimo.Portantotrabajaremos condatosdondelafrecuenciademuestreoserádelpromediodecadahora.Laspruebasse haránconuntamañodeventanade32muestras(32horas),puestoque,comoseha indicadoantes,elciclocircadianoocurrecada24horas,yparaquelasredespuedancaptar estepatrónalcompleto,debemosaumentarlaventanaqueanalizalasmuestrasaun tamañomásgrandeparaabarcarmásdeundía.  Esimportantedestacar,queasuvezsetrabajaranconlosdatosnormalizadosentre valoresde0y1,puestoquelasredesconlasqueexperimentemosutilizaransigmoideo tanhcomofuncionesdetransferencia,yestádemostradoquelosvaloresnormalizados ofrecenmejoresresultadosalahoradegenerarlasalida.  Elexperimentosedividiráendosetapas.Laprimeraetapadelexperimentoconsistiráen realizarunestudiodelaevolucióndeloserroresdeprediccióndelosmodelosvariando algunosdesushiperparametros,conelfindeajustarlosavaloresóptimosquedenmejores resultadosenlapredicción.Unejemploseríaanalizarlaevolucióndeloserroressise incrementaprogresivamenteelnúmerodeneuronasdelacapaocultadelared.  Lasegundaetapaconsistiráenevaluarlacalidaddelaprediccióndelosmodelos,paraello secomparancondistintosmodelosdereferenciayaestandarizadosenelámbitodela prediccióneólica.  Tantoenlaprimeraetapacomoenlasegundasetrabajaranconunaseriedemedidasde errorqueseutilizaranpararealizarlasdistintascomparacionesycrearlasdistintasgráficas. Porello,antesdedetallarlosexperimentos,enelcapítuloquevieneacontinuaciónse definiránestoserrores   6.1Medidasdeerror Engeneralenelcampodelaprediccióndeseriestemporales,elerrordepredicciónse definecomoladiferenciaentrelamedidarealyelvalorpredicho.Porlotanto,puestoque   Analizandolasgráficaspodemosadvertirqueamedidaquevamosaumentandolacantidad deneuronasquelaredesutilizanparaentrenar,elerrormedioabsolutotiendeabajar,en cambioeltiempodeentrenamientocrecedeformaprogresiva.  Aprimeravistaparecequelasdosredestienencomportamientosparecidos,perosinos fijamosbienenlasescalasdelasgráficasveremosunadiferenciasignificativa.  EnelcasoderedFeedforward,esciertoqueparecequeelerrordesciendeamedidaque aumentamoslacantidaddeneuronas,peroesteerrorfluctúaentre0.06y0.0585,loque nosllevaapensarque,comoelerrorsemantienedeformamásomenosconstantesobre esosvalores,elnúmerodeneuronasrealmentenodeterminaengranmedidalacalidadde lapredicciónenelcasodelaredFeedforward,esdecir,enlapráctica,sientrenamoscon 10neuronasycon100prácticamentenonotaremosladiferenciaencuantoalapredicción quegenera.  EnlaredLSTMlacantidaddeneuronassiqueesligeramentemásdeterminantepuesto queladiferenciadelerroresmásconsiderable.Asíquelomásrecomendableseríautilizar unacantidaddeneuronasentornoa50puestoqueescogermas,comosepuedeapreciar enlagráfica,nonosgarantizaobtenerunamenortasaerror(elerrorsemantienemáso menosconstante)perosíqueaumentaeltiempodeentrenamiento.    Númerodeépocas Tambiénesimportanteparaobtenerbuenosresultadosdeterminarelnúmerodeépocasde entrenamientoquelasredesnecesitanparaajustarcorrectamentesuspesosyempezara generarsalidasválidas.  Asípuesserealizarondiferentesejecucionesincrementandoestenúmeroparaestudiarla evolucióndelerror.  FeedForward     LSTM    ObservandolasgráficaspodemosapreciarquelaredFeedforwardapartirdeunas300 épocasempiezaaofrecertasasdeerrormásbajas.EnelcasodelaredLSTMpareceser quenonecesitadetantasépocasparaalcanzarsutope,observamosqueentornoalas 100épocasseempiezanaobtenerlosmejoresresultados.   EstadiferenciaenelnúmerodeépocassedebequelaredLSTM,porsuarquitecturaypor cómoestádiseñada,enunaejecuciónlasneuronasrealizanmuchomásoperacionesde ajusteenloqueseconocecomoelprocesode“rollback”,dondeademásintervieneel estadodememoriaparagenerarsalidasmuchosmásprecisas.   Factordeaprendizaje Porúltimoserealizaronpruebasconelfactordeaprendizajeconelobjetivodedeterminar aproximadamentecuáleselvaloradecuadoparacadaunadelasredes.  Enestecaso,porcuestionesdevisualización,sehavolcadolosresultadosenunatabla, dondepodemosobservarquesehanprobadodistintosvaloresdefactordeaprendizajey sehacalculado,igualqueenlosotroscasos,elpromediodelerrormedioabsolutodediez ejecucionesconcadafactor.    MAE Feedforward LSTM 0.1 0.71 0.47 0.01 0.52 0.44 0.001 0.92 0.46 0.0001 0.103 0.88 0.00001 0.107 0.14  PodemosapreciarqueenlaredFeedforwardclaramenteelvalordefactordeaprendizaje quemejorresultadosofrecees0.01.Ladiferenciadeentrenarconunfactoruotroesmuy grande,ademáslosotrosvaloresofrecentasasdeerrormuyaltasencomparaciónconeste factorde0.01.  EncambioenlaredLSTM,esmásdifícildeterminarquéfactoreseladecuado,puestoque, comopodemosobservar,losvaloresdefactordeaprendizajede0.1,0.01y0.001ofrecen tasasdeerrorprácticamenteiguales.Seríarecomendableescogerelvalorqueestáen medio(0.01)deestostresparaevitarunposibleajustedemasiadobruscodelospesoscon  unfactordemasiadoalto(0.1)yporotroevitartambiénunajustedemasiadofinoylento (0.001)quepuedeprovocarunestancamientoenalgúnmínimolocal.  6.3Segundaetapa:Evaluacióndelosmodelos Existenvariosmodosdeevaluaciónyapropuestosenlaliteraturaparalacomparaciónentre diferentesmodeloscondistintoscasosdeestudio,yparaconocerlabondaddelos diferentesprocedimientosdecálculodeprediccionesagregadasqueseproponenypoder compararsuprecisión.  Paracuantificarlagananciadeprediccióndelosmodelospropuestosalosmodelosde referencia,seutilizarálasiguientefórmula:  donde sonloscriteriosdeevaluaciónaconsiderar,esdecir,lasmedidasdeerrorC(k)E calculadasenlaetapadevalidación(BIAS,MAE,MSE,etc...),ytérmino seCE ref  corresponderíaconlosdistintosmodelosdereferenciaquesedetallaranenelsiguiente capítulo.  6.3.1Modelosdereferencia Enelcampodelapredicción,sehandefinidoalgunosmodelossencillosquesirven comoreferenciaalahoradeevaluarlacalidaddelosnuevosmodelosdepredicción desarrollados.Estosmodelosdereferenciaestánbasadosenmodelossencillosde seriestemporales.  UnodelosmodelosdereferenciamásutilizadoseselmodelodePersistencia.Según estemodelolasprediccionesdepotenciaafuturo,paracualquierhorizonte,coinciden conelvaloractualdelavariable,enestecasolapotenciaeólica:  donde eslapredicciónparaelhorizontedetiempo ,calculadaenelinstante(t|t)P+h t +h actualt,y eslamedidaactualdepotenciaregistradaenelparqueolaregiónde(t)P estudio.   Elmodelodepersistenciaesuncasoconcretodelmodelodemediamóvildelas últimasnobservaciones,conn=1,elcualseráelsegundomodelodereferenciaquese utilizaraenesteestudio:  siendo lamedidadepotenciaenelinstante ,deantigüedad .(t)P−i t −i i   Cuandoelordendelmodelodemediamóviltiendeainfinito,entoncestenemosla mediaglobaloincondicionaldetodoelhistóricodepotenciaseólicasregistradasenel parqueoregión,tambiénllamadamediaclimática,loqueseríaunbuenmodelode predicciónamuylargoplazo:  Frutodecombinarlabondaddelasprediccionesdelmodelodepersistenciaparael muycortoplazo,ylarelativabondaddelasprediccionesdeunmodelodemedia globaldepotenciaparaprediccionesalargoplazo,obtenemosunnuevomodelode referenciaqueresultadeunaponderacióndeambosmétodos,cuyoscoeficientesde ponderacióndependendelhorizontedepredicción:  donde eselfactordeponderaciónquehabríaqueestimar,convaloresentre0y1ak dependiendodelhorizontedepredicción,yquetomarávalorescercanosalaunidad parahorizontesdepredicciónmuycortos,dandomuchopesoalmodelode persistencia,yvalorescercanosaceroparahorizontesdepredicciónmuyelevados,en losquelapotenciaesperadaseaproximarámásalamediadepotenciaregistrada históricamente.  Aunqueelúltimomodelodereferenciapropuestoesmáselaboradoyproporcionamejores resultadosqueelmodelodepersistencia,enlaprácticaelmodelodereferenciamás utilizadosiguesiendoelmodelodepersistencia,debidoasusencillezyaquenorequierela estimacióndeparámetroalguno.    6.3.2Resultados Paraapreciarmejorytenerunareferenciamásvisualdecómoeslacalidaddepredicción delosmodelos,tantolospropuestoscomolosdereferencia,semostraránprimerouna seriedegráficasquenosenseñarandichaspredicciones,yacontinuaciónseabordarála evaluacióndelosmodelospropuestosaplicandolasreglasylasdirectricesquehemosvisto enlosapartadosanteriores.  Enlasdistintasgráficasveremosdosseriestemporales.Enazulserepresentarálaserie temporalrealquesehautilizadocomotestparagenerarlasdistintasprediccionesdelos modelos.Estasprediccionessesuperpondranencolorverdesobrelosdatosrealesconel findeapreciarmejorlacalidaddelapredicciónycomprobarsiseajustacorrectamenteala serietemporalreal.Adicionalmentesemostrará,paraevaluaraúnmáslapredicción,un zoomdelaprediccióndelmodeloencuestión.  Modelodepersistencia    Recordemosqueelmodelodepersistenciagenerasusprediccionescogiendoelúltimo valordelaserietemporalenesemomento.Porestarazónvemosquelalíneaverdeestá unaposiciónadelantadaconrespectoalaserietemporalreal.  Modelodepersistenciapromedio     Elmodelodepersistenciapromediogeneralasprediccionescalculandoelpromediodelas núltimasobservaciones.Enestecasonsecorresponderíaconelvalordeltamañodela ventanaconelquehemosrealizadolasdistintaspredicciones,32.Esevidentequela predicciónesbastantepeorqueenelmodeloanterior,yaqueestemodeloestápensado paraprediccionesdemásalargoplazo.  Modelodepersistenciacombinado    Elestemodelosurge,comobiendiceelnombre,delacombinacióndelosdosmodelos anteriores,juntoconunciertocoeficientedeponderación,queseajustaenfuncióndel horizontedepredicción.Paraestecasosehaescogidouncoeficientede0.75.   Modelopropuestos   Feedforward    Parahiperparámetrodeltamañodebatch,observamosqueambasredespresentanel mismocomportamiento.Apartirdeuntamañoentornoa200,seempiezanaobtenertasas deerrormáselevadasyparatamañosmáspequeñosqueestéelerrorsemantienemáso menosconstante.Porotroladotambiénobservamosenambasgráficasdetiempo,queeste esmuchomayorcuantomáspequeñoseaelbatch.Portantoteniendoencuentaestasdos reflexiones,sedeberíaescogeruntamañodebatchmediotalquenoseademasiado pequeñoparaevitareltiempodeentrenamientoexcesivo,peronomayorde200parano obtenertasasdeerrordemasiadoelevadas.  Encuantoalhiperparámetrodelacantidadneuronasautilizarenlacapaocultadelas redes,vimosquelaredFeedforwardpresentabauncomportamientoligeramentedistintoal delaredLSTM.Seobservóqueelnúmerodeneuronasnoesunfactordemasiado determinanteenelcasodelaredFeedforward,puestoquelatasadeerrorquegenerabala redaliraumentandoelnúmeronodescendíadeunaformasignificativa,sinoquelohacía enunrangodeerroresmuyreducido.  EncambioenlaredLSTMsiqueseobservóuncambiomásacentuadoalañadirmás neuronasparaelentrenamiento.Quedóclaroquelascantidadesreducidasdeneuronasno ofrecíanbuenosresultados,yesentornoa50cuandoseempiezanaobtenertasasde errormásbajas.  Porúltimoserealizaronpruebasparadeterminarelnúmerodeépocasdeentrenamientoy elfactordeaprendizajequelasredesnecesitabanparallegarallamejorconfiguracionde pesos.EnloreferentealnúmerodeépocaspareceserquelaredLSTM,porsuarquitectura recursiva,necesitademenosépocasdeentrenamientoquelaredFeedforward.Encuanto alfactordeaprendizaje,aunquelaredLSTMpresenteuncomportamientomásconstante, sepuedeconsiderarqueambasobtienenlosmejoresresultadosconelmismovalor,que estáentornoa0.01.  Enrelaciónalosresultadosobtenidosenlasegundaetapadelexperimento,dondese evaluógráficamenteyluegonuméricamentelosmodelospropuestos,podemosafirmarque engenerallosmodelosFeedforwardyLSTMmejoranalosdereferenciapero,comovimos enlastablascomparativas,pormuypoco.Centrándonosenlascomparacionesconel modelodepersistenciabásicoelcuáleselmásutilizadoenlascomparacionesdenuevos  modelosdeseriestemporales,vimosquelastasasdeerrorgeneradasporlosmodelos propuestoseranmuyparecidasaldelapersistencia,pornohablarque,salvoporalgunos detalles,gráficamenteeraimposibledistinguirlaprediccióndeestemodelodereferenciade ladelosmodelospropuestos.  Endefinitiva,sehademostradodeformaempírica,quelasredesFeedforwardylasredes LSTM,conlaconfiguraciónpropuesta,presentanuncomportamientomuysimilaralmodelo depersistencia.Esdecir,pareceserqueambasredesgeneransussalidasenfuncióndel últimovalorobservado.Locualesuncomportamientoquenoseesperabaconestasredes ypodríasermateriadeinvestigaciónenunfuturoeldeterminarlarazóndeesteproceder.   8.Bibliografía MiguelGarcíaLobo.Tesisdoctoral.Métodosdeprediccióndelageneraciónagregadade energíaeólica.Leganés,2010  HenrikMadsen,PierrePinson,GeorgesKariniotakis,HenrikAa.Nielsen,TorbenSkov Nielsen.AProtocolforStandardazingtheperformanceevaluationofshorttermwindpower predictionmodels.WindEngineering,MultiSciencePublishing,2005.  CarlosAlbertoOropezaClavel.TesisDoctoral.ModeladoySimulacióndeunSistemade DeteccióndeIntrusosUtilizandoRedesNeuronalesRecurrentes.México,2007  MarcosGestalPose.IntroducciónalasRedesdeNeuronasArtificiales.Universidadeda Coruña,2009  IbrahimEspinoMartín,FranciscoMarioHernándezTejera.TrabajodeFindeMáster. EstudioyanálisisestadísticodelcomportamientodelvientoenlazonasurestedeGran Canariaconunenfoquealapredicción.  J.R.HileraandV.J.Martinez.Redesneuronalesartificiales.Fundamen tos,modelosyaplicaciones.AddisonWesleyIberoamericanaS.A,Madrid,1995  JuanAntonioPérezOrtiz.TesisDoctoral.Modelospredictivosbasadosenredesneuronales recurrentesdetiempodiscreto.   colah´sblog,UnderstandingLSTMNetworks.Abril,2016. http://colah.github.io/posts/201508UnderstandingLSTMs/  RubénLópez,¿Quéesycómofunciona“DeepLearning”?,Mayo,2016. https://rubenlopezg.wordpress.com/2014/05/07/queesycomofuncionadeeplearning/  NeuralNetworkFramework,IntroducciónalasRedesNeuronalesysusModelos,Mayo,2016. http://www.redesneuronales.com.es/tutorialredesneuronales/tutorialredes.htm  wikipedia,Artificialneuralnetwork,Abril,2016. https://en.wikipedia.org/wiki/Artificial_neural_network  EstructurayentrenamientodelaRNA,Junio,2016. http://sabia.tic.udc.es/sc/web2/frame_capitulo5.html#tasa 