scieee Science in your language
[es] (orig)

Predicción de la demanda de energía eléctrica con aprendizaje automático

Author: Ruiz Pérez, Raúl
Year: 2023
Source: https://idus.us.es/bitstreams/cb6fc48e-c2c9-4143-b8f5-d9b903ef47f1/download
P edicción de la demanda de
ene gía eléc ica con
ap endizaje au omá ico
T abajo Fin de G ado
G ado en Ingenie ía Eléc ica
Au o : Raúl Ruiz Pé ez
Tu o : Na ciso Mo eno Al onso
Depa amen o de Ingenie ía Eléc ica
Escuela Poli écnica Supe io
Uni e sidad de Se illa
Se illa, 2023
1
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
ÍNDICE DE CONTENIDOS
ÍNDICE DE CONTENIDOS ................................................................................ 1
ÍNDICE DE FIGURAS ........................................................................................ 4
RESUMEN ......................................................................................................... 6
ABSTRACT ........................................................................................................ 6
1. INTRODUCCIÓN ........................................................................................... 7
1.1. MOTIVACIÓN ............................................................................................... 7
1.2. OBJETIVOS DEL PROYECTO .......................................................................... 7
2. ¿POR QUÉ NOS CENTRAMOS EN LA DEMANDA DE ENERGÍA
ELÉCTRICA? ..................................................................................................... 8
3. APRENDIZAJE AUTOMÁTICO ................................................................... 10
3.1. MACHINE LEARNING .................................................................................. 10
3.1.1. Clasi icación de mé odos de ML...................................................... 10
3.1.2. Big Da a ...........................................................................................11
3.2. DEEP LEARNING ....................................................................................... 12
3.2.1. Concep o de ed neu onal ............................................................... 12
3.2.2. Tipos de edes neu onales .............................................................. 13
3.2.3. Ven ajas .......................................................................................... 13
3.2.4. Incon enien es ................................................................................ 14
3.3. COMPARATIVA FRENTE A MÉTODOS ESTADÍSTICOS CLÁSICOS ......................... 14
4. PYTHON ...................................................................................................... 18
4.1. CARACTERÍSTICAS BÁSICAS ....................................................................... 18
4.2. VENTAJAS E INCONVENIENTES ................................................................... 18
4.2.1. Ven ajas de Py hon. ........................................................................ 18
4.2.2. Des en ajas de Py hon ................................................................... 19
4.3. LIBRERÍAS ................................................................................................ 20
4.3.1. Pandas ............................................................................................ 20
4.3.2. NumPy ............................................................................................ 20
4.3.3. Ma plo lib ......................................................................................... 21
2
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
4.3.4. Seabo n ........................................................................................... 21
4.3.5. Tenso Flow y Ke as ......................................................................... 21
4.3.6. Sciki -Lea n ..................................................................................... 22
4.4. MOTIVO DE ELECCIÓN ............................................................................... 23
5. CASO PRÁCTICO ....................................................................................... 24
5.1. DEFINICIÓN DEL PROBLEMA Y METODOLOGÍA ............................................... 24
5.1.1. Ca ac e ís icas del consumido ....................................................... 24
5.1.2. Me odología .................................................................................... 24
5.2. ANÁLISIS PRELIMINAR ................................................................................ 29
5.3. PROCESAMIENTO DE DATOS ....................................................................... 30
5.4. ANÁLISIS GRÁFICO .................................................................................... 33
5.4.1. Análisis dia io .................................................................................. 34
5.4.2. Análisis semanal ............................................................................. 35
5.4.3. Análisis mensual ............................................................................. 35
5.4.4. Análisis anual .................................................................................. 36
5.5. CREACIÓN DE LOS MODELOS ..................................................................... 37
5.5.1. Modelo de capas densas ................................................................ 38
5.5.2. Modelo de capas LSTM .................................................................. 40
5.6. ENTRENAMIENTO Y VALIDACIÓN .................................................................. 41
5.7. PREDICCIÓN Y CÁLCULO DE ERRORES ........................................................ 44
5.8. RESULTADOS ............................................................................................ 46
5.8.1. Valo de pé dida .............................................................................. 46
5.8.2. E o en la p edicción ...................................................................... 47
5.8.3. Compa ación de alo eal y p edicción .......................................... 48
6. CONCLUSIONES ........................................................................................ 50
6.1. PYTHON ................................................................................................... 50
6.2. MACHINE LEARNING .................................................................................. 50
6.3. EJEMPLO PRÁCTICO .................................................................................. 50
7. LÍNEAS FUTURAS ...................................................................................... 52
8. BIBLIOGRAFÍA ........................................................................................... 53
9. ANEXOS ...................................................................................................... 55
3
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
PRUEBAS PARA DEFINIR LA RED NEURONAL ........................................................ 55
CÓDIGO IMPLEMENTADO .................................................................................. 58
4
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
ÍNDICE DE FIGURAS
FIGURA 1. PREDICCIONES JULIO Y AGOSTO 2022 [10]. ........................................... 15
FIGURA 2. LOGO DE PANDAS [15]. ........................................................................ 20
FIGURA 3. LOGO DE NUMPY [16]. ......................................................................... 20
FIGURA 4. LOGO DE MATPLOTLIB [17]. .................................................................. 21
FIGURA 5. LOGO DE SEABORN [18]....................................................................... 21
FIGURA 6. LOGO DE TENSORFLOW [19]. ............................................................... 22
FIGURA 7. LOGO DE KERAS [20]. .......................................................................... 22
FIGURA 8. LOGO DE SCIKIT-LEARN [21]. ............................................................... 22
FIGURA 9. CARGA Y LECTURA DEL SET DE DATOS. .................................................. 30
FIGURA 10. MUESTRA DE DATOS ORIGINALES. ....................................................... 30
FIGURA 11. ESTADÍSTICAS DEL SET DE DATOS. ....................................................... 30
FIGURA 12. CREACIÓN DÍAS DE LA SEMANA. .......................................................... 31
FIGURA 13. FUNCIÓN PARA CORREGIR FALLOS ELÉCTRICOS. ................................... 31
FIGURA 14. FUNCIÓN PARA PERÍODOS NO LECTIVOS. .............................................. 32
FIGURA 15. CREACIÓN DE COLUMNA "FESTIVO". .................................................... 32
FIGURA 16. TRANSFORMACIÓN DE FECHA Y HORA. ................................................. 33
FIGURA 17. CREACIÓN DE DATOS ENTRE SEMANA. ................................................. 33
FIGURA 18. GRÁFICO DE CONSUMO DIARIO. .......................................................... 34
FIGURA 19. GRÁFICO DE CONSUMO SEMANAL. ....................................................... 35
FIGURA 20. GRÁFICO DE CONSUMO MENSUAL........................................................ 36
FIGURA 21. GRÁFICO DE CONSUMO ANUAL. ........................................................... 36
FIGURA 22. MODELO DE CAPAS DENSAS................................................................ 38
FIGURA 23. FUNCIÓN DE ACTIVACIÓN "RELU" [27]. ................................................ 39
FIGURA 24. MODELO DE CAPAS LSTM. ................................................................. 40
FIGURA 25. FUNCIÓN DE ACTIVACIÓN "TANH". ........................................................ 41
FIGURA 26. FRAGMENTACIÓN Y ESCALADO DE DATOS. ............................................ 42
FIGURA 27. TRANSFORMACIÓN DE DATOS A 3D. ..................................................... 42
FIGURA 28. DEFINICIÓN DEL ENTRENAMIENTO. ...................................................... 43
FIGURA 29. MUESTRA DEL DESARROLLO DEL ENTRENAMIENTO. ............................... 43
FIGURA 30. MÉTRICAS DE ERROR POST-ENTRENAMIENTO. ...................................... 44
FIGURA 31. CREACIÓN DE PREDICCIONES. ............................................................ 44
FIGURA 32. FUNCIÓN PARA EVALUAR EL RENDIMIENTO DEL MODELO. ........................ 45

5
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
FIGURA 33. FUNCIÓN PARA CALCULAR EL ERROR EN LA PREDICCIÓN. ....................... 45
FIGURA 34. GRÁFICO DEL VALOR DE PÉRDIDA EN MODELO LSTM. ........................... 46
FIGURA 35. GRÁFICO DEL VALOR DE PÉRDIDA EN MODELO DENSO. .......................... 46
FIGURA 36. TABLA DE ERRORES EN LA PREDICCIÓN DEL MODELO LSTM. ................. 47
FIGURA 37. TABLA DE ERRORES EN LA PREDICCIÓN DEL MODELO DENSO.................. 47
FIGURA 38. GRÁFICO VALOR REAL VS PREDICCIÓN EN MODELO DENSO Y DATOS
COMPLETOS. ............................................................................................... 48
FIGURA 39. GRÁFICO VALOR REAL VS PREDICCIÓN EN MODELO LSTM Y DATOS
COMPLETOS. ............................................................................................... 48
FIGURA 40. GRÁFICO VALOR REAL VS PREDICCIÓN EN MODELO DENSO Y DATOS
LECTIVOS. ................................................................................................... 49
FIGURA 41. GRÁFICO VALOR REAL VS PREDICCIÓN EN MODELO LSTM Y DATOS
LECTIVOS. ................................................................................................... 49
6
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
RESUMEN
La demanda de ene gía eléc ica es un pa áme o signi ica i o en el análisis de
consumos de la sociedad. Po ello, es impo an e conoce más de alles sob e su
compo amien o y e olución empo al en di e en es sec o es: esidencial,
edi icios públicos, indus ia, e c. La in eligencia a i icial es una he amien a muy
e icien e que nos pe mi e es udia y analiza a iables de es as ca ac e ís icas,
ya que maneja de o ma muy sencilla una g an can idad de da os e in o mación
elacionada con el p oblema a a a . En es e p oyec o se abo da el es udio de la
p edicción de demanda de ene gía eléc ica median e la aplicación de écnicas
de in eligencia a i icial y Machine Lea ning (ap endizaje au omá ico),
en ocándose en un ejemplo p ác ico ace ca de un consumido conc e o.
Palab as cla e:
Machine Lea ning, Tenso low, demanda eléc ica, p edicción, edes neu onales.
ABSTRACT
The demand o elec ici y is a signi ican pa ame e in he analysis o socie y's
consump ion. The e o e, i is impo an o know mo e de ails abou hei beha io
and e olu ion o e ime in di e en sec o s: esiden ial, public buildings, indus y,
e c. A i icial in elligence is a e y e icien ool ha allows us o s udy and analyze
a iables o hese cha ac e is ics, since i handles a la ge amoun o da a and
in o ma ion ela ed o he p oblem o be ea ed in a e y simple way. This p ojec
explains he s udy o he p edic ion o elec ici y demand h ough he applica ion
o a i icial in elligence and Machine Lea ning echniques, ocusing on a p ac ical
case abou a speci ic consume .
Keywo ds:
Machine Lea ning, Tenso low, Powe Demand, P edic ion, Neu al Ne wo ks.
7
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
1. INTRODUCCIÓN
1.1. Mo i ación
La in eligencia a i icial se encuen a al alza de o ma mediá ica, aunque lle e
muchos años es ablecida en p ocesos co idianos de la sociedad. Es o p o oca
un aumen o en el in e és po in es iga y desa olla nue os p oyec os sob e es a
ecnología.
La p edicción de demanda de ene gía eléc ica es un concep o muy ú il pa a el
co ec o uncionamien o del sis ema eléc ico. Conoce alo es de consumo de
elec icidad nos ayuda a coo dina la gene ación de dicha ene gía, ges iona el
cos e de me cado de la ene gía de o ma p e ia, o ganiza y modi ica los hábi os
de consumo pa a educi cos es en la ac u a de la luz, en e o os.
La usión de ambos concep os pe mi e aplica ecnologías con mucho po encial
de c ecimien o en un campo undamen al y de es udio dia io como es la ene gía
eléc ica.
1.2. Obje i os del p oyec o
El obje i o p incipal del p oyec o es c ea una he amien a que gene e
p edicciones de alo es de demanda de ene gía eléc ica a pa i de un conjun o
de da os his ó icos conocidos, an e io es en el iempo a dicha p edicción.
El componen e básico de dicha he amien a es a á o mado po modelos
basados en écnicas de in eligencia a i icial y Machine Lea ning, los cuales
se án p og amados pa a p ocesa da os de consumo eales como en ada y, as
ealiza un en enamien o con ellos, se ob enga a la salida una p edicción de
consumo pa a un ins an e de iempo desconocido pa a el modelo.
Pos e io men e, una ez ob enidos los esul ados de los en enamien os y de las
p edicciones gene adas po los modelos, se e alua á el g ado de ajus e y la
iabilidad de los alo es ob enidos. Pa a ello, se calcula án mé icas y alo es de
e o du an e los p ocesos de en enamien o y p ueba, los cuales nos ayuda án
a de e mina si el esul ado que hemos conseguido es ap o o, po el con a io,
se debe segui ajus ando los pa áme os de los modelos pa a ob ene una
p ecisión mayo en las p edicciones.
8
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
2. ¿POR QUÉ NOS CENTRAMOS EN LA DEMANDA DE
ENERGÍA ELÉCTRICA?
La ene gía eléc ica es una de las p incipales uen es de consumo en la
ac ualidad. Desde la indus ia has a un disposi i o elec ónico co idiano necesi a
de ene gía eléc ica pa a pode lle a a cabo su unción. Al se un ecu so an
demandado po la sociedad, ealiza un buen con ol y una adecuada ges ión
sob e el mismo pe mi e ap o echa en mayo po cen aje su po encial.
Po o a pa e, el sis ema eléc ico es á o mado po oda la in aes uc u a de
gene ación, anspo e y dis ibución de ene gía eléc ica. Es e sis ema necesi a
man ene se es able pa a ga an iza un co ec o suminis o eléc ico a los
consumido es. Dicha es abilidad depende p incipalmen e de compensa los
alo es de gene ación y demanda de ene gía eléc ica.
El concep o demanda de ene gía eléc ica se u iliza pa a conoce la can idad de
ene gía eléc ica que se consume. Puede se en odo un país, en una ciudad, un
polígono, has a una i ienda o pa es de ella. Dicho concep o iene un alo
económico, el cual lo hace undamen al pa a la sociedad. Po es e mo i o,
moni o iza y conoce el consumo eléc ico es una a ea necesa ia no sólo pa a
las compañías eléc icas, que dis ibuyen dicha ene gía, sino pa a odos los
consumido es.
Además, el p ecio de la ene gía en el me cado eléc ico se cie a el día an e io
al que se e alúa, de o ma que las compañías deben hace sus o e as sin
conoce ealmen e la can idad de ene gía que an a dis ibui , sino basándose
en una es imación. De igual o ma, conoce un alo es imado de demanda
eléc ica puede ayuda a o ganiza cie os hábi os de consumo que in luyen en
el cos e de la elec icidad de o ma nega i a.
La ele ancia y la necesidad de ealiza es imaciones de ene gía eléc ica,
p o oca la implemen ación de ecnologías como la in eligencia a i icial en es e
ipo de cues iones. Dicha ecnología supone una mejo a en los esul ados
ob enidos g acias a su capacidad pa a maneja g andes can idades de da os
además de sus algo i mos basados en ap endizaje au omá ico con los que se
log a au oma iza odo el p oceso de ciencia de da os.
15
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Exis en nume osos es udios en los que se compa an esul ados en e modelos
basados en in eligencia a i icial y modelos basados en mé odos es adís icos
clásicos.
A pesa de que muchos de los modelos de in eligencia a i icial son de i ados de
mé odos es adís icos clásicos o sus algo i mos es án basados en ellos, se
encuen an di e encias ele an es en algunos aspec os como el g ado de ajus e
del modelo o la p ecisión a la ho a de ealiza p edicciones.
Po ejemplo, en [10] se es udia el p onós ico de consumo de ene gía eléc ica
esidencial de co o plazo u ilizando algo i mos de ap endizaje au omá ico y
p o undo. Pa a es a in es igación, se c ean modelos de p edicción u ilizando el
algo i mo de eg esión lineal múl iple y una ed neu onal a i icial. Como
esul ados, se ob u o un mejo desempeño del modelo basado en edes
neu onales en cuan o a la calidad del ajus e (79,7% en e a 78,2%) y de las
mé icas de e o .
A pesa de que el modelo basado en mé odos es adís icos (RLM) ob u o alo es
acep ables y ce canos a los de la ed neu onal (RNA), se ealiza on p edicciones
pa a los meses de julio y agos o en cuyos esul ados se mues a la no able
di e encia en e ambos modelos.
Figu a 1. P edicciones julio y agos o 2022 [10].

16
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Po o o lado, en [11] se ealiza una compa ación en e seis modelos dis in os.
Los cua o p ime os es án basados en mé odos es adís icos pa a se ies de
iempo y los dos es an es en edes neu onales con dis in as es uc u as. A su
ez, se es udian ocho se ies de iempo di e en es.
T as la aplicación de los dis in os modelos a las se ies de iempo, se concluye
que “los modelos de edes neu onales mul icapa pe mi en analiza y ob ene
p onós icos p ecisos po sus capacidades au o-adap a i as, gene alización,
ap endizaje y ep esen ación de unciones no lineales en las se ies de iempo
con pa ón de endencia luc uan e en el iempo” [11].
De igual o ma, se obse a que los modelos de edes neu onales, a pesa de
ob ene meno es alo es de e o po cen ual absolu o pa a odos los casos de
se ies empo ales, no se ajus an de igual o ma a odas las se ies con espec o
a o as mé icas de e o y, po an o, no ealizan p edicciones igual de p ecisas
pa a odos los casos. Se puede conclui que es necesa io adap a el modelo a la
se ie de iempo que se es udia y, en el caso de las edes neu onales, adap a su
opología.
Po úl imo, en [12] se iene como obje i o compa a la p ecisión de las
p edicciones de los modelos basados en mé odos es adís icos y en Machine
Lea ning pa a se ies de iempo mul i a iadas.
Se de e mina que “no exis e un modelo que domine a los o os en odos los
conjun os de da os. No obs an e, los modelos es adís icos ec o au o eg esi o
(VAR) y modelo de co ección de e o es ec o iales (VECM) jun o con sus
e siones con dummies pa a conside a la es acionalidad, mues an una lige a
supe io idad sob e los modelos de Machine Lea ning en la p ecisión de sus
p edicciones” [12].
Además, “en los casos donde las se ies mul i a iadas con aban con mayo
núme o de a iables, el desempeño de los modelos de Machine Lea ning ue
mejo según las mé icas de e o . Mien as que, en el es o de se ies, donde se
con aba con es y cua o a iables, el desempeño ue mejo en los modelos
es adís icos en la mayo ía de los casos” [12].
17
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Se deduce de nue o que, en el es udio de di e sos conjun os de da os con
ca ac e ís icas di e en es, a pesa de ob ene mejo es esul ados gene ales y la
g an adap abilidad que poseen los modelos de in eligencia a i icial, se pueden
consegui mejo es esul ados con un mé odo es adís ico aplicado a un caso
conc e o.
Po o o lado, se ap ecia la capacidad de los modelos basados en Machine
Lea ning de econoce pa ones en los da os y elaciones en e a iables que los
mé odos es adís icos clásicos no alcanzan a de ec a . Po ello, como se
menciona an e io men e, al amplia el núme o de a iables y, po an o, el
núme o de dependencias en e da os, se deducen mejo es esul ados en los
modelos de in eligencia a i icial.
T as la e isión bibliog á ica ealizada a di e sos es udios en los que se
compa an di e sos modelos es adís icos en e a modelos de Machine Lea ning
se concluye:
• En aspec os gene ales des aca la g an e sa ilidad del Machine Lea ning,
des acando las edes neu onales, las cuales alcanzan esul ados
acep ables pa a la g an mayo ía de si uaciones.
• En con aposición, los modelos es adís icos pueden a oja mejo es
p edicciones pa a cie as si uaciones en las que se adap en mejo a las
ca ac e ís icas de los da os.
• Los modelos de in eligencia a i icial abajan mejo con g andes
can idades de da os y con mayo núme o de a iables. Además, de ec an
pa ones y elaciones complejas pa a los modelos clásicos.
• El cos e compu acional es mayo cuando se a a de modelos de Machine
Lea ning.
• Resul a undamen al es udia las ca ac e ís icas de los da os y las
a iables a es udia y adap a el modelo a las mismas. Se puede ealiza
aplicando a ios ipos de modelos di e en es o modi icando la es uc u a
y los pa áme os has a consegui una mejo adap ación y, po an o, un
mejo ajus e del modelo.
18
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
4. PYTHON
4.1. Ca ac e ís icas básicas
Py hon es “un lenguaje de p og amación de al o ni el que se u iliza pa a
desa olla aplicaciones de odo ipo. A di e encia de o os lenguajes como Ja a
o .NET, se a a de un lenguaje in e p e ado, es deci , que no es necesa io
compila lo pa a ejecu a las aplicaciones esc i as en Py hon, sino que se
ejecu an di ec amen e po el o denado u ilizando un p og ama denominado
in e p e ado . Es un lenguaje sencillo de lee y esc ibi debido a su al a simili ud
con el lenguaje humano. Py hon ha ido ganando adep os g acias a su sencillez
y a sus amplias posibilidades, sob e odo en los úl imos años, ya que acili a
abaja con in eligencia a i icial, Big Da a, Machine Lea ning y ciencia de da os,
en e muchos o os campos en auge” [13].
4.2. Ven ajas e incon enien es
4.2.1. Ven ajas de Py hon.
• Lenguaje de al o ni el: “Py hon es un lenguaje de al o ni el, po lo que es
más ácil de usa que los de bajo ni el, pues o que es os úl imos no ienen
mucha abs acción de lenguaje de máquina. Pa a p og ama con Py hon
se pueden usa elemen os del lenguaje na u al, ya que iene una sin axis
simila al inglés, po lo que es ácil de lee , esc ibi y ap ende ” [14].
• Poli alencia: “al se un lenguaje de p opósi o gene al, se puede usa pa a
di e sos p opósi os. Es una g an opción pa a el desa ollo de so wa e, ya
que pe mi e a los desa ollado es u iliza g andes amewo ks como
Django y Flask. Además, se puede u iliza pa a sc ip s web, desa ollo de
GUI de esc i o io o da a science” [2].
Figu a 4.1. Logo de Py hon [2].
19
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
• Lib e ías: “el mayo bene icio es que iene una amplia colección de
biblio ecas y amewo ks. La biblio eca es ánda de Py hon es muy
ex ensa, pues o que con iene muchos módulos in eg ados. Además, los
usua ios de Py hon ambién pueden encon a biblio ecas adicionales
disponibles en PyPI (índice de paque es de Py hon)” [2].
• Po abilidad: “es compa ible con odos los sis emas ope a i os (macOS,
Linux, UNIX y Windows), y los p og amado es solo necesi an esc ibi
código una ez y luego pod á ejecu a se en odas pa es” [2].
• Baja cu a de ap endizaje: “la sencillez de la sin axis de Py hon pe mi e
esc ibi p og amas o almen e uncionales en pocas líneas de código, po
lo que su cu a de ap endizaje es muy baja” [2].
• Comunidad: “el hecho de que sea g a ui o y de código abie o con ibuye
a c ea una comunidad sólida. Los p og amado es de Py hon pueden
desca ga el código uen e, modi ica lo y dis ibui lo como deseen” [2].
4.2.2. Des en ajas de Py hon
• Len i ud: “la len i ud de Py hon se debe p incipalmen e a su na u aleza
dinámica y e sa ilidad. No obs an e, hay o mas de op imiza las
aplicaciones de Py hon ap o echando la sinc onización, en endiendo las
he amien as de c eación de pe iles y conside ando el uso de múl iples
in é p e es” [2].
• Consumo de memo ia: “en el caso de que una a ea equie a mucha
memo ia, Py hon no es la mejo opción. El consumo de memo ia de
Py hon es muy al o, y es o se debe a la lexibilidad de los ipos de da os”
[2].
• Desa ollo mó il: “Py hon es ideal pa a pla a o mas de esc i o io y
se ido , pe o pa a el desa ollo mó il no es un lenguaje muy adecuado.
Po es e mo i o, apenas emos aplicaciones mó iles desa olladas con
Py hon” [2].
20
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
4.3. Lib e ías
4.3.1. Pandas
Pandas es una lib e ía “pa a ealiza análisis de da os p ác icos del mundo eal
en Py hon. Algunas de sus uncionalidades son: obje o Da aF ame ápido y
e icien e pa a la manipulación de da os, lee y esc ibi da os en e es uc u as y
di e en es o ma os, manejo de da os al an es, ope aciones de di isión-
aplicación-combinación de da os, manejo de se ies empo ales. Py hon con
pandas se u iliza en una amplia a iedad de dominios académicos y come ciales,
como las inanzas, la neu ociencia, la economía, la es adís ica, la publicidad, la
analí ica web y más” [15].
4.3.2. NumPy
NumPy es una lib e ía de Py hon que “p opo ciona un obje o de ma iz
mul idimensional, a ios obje os de i ados (como ma ices y ma ices
enmasca adas) y una a iedad de u inas pa a ope aciones ápidas en ma ices,
incluidas ma emá icas, lógicas, manipulación de o mas, clasi icación, selección,
ans o madas de Fou ie , álgeb a lineal básica, ope aciones es adís icas y
simulación alea o ia” [16].
Figu a 2. Logo de pandas [15].
Figu a 3. Logo de Numpy [16].

21
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
4.3.3. Ma plo lib
Ma plo lib es una “lib e ía de Py hon especializada en la c eación de g á icos en
dos dimensiones. Pe mi e c ea y pe sonaliza los ipos de g á icos más
comunes, en e ellos: diag amas de ba as, his og ama, diag amas de sec o es,
diag amas de caja y bigo es, diag amas de dispe sión o pun os, diag amas de
líneas, diag amas de á eas, mapas de colo y combinaciones de odos ellos” [17].
4.3.4. Seabo n
Seabo n es una "biblio eca de isualización de da os de Py hon basada en
Ma plo lib. P opo ciona una in e az de al o ni el pa a dibuja g á icos
es adís icos a ac i os e in o ma i os" [18].
4.3.5. Tenso Flow y Ke as
Tenso Flow es una “pla a o ma de ex emo a ex emo que acili a an o la
c eación como la implemen ación de modelos de ap endizaje au omá ico.
Tenso Flow o ece a ios ni eles de abs acción pa a que puedas elegi el que
se adecue a us necesidades. C ea y en ena modelos median e la API de al o
ni el de Ke as, que ayuda a que los p ime os pasos con Tenso Flow y el
ap endizaje au omá ico sean sencillos” [19] [20] .
Figu a 4. Logo de Ma plo lib [17].
Figu a 5. Logo de Seabo n [18].
22
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
4.3.6. Sciki -Lea n
Sciki -Lea n es una biblio eca de Py hon que o ece “he amien as sencillas y
e icien es pa a el análisis p edic i o de da os, basado en NumPy, SciPy y
ma plo lib. Algunas de sus unciones son: p edicción de un a ibu o de alo
con inuo asociado a un obje o, ag upación au omá ica de obje os simila es en
conjun os, ex acción y no malización de ca ac e ís icas, compa ación,
alidación y elección de pa áme os y modelos” [21].
Figu a 6. Logo de Tenso Flow [19].
Figu a 7. Logo de Ke as [20].
Figu a 8. Logo de Sciki -Lea n [21].
23
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
4.4. Mo i o de elección
Py hon es un lenguaje de p og amación que cuen a con una g an e sa ilidad en
cuan o a he amien as de p og amación se e ie e. A la ho a de ealiza un
p oyec o que engloba p ocesos de di e sas ca ac e ís icas, es undamen al
maneja ins umen os que nos pe mi an ealiza odos los eque imien os que
sean necesa ios de o ma adecuada.
Cuen a con una g an can idad de lib e ías especializadas en in inidad de
unciones, las cuales se man ienen en cons an e desa ollo pa a o ece a sus
usua ios una uncionalidad ac ualizada y con la meno can idad de e o es
posible.
Es e p oyec o albe ga p ocesos desde p og amación básica has a
implemen ación de modelos de in eligencia a i icial, pasando po análisis
es adís icos, ciencia de da os, c eación de g á icos, en e o os.
Py hon pe mi e abaja odos es os ámbi os en un mismo lenguaje y de o ma
muy sencilla e in ui i a. Po ello, es uno de los lenguajes de p og amación más
conocidos y usados en la ac ualidad, y se a a de la he amien a p incipal con la
que se desa olla el caso p ác ico.
24
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
5. CASO PRÁCTICO
5.1. De inición del p oblema y me odología
5.1.1. Ca ac e ís icas del consumido
Exis en es udios e in es igaciones que abo dan p oblemas de demanda de
ene gía eléc ica de di e sas o mas, desde un en oque más gene al has a casos
muy especí icos y localizados.
En es e p oyec o, como se ha mencionado an e io men e, se abaja á con da os
de consumo sob e un consumido en conc e o. Dicho consumido se a a del
edi icio de la an igua Escuela de Pe i os Indus iales y ac ual Escuela Poli écnica
Supe io que pe enece a la Uni e sidad de Se illa. Se encuen a en la calle
Vi gen de Á ica núme o 7, Se illa. Es e edi icio es de ca ác e público y es á
des inado a la enseñanza de alumnos y a albe ga o icinas y se icios
adminis a i os de la ins i ución co espondien e la cual, como se ha comen ado
an e io men e, es la Uni e sidad de Se illa.
5.1.2. Me odología
Pa a comenza , es impo an e conoce el p oblema que se a a a on a . En es e
caso, cómo se ha mencionado an e io men e, se a a de un edi icio público
des inado a impa i cá ed a a alumnos y a se icios de o icina de la Uni e sidad
de Se illa.
Dicha in o mación ayuda á a in e p e a si los alo es de consumo de ene gía
eléc ica que se ienen en la base de da os ienen magni udes aco des con el
ejemplo que se es á es udiando.
Po o o lado, las ca ac e ís icas del suje o de es udio, pe mi i án alo a si es
adecuado ealiza un es udio de los da os a iempo comple o, es deci , omando
odos los egis os his ó icos exis en es en la base de da os o, po el con a io,
exclui cie os in e alos de iempo en los cuales los egis os no se ajus an a la
ealidad o pueden pe judica al modelo p oduciendo una des iación de su ajus e
más óp imo.
31
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Examinando una pequeña mues a de los da os o iginales se obse an los
p ime os pasos a implemen a : elimina las columnas que no an a se u ilizadas
en el modelo, c ea las columnas necesa ias pa a do a a la ed de mayo
in o mación ele an e en el p oyec o y modi ica las columnas que sean ú iles,
pe o no se encuen an en el o ma o adecuado pa a su análisis.
En p ime luga , se c ea una columna que indica los días de la semana de los
egis os del se de da os. Es a se ans o ma median e el uso de un dicciona io,
el cual asigna un núme o a cada día de la semana. Como esul ado se ob iene
una columna la cual e leja los días de la semana de o ma numé ica, po
ejemplo, el alo ce o es el lunes, el uno co esponde al ma es y así
consecu i amen e.
A con inuación, se de ine una unción pa a co egi los alo es a ípicos del se de
da os. Es os alo es es án elacionados con allos eléc icos y, po an o, co es
del suminis o del edi icio. Pa a la c eación de dicha unción, se supone que el
iempo en e el allo eléc ico y la uel a al uncionamien o no mal no supe a una
ho a de eloj. Po o a pa e, se conside a como lími e de allo, una caída en el
consumo eléc ico igual o mayo a nue e kilo- a ios ho a.
Figu a 12. C eación días de la semana.
Figu a 13. Función pa a co egi allos eléc icos.

32
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Po o o lado, se p ocede a implemen a cua o unciones pa a los pe íodos no
lec i os de la Uni e sidad de Se illa: na idad, semana san a, e ia y acaciones
de e ano. Dichas unciones gua dan en una lis a odas las echas que
componen es os pe íodos y se asegu an de que los da os p opo cionados sean
en el o ma o co ec o pa a que el modelo sea capaz de in e p e a los. Las echas
se han ex aído del calenda io académico de la uni e sidad [25].
Además, median e el uso de la lib e ía “Holidays” [26], se c ean lis as con los
días es i os en Andalucía y es i os nacionales. Ag upando dichas lis as con los
esul ados de las unciones an e io men e de inidas, se comple a la in o mación
necesa ia pa a c ea una columna que e leje si el día de cada egis o es es i o.
Figu a 14. Función pa a pe íodos no lec i os.
Figu a 15. C eación de columna " es i o".
33
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Pa a con inua , se ans o man los da os de echa y ho a de cada egis o pa a
u iliza los como alo es de en ada al modelo. Se c ean columnas
independien es pa a el día, el mes y la ho a de cada egis o en o ma o
numé ico. Además, los minu os se pasan a ho as pa a aho a una columna en
nues o se de da os. De es a o ma, se consigue que la lib e ía Tenso Flow
admi a es os alo es como a iables de en ada, ya que no es capaz de lee
da os en o ma o “ imes amp”.
Pa a inaliza , se c ea una a iable en la que se gua dan los alo es del se de
da os que co esponden a los días en e semana, es deci , de lunes a ie nes.
Dicha a iable ambién excluye los días es i os y pe íodos no lec i os, pa a así
consegui ealiza una compa ación en e el pe íodo lec i o y el se de da os
comple o. Al selecciona cie os alo es del da a ame y gua da los en una
a iable, se debe ese ea el índice del mismo pa a eo dena los da os que se
han elegido.
5.4. Análisis g á ico
Una ez p ep ocesados los da os, se puede comenza con el análisis g á ico de
la a iable a es udia . De es a o ma, conseguimos que los da os, pa ones,
sime ías y demás concep os que se mues an en las dis in as ep esen aciones
g á icas, esul en se los alo es de ini i os con los que a a abaja el modelo.
Figu a 16. T ans o mación de echa y ho a.
Figu a 17. C eación de da os en e semana.
34
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
5.4.1. Análisis dia io
Pa a comenza , se analizan los da os de demanda de ene gía eléc ica dia ios.
Se seleccionan dos días al aza de odo el conjun o del se de da os y se
ep esen an los alo es de demanda co espondien es a cada ho a del día pa a
compa a los.
A simple is a, se puede ap ecia que las cu as de consumo de ambos días
ienen la misma o ma, a pesa de se dos echas muy sepa adas en el iempo.
Se debe a que los hábi os de consumo del edi icio esul an se muy simila es
du an e el cu so académico, aunque ambién se puede obse a que los ni eles
de consumo sí que a ían según el día. Es e úl imo hecho e a de espe a ya que,
aun siguiendo las mismas endencias du an e el día, el consumo eléc ico es á
condicionado po pa áme os como, po ejemplo, la es ación del año, la
p oximidad de pe íodos es i os o las semanas de exámenes.
Po o o lado, se puede des aca an o el c ecimien o de la demanda en las
p ime as ho as de ape u a del edi icio como el descenso de la misma en las
ho as de cie e.
Po úl imo, se dis inguen dis in as anjas ho a ias espec o a los ni eles y
endencias que alcanzan los alo es de ene gía. Con ello, se conside a la ho a
del día como una a iable ele an e en la e olución de la demanda eléc ica y,
po an o, un alo impo an e pa a in oduci al modelo como en ada.
Figu a 18. G á ico de consumo dia io.
35
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
5.4.2. Análisis semanal
A con inuación, se ep esen an los alo es de demanda eléc ica que se han
egis ado du an e una semana cualquie a del conjun o de da os. Se puede
obse a que la cu a adop a un pa ón muy simila los días lec i os de la
semana, y al llega el in de semana, cambia. Po es e mo i o, esul a ele an e
es udia los dos escena ios p opues os an e io men e: se de da os comple o y
se de da os en días lec i os.
De igual o ma, se puede dis ingui un consumo meno en cie os días lec i os,
po lo que los días de la semana al que co esponde cada egis o, esul an se
una a iable ele an e en el p oyec o.
5.4.3. Análisis mensual
En es e apa ado, se in e p e an da os de consumo eléc ico egis ados du an e
un mes comple o, po ejemplo, ma zo. En el g á ico des aca p incipalmen e el
pa ón que adop an las semanas del mes, el cual se epi e de o ma muy simila
en odas ellas. Dada la simili ud de consumo en e las dis in as semanas, no se á
des acado adop a como a iable de en ada las semanas del mes, po an o,
dicho concep o no se á a ado en el p oyec o.
Figu a 19. G á ico de consumo semanal.
36
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Po o a pa e, se ap ecia una pe u bación en el pa ón de consumo a inal de
mes. Es e acon ecimien o se debe a que en dicho pe íodo anscu e la semana
san a, la cual sus días son no lec i os.
5.4.4. Análisis anual
Pa a inaliza el análisis g á ico, se igu an los da os de odo el año, que
co esponden al se de da os comple o. Es a imagen desc ibe los
acon ecimien os que ocu en en el p oblema en su o alidad como, po ejemplo,
las caídas del consumo en los pe íodos no lec i os, la endencia dec ecien e
debido a la p oximidad de las acaciones de e ano o el no able inc emen o de
la demanda eléc ica al inicio del cu so escola .
Figu a 20. G á ico de consumo mensual.
Figu a 21. G á ico de consumo anual.

37
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
La no able di e encia en los alo es de consumo en e dis in os meses del
p oyec o, con ie e al mes del año en una a iable a ene en cuen a como
en ada del modelo.
5.5. C eación de los modelos
Una ez p epa ados los da os y ealizado el análisis g á ico pa a comp ende el
con ex o del p oblema, se comienza con la c eación de los modelos elegidos. Se
an a c ea dos modelos basados en edes neu onales. El p ime o de ellos, es
un pe cep ón mul icapa y el segundo una ed neu onal ecu en e.
La a iable que se a a es udia se a a de una se ie de iempo, es deci , los
egis os del se de da os co esponden a un alo que discu e y e oluciona en
el iempo, el cual se encuen a moni o izado y se mide con una cie a ecuencia.
Du an e la e isión de a ículos y es udios en los que se abaja con se ies de
iempo, se obse a que, pa a acili a el ap endizaje del modelo, a an de
ga an iza la con inuidad de las a iables de en ada. Es o se consigue, po
ejemplo, ans o mando las a iables de echa y ho a de o ma que co esponda
a una se ie con inua de alo es o pasando los alo es a adianes y abajando
con unciones seno y coseno. De igual o ma, al agmen a los da os en
subconjun os, se es ablecen paque es de egis os consecu i os.
Sin emba go, se decide que es e p oyec o ponga a p ueba la ecnología del
Machine Lea ning de una o ma di e en e a la mayo ía de an eceden es. Se
p e ende abaja con la g an capacidad de adap ación de las edes neu onales
a dis in os se s de da os, de o ma que el modelo sea e ec i o si ecibe como
en ada un conjun o de da os de ca ac e ís icas di e en es al o iginal.
En p ime luga , las a iables de echa y ho a con ienen su p opio alo numé ico,
es deci , end á una cie a es acionalidad, pe o in oduce pe u baciones al no
sua iza la e olución de las a iables. Po ejemplo, los alo es de la ho a
a anzan desde ce o has a ein i és y dicho ciclo se epi e cada día, po lo an o,
en el cambio de un día al siguien e la a iable ho a se encuen a con un sal o
desde su alo máximo has a su mínimo, lo cual en p incipio no a o ece al
modelo.
38
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Conjun amen e, al agmen a los paque es de da os, se es ablece que la
selección de da os de cada subconjun o sea alea o ia. Po ejemplo, si el o al de
da os es cien y el subconjun o de en enamien o con iene el ochen a po cien o
de los egis os, es os no se án los p ime os ochen a alo es, sino que se án
alo es al aza de odo el conjun o. De es a o ma, el modelo abaja á pa a
encon a pa ones en e alo es sin o dena c onológicamen e.
Cabe des aca que, los modelos de allados a con inuación, poseen la opología
más adecuada pa a el p oyec o, es deci , con la que mejo esul ado se ha
ob enido.
Dicha conclusión se ob iene as ealiza combinaciones con di e en es alo es
pa a los dis in os pa áme os del modelo. Jun o a cada modi icación de un
pa áme o, se ealiza el en enamien o del modelo y se analizan los esul ados
pa a comp ende como a ec a la modi icación de cada pa áme o al desempeño
del modelo. En el anexo se inclui án las p uebas ealizadas du an e el p oyec o.
5.5.1. Modelo de capas densas
Pa a comenza , se c ea el modelo pe cep ón mul icapa. El apodo de dicho
modelo co esponde a que es á o mado po capas densas o ully connec ed, es
deci , odas las neu onas de cada capa densa es án conec adas a odas las
neu onas de la capa siguien e.
Figu a 22. Modelo de capas densas.
39
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
El modelo ce o o modelo denso, es á basado en el modelo secuencial de Ke as
que abaja como con enedo con un conjun o lineal de capas. Es á o mado po
una capa de en ada con an as neu onas como núme o de a iables de en ada,
una capa de salida con una neu ona ya que ealiza á una p edicción y cinco
capas ocul as de ipo denso con núme o de neu onas dec ecien e y unidad lineal
ec i icada ( elu) como unción de ac i ación.
Es a unción “gene a á una salida igual a ce o cuando la en ada (z) sea
nega i a, y una salida igual a la en ada cuando dicha es a úl ima sea posi i a.
Además, la no exis encia de sa u ación, hace que el algo i mo con e ja mucho
más ápidamen e, acili ando así el en enamien o” [27].
A con inuación, se de ine el op imizado Adam con una asa de ap endizaje de 1
milésima. Dicho op imizado “ eúne las en ajas de o os dos como son el
g adien e descenden e que, usa la media mó il pa a e i a oscilaciones
excesi as en los alo es de los g adien es du an e el en enamien o y el
algo i mo RMSPROP, el cual inco po a un amaño de paso a iable, que pe mi e
acele a o desacele a el p oceso de en enamien o dependiendo de la magni ud
del g adien e en cada i e ación” [28].
Figu a 23. Función de ac i ación "ReLU" [27].
40
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Pa a inaliza con la c eación del modelo, se de ine el alo de pé dida y las
mé icas de e aluación del modelo. Se de ine el e o cuad á ico medio como
alo “loss”, con el cual se p e alece minimiza e o es g andes en luga de
pequeñas di e encias. Además, pa a e alua el ajus e del modelo en cada
i e ación se de e minan el e o absolu o medio y el e o po cen ual absolu o.
5.5.2. Modelo de capas LSTM
Pa a el modelo de ed neu onal ecu en e se c ea un modelo o mado po capas
con é minos de memo ia a co o y la go plazo, ambién conocidas como Long
Sho Te m Memo y (LSTM). Como su nomb e indica, las neu onas que o man
es as capas ienen la capacidad de eco da alo es an e io es pa a así de ec a
pa ones en da os consecu i os.
Po es e mo i o, es e ipo de modelos se adap an muy bien a las se ies de
iempo, ya que en cada i e ación analiza la a iable a pa i de la e olución que
sigue dicho alo . En con aposición, es e es udio abaja con da os alea o ios
c onológicamen e, po an o, no se u iliza es a ca ac e ís ica como en los
an eceden es alo ados.
El modelo uno o modelo LSTM gua da cie as simili udes con espec o al modelo
an e io . De es a o ma, el con enedo , el op imizado , la a iable de pé dida y las
mé icas de e aluación de la calidad del ajus e co esponden a los concep os ya
explicados an e io men e. Asimismo, las capas de en ada y salida del modelo
es án con igu adas con la misma me odología que el modelo denso.
Figu a 24. Modelo de capas LSTM.
47
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
5.8.2. E o en la p edicción
Analizando los esul ados ob enidos en los dis in os escena ios y modelos se
puede des aca que, en gene al, odos los casos es udiados consiguen un ajus e
acep able, siendo el e o po cen ual absolu o en odos ellos meno al 10%.
Conjun amen e, el pe cen il 75 mues a que, en odas las si uaciones, el 75 % de
los e o es absolu os es án po debajo de ap oximadamen e 1,5 KWh.
Po o o lado, se obse an alo es meno es en el e o absolu o al u iliza el se
de da os comple o. A pesa de ello, se deduce que, el escena io de días lec i os,
ob iene un mejo ajus e ya que el e o po cen ual absolu o es meno en ambos
modelos.
Figu a 37. Tabla de e o es en la p edicción del modelo denso.
Figu a 36. Tabla de e o es en la p edicción del modelo LSTM.

48
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Es a con adicción se debe a que se abaja con dos se s de da os di e en es,
po an o, los alo es eales a los que co esponden los e o es e lejados en las
ablas, cambian de un escena io a o o impidiendo hace compa aciones con
alo es absolu os de o ma di ec a.
5.8.3. Compa ación de alo eal y p edicción
En los siguien es g á icos, se ep esen an los p ime os 50 alo es eales del
subconjun o de p ueba, jun o con los alo es ob enidos en la p edicción. En
ambos escena ios, se igu an los mismos alo es pa a compa a de o ma di ec a
la p ecisión de los dos modelos es udiados.
Figu a 38. G á ico alo eal s p edicción en modelo denso y da os comple os.
Figu a 39. G á ico alo eal s p edicción en modelo LSTM y da os comple os.
49
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
Cabe des aca como p incipal ca ac e ís ica, el buen ajus e de los modelos a la
ho a de p edeci da os de p ueba, de o ma que, la g á ica de alo es es imados
se asemeja con g an exac i ud a la g á ica o mada po los alo es eales.
Po o a pa e, se puede co obo a los esul ados ob enidos en las ablas ya que,
se ap ecia que los e o es absolu os de mayo alo son más ecuen es con el
se de da os de días lec i os. Sin emba go, es e caso albe ga alo es de
consumo mayo es en compa ación con el se de da os comple o en el que se
hayan alo es de demanda meno es al inclui es i os y pe íodos no lec i os. Po
ello, el e o po cen ual absolu o es meno y, po an o, el ajus e del modelo es
mejo .
Figu a 41. G á ico alo eal s p edicción en modelo denso y da os lec i os.
Figu a 40. G á ico alo eal s p edicción en modelo LSTM y da os lec i os.
50
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
6. CONCLUSIONES
6.1. Py hon
Es e p oyec o se comienza desde el desconocimien o sob e el lenguaje Py hon
y inaliza con la implemen ación de un modelo basado en in eligencia a i icial,
conc e amen e en la pa e de Machine Lea ning.
Después de dicho p oceso, se des aca la acilidad que o ece el lenguaje pa a
su ap endizaje. Cuen a con una g an can idad de con enido de calidad, apo ado
po la comunidad an o de o ma esc i a como audio isual además de las
nume osas lib e ías que aho an abajo de codi icación.
Po o a pa e, la g an e sa ilidad que o ece es uno de sus pun os ue es. Es e
p oyec o con iene codi icación básica, g á icos pe sonalizables, di e sos
p ocesos de ciencia de da os, ope aciones ma emá icas, es adís ica básica e
incluso la implemen ación de un modelo de ap endizaje au omá ico. La
capacidad de ealiza odas es as a eas an di e sas con un mismo lenguaje,
ayudan a conside a Py hon como una he amien a undamen al en la ac ualidad.
6.2. Machine Lea ning
T as un pe íodo b e e de o mación sob e ap endizaje au omá ico, el cual
comp ende el desa ollo de es e p oyec o, esal a p incipalmen e el po encial de
desa ollo de dicha ecnología. Pe mi e ealiza es udios a anzados y ex ae
in o mación de g andes can idades de da os de o ma sencilla.
Además, la capacidad de au oma iza p ocesos complejos jun o con la g an
e sa ilidad de los modelos, hacen del Machine Lea ning una ecnología muy ú il
pa a analiza di e sas cues iones que a ec an de mane a global a la sociedad.
6.3. Ejemplo p ác ico
Analizando los esul ados ob enidos du an e el en enamien o de los modelos y
pos e io men e con las p edicciones ealizadas, se concluye que:
51
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
• Los modelos implemen ados son sensibles a cambios b uscos en e
alo es consecu i os de demanda eléc ica. Se obse a que el alo de
e o absolu o en una p edicción aumen a cuando dicho egis o se a a
de un aumen o o descenso no able en el consumo. Po an o, el modelo
ap ende pa ones de endencias en los da os, sin adap a se
co ec amen e a los alo es que esul an a ípicos pa a el mismo.
• Los modelos de edes neu onales demues an una g an capacidad pa a
adap a se a dis in os se s de da os, consiguiendo en odas las si uaciones
p opues as un alo óp imo de calidad del ajus e.
• El mejo ajus e del p oyec o se consigue con el modelo LSTM, el cual
aumen a su endimien o cuando se en ena con los da os de días lec i os.
Es e se de da os con iene una es acionalidad más de inida, po an o, el
é mino de memo ia de las capas LSTM esul a más e icien e en es e
caso.
• El modelo de capas densas mues a su g an e sa ilidad en ambos
escena ios. Se esuel e que, do ando de mayo in o mación al modelo, se
mi igan los e o es que pod ían p o ocan cie as pe u baciones en la
es acionalidad de los da os. Es deci , a pesa de man ene alo es a ípicos
de demanda como son los días no lec i os, o o ga in o mación ace ca de
dichos alo es ayuda a que el modelo consiga un ajus e óp imo.
• Se ob ienen mejo es esul ados con el se de da os de días lec i os. Los
modelos se adap an mejo a dicho escena io al con ene una dis ibución
de alo es más uni o me.
52
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
7. LÍNEAS FUTURAS
Pa a inaliza el p oyec o, se ecomiendan a ias líneas u u as de in es igación
con las cuales se pueda mejo a el p esen e es udio o desa olla nue os
p oyec os:
• Du an e las p ime as e apas del p oyec o, se en ena on los modelos con
los se s de da os o iginales. Se obse ó que, el alo máximo de e o
absolu o ob enido en las p edicciones, co espondía a los egis os que
enían alo ce o. Po an o, se sugie e implemen a una unción que
ag upe los e o es absolu os de mayo alo e iden i ique los alo es
eales de consumo que co esponden a dichos ins an es. Se ía una o ma
sencilla de encon a pe u baciones eléc icas en una g an can idad de
da os de demanda pa a su pos e io análisis.
• El se de da os o iginal con iene da os de ene gía induc i a y capaci i a,
los cuales no se han enido en cuen a pa a el desa ollo del p oyec o. Se
p opone desa olla el es udio ealizado, eniendo en cuen a dichos
alo es. De es a o ma, se puede e alua el ac o de po encia del edi icio
pa a mejo a la e iciencia ene gé ica del mismo.

53
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
8. BIBLIOGRAFÍA
[1] «¿Qué es machine lea ning? | IBM». Accedido: 2 de no iemb e de 2023. [En
línea]. Disponible en: h ps://www.ibm.com/es-es/ opics/machine-lea ning
[2] J. Delua, «Supe ised s. Unsupe ised Lea ning: Wha ’s he Di e ence?»,
IBM Blog. Accedido: 2 de no iemb e de 2023. [En línea]. Disponible en:
h ps://www.ibm.com/blog/supe ised- s-unsupe ised-lea ning/
[3] elEconomis a.es, «Big Da a: qué es - Dicciona io de Economía». Accedido: 2
de no iemb e de 2023. [En línea]. Disponible en:
h ps://www.eleconomis a.es/dicciona io-de-economia/big-da a
[4] «Big Da a - Expe os en IIC», Ins i u o de Ingenie ía del Conocimien o.
Accedido: 2 de no iemb e de 2023. [En línea]. Disponible en:
h ps://www.iic.uam.es/big-da a/
[5] «¿Qué es Deep Lea ning? | IBM». Accedido: 2 de no iemb e de 2023. [En
línea]. Disponible en: h ps://www.ibm.com/es-es/ opics/deep-lea ning
[6] «¿Qué es una ed neu onal?» Accedido: 2 de no iemb e de 2023. [En línea].
Disponible en: h ps://es.ma hwo ks.com/disco e y/neu al-ne wo k.h ml
[7] J. Finance, «Tipos de edes neu onales (Clasi icación)», In eligencia-
A i icial.de . Accedido: 2 de no iemb e de 2023. [En línea]. Disponible en:
h ps://in eligencia-a i icial.de / ipos- edes-neu onales/
[8] P. Royo, «Qué son las edes neu onales y cuál es su aplicación en el
ma ke ing», a yco | he da a d i en company. Accedido: 2 de no iemb e de
2023. [En línea]. Disponible en: h ps://a yco.com/que-son-las- edes-
neu onales-y-cual-es-su-aplicacion-en-el-ma ke ing/
[9] «IBM Documen a ion». Accedido: 2 de no iemb e de 2023. [En línea].
Disponible en: h ps://www.ibm.com/docs/es/spss-
modele /saas? opic=nodes-s a is ical-models
[10] C. A. Y. Ramí ez, «P onós ico de consumo de ene gía eléc ica esidencial
de co o plazo u ilizando algo i mos de ap endizaje au omá ico y p o undo»,
Re is a de in es igación de Sis emas e In o má ica, ol. 15, n.o 2, A . n.o 2,
dic. 2022, doi: 10.15381/ isi. 15i2.23909.
[11] C. H. Menacho Chiok, «Compa ación de los mé odos de se ies de iempo y
edes neu onales», Anales Cien í icos, ol. 75, n.o 2, pp. 245-252, 2014.
[12] J. A. Ma iño Villalba, «Una compa ación en e modelos es adís icos y de
Machine Lea ning pa a la p edicción de se ies de iempo mul i a iadas»,
T abajo de g ado - Maes ía, Uni e sidad Nacional de Colombia, 2023.
Accedido: 11 de sep iemb e de 2023. [En línea]. Disponible en:
h ps:// eposi o io.unal.edu.co/handle/unal/84522
[13] «Py hon: qué es y po qué debe ías ap ende a u iliza lo». Accedido: 26
de oc ub e de 2023. [En línea]. Disponible en: h ps://www.becas-
san ande .com/es/blog/py hon-que-es.h ml
[14] R. KeepCoding, «Ven ajas y Des en ajas de Py hon | KeepCoding
Boo camps». Accedido: 26 de oc ub e de 2023. [En línea]. Disponible en:
h ps://keepcoding.io/blog/ en ajas-y-des en ajas-de-py hon/
[15] «pandas - Py hon Da a Analysis Lib a y». Accedido: 22 de oc ub e de
2023. [En línea]. Disponible en: h ps://pandas.pyda a.o g/abou /
[16] «NumPy documen a ion — NumPy 1.26 Manual». Accedido: 21 de
oc ub e de 2023. [En línea]. Disponible en: h ps://numpy.o g/doc/s able/
[17] «ma plo lib», Ap ende Py hon. Accedido: 5 de oc ub e de 2023. [En línea].
Disponible en: h ps://ap endepy hon.es/pypi/da ascience/ma plo lib/
54
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
[18] M. Waskom, «seabo n: s a is ical da a isualiza ion», JOSS, ol. 6, n.o 60,
p. 3021, ab . 2021, doi: 10.21105/joss.03021.
[19] «In oducción a Tenso Flow», Tenso Flow. Accedido: 21 de oc ub e de
2023. [En línea]. Disponible en: h ps://www. enso low.o g/lea n?hl=es-419
[20] «Ke as: Deep Lea ning o humans». Accedido: 21 de oc ub e de 2023.
[En línea]. Disponible en: h ps://ke as.io/
[21] «sciki -lea n: machine lea ning in Py hon — sciki -lea n 1.3.1
documen a ion». Accedido: 21 de oc ub e de 2023. [En línea]. Disponible en:
h ps://sciki -lea n.o g/s able/
[22] T. Tech, «¿Qué es la Función de Ac i ación?», ¿Qué es la Función de
Ac i ación? Accedido: 26 de oc ub e de 2023. [En línea]. Disponible en:
h ps://aio hings. ele onica ech.com/ ecu sos/da apedia/ uncion-ac i acion
[23] «¿Qué es un Op imizado y Pa a Qué Se Usa en Deep Lea ning?»,
Da aSma s Español. Accedido: 26 de oc ub e de 2023. [En línea]. Disponible
en: h ps://da asma s.ne /es/que-es-un-op imizado -y-pa a-que-se-usa-en-
deep-lea ning/
[24] «Unde i ing y O e i ing en las Redes Neu onales», Codi icando Bi s.
Accedido: 26 de oc ub e de 2023. [En línea]. Disponible en:
h ps://www.codi icandobi s.com/blog/unde i ing-y-o e i ing/
[25] R. U. L. B. Se illa, «Calenda io Académico US 2017/2018. Residencia
Uni e si a ia La Buhai a», Residencia de Es udian es La Buhai a. Accedido:
10 de oc ub e de 2023. [En línea]. Disponible en:
h ps:// esidenciauni e si a ialabuhai a.com/calenda io-academico-us-
20172018/
[26] «py hon-holidays — holidays documen a ion». Accedido: 6 de oc ub e de
2023. [En línea]. Disponible en: h ps://py hon-
holidays. ead hedocs.io/en/la es /
[27] «La Función de Ac i ación», Codi icando Bi s. Accedido: 3 de no iemb e
de 2023. [En línea]. Disponible en:
h ps://www.codi icandobi s.com/blog/ uncion-de-ac i acion/
[28] «2.24 - O os algo i mos de op imización: Adam», Codi icando Bi s.
Accedido: 3 de no iemb e de 2023. [En línea]. Disponible en:
h ps://www.codi icandobi s.com/cu so/ undamen os-deep-lea ning-
py hon/ edes-neu onales-24-adam/
55
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
9. ANEXOS
P uebas pa a de ini la ed neu onal
TRAIN/TEST
ESCALA
Nº
CAPA
NEURONAS
FUN_ACT
LEARN
RATE
PRED
CICLOS
LOSS
80/20
NO
3
256-128-64
RELU X3
0.001
2
100
14.38
80/20
NO
4
256-256-
128-64
RELU X4
0.001
2
100
13.04
80/20
NO
4
256-256-
128-64
RELU X4
0.005
2
100
78.9
80/20
SI
4
256-256-
128-64
RELU X4
0.001
2
100
9.96
85/15
SI
4
256-256-
128-64
RELU X4
0.001
2
100
5.349
85/15
SI
4
256-256-
128-64
RELU X4
0.0005
2
100
10.22
85/15
SI
4
256-256-
128-64
RELU-
TANH X2
0.001
1
100
28.27
85/15
SI
4
256-256-
128-64
RE-TH-
RE-RE
0.001
1
100
11.61
90/10
SI
4
256-256-
128-64
RELU X4
0.001
1
100
16.98
90/10
NO
4
256-256-
128-64
RELU X4
0.001
1
100
33.55
82.5/17.5
SI
4
256-256-
128-64
RELU X4
0.001
1
100
16.27
85/15
SI
4
256-256-
128-64
RELU X4
0.001
1
100
3.66
56
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
85/15
SI
4
256-256-
128-64
RELU X4
0.001
2
100
7.28
85/15
SI
4
256-256-
128-64
RELU X4
0.001
1
125
2.949
85/15
SI
4
256-256-
128-64
RELU X4
0.001
1
200
1.75
85/15
NO
4
256-256-
128-64
RELU X4
0.001
1
200
9.42
85/15
SI
4
256-256-
128-64
RELU X4
0.0008
1
200
3.558
85/15
SI
4
256-256-
128-128
RELU X4
0.0011+
ba 128
1
200
6.75
85/15
SI
4
256-256-
128-128
RELU X4
0.001+
ba 100
1
200
4.6
85/15
SI
4
256-256-
128-128
RELU X4
0.001+
ba 10
1
200
1.9
85/15
SI
4
256-256-
128-64
RELU X4
0.001+
ba 10
1
200
1.93
85/15
SI
4
256-256-
128-64
RELU X4
0.001+
ba 20
1
200
2.34
85/15
SI
4
256-256-
128-64
RELU X4
0.001
1
200
1.89
80/20
NO
4
256-256-
128-64
RELU X4
0.001+
ba 200
1
200
14.33
80/20
NO
4
256-256-
128-64
RELU X4
0.001+
ba 128
1
200
3.47
63
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
pl .ylabel('Ene gía Ac i a
(kWh)', on dic ={' on size':20,' on weigh ':'bold','colo ':'g een'})
pl .y icks( ange(0,81,4))
pl .xlabel('Día de la
semana', on dic ={' on size':20,' on weigh ':'bold','colo ':'g een'})
pl . i le('Consumo de Ene gía To al
Semana',loc='le ', on dic ={' on size':30,' on weigh ':'bold','colo ':'g een'})
pl . igh _layou ()
pl . ick_pa ams(labelsize = 20)
#---------------GRÁFICO MESES----------------
inicio_mes=pd. o_da e ime('2018-03-01')
in_mes=pd. o_da e ime('2018-04-01')
d _mes=d .loc[inicio_mes: in_mes,:] #mues a los da os de esa echa
sns.se ( c={' igu e. igsize':(20,8)}) #es ilo de g á ico con seabo n
pl .plo (d _mes.index,d _mes['Ene gía Ac i a Comp a A+(kWh)'],label='Ene gía
Ac i a (kWh)',ma ke ='.',linewid h=1.5,colo ='blue',lines yle='dashed')
pl .legend(loc='bes ', on size=20)
pl .ylabel('Ene gía Ac i a
(kWh)', on dic ={' on size':20,' on weigh ':'bold','colo ':'g een'})
pl .y icks( ange(0,81,4))
pl .xlabel('Día del mes', on dic ={' on size':20,' on weigh ':'bold','colo ':'g een'})
pl . i le('Consumo de Ene gía To al
Mes',loc='le ', on dic ={' on size':30,' on weigh ':'bold','colo ':'g een'})
pl . igh _layou ()
pl . ick_pa ams(labelsize = 17)
#------------GRÁFICO AÑO COMPLETO---------------
d ['Ene gía Ac i a Comp a A+(kWh)'].plo (colo ='blue')
sns.se ( c={' igu e. igsize':(20,10)})
#c eación ejes, í ulo,e c
pl .legend(loc='bes ', on size=20)
pl .ylabel('Ene gía Ac i a
(kWh)', on dic ={' on size':20,' on weigh ':'bold','colo ':'g een'})
pl .y icks( ange(0,81,4))
pl .xlabel('Mes del año', on dic ={' on size':20,' on weigh ':'bold','colo ':'g een'})
pl . i le('Consumo de Ene gía To al
Año',loc='le ', on dic ={' on size':30,' on weigh ':'bold','colo ':'g een'})
pl . ick_pa ams(labelsize = 17)
#---------------RED NEURONAL---------------------
#-----------SEPARAMOS CONJUNTOS DE DATOS FULL--------------
x1=d .iloc[:,1:6]. alues
y1=d .iloc[:,0]. alues
x_ es ,x_ es ,y_ es ,y_ es =sk. ain_ es _spli (x1,y1, es _size=0.075,
andom_s a e=12)
x2=x_ es
y2=y_ es

64
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
x_ ain,x_ alid,y_ ain,y_ alid=sk. ain_ es _spli (x2,y2, es _size=0.08108108,
andom_s a e=10)
#-------------ESCALAMOS DATOS PARA FACILITAR CONVERGENCIA DEL
PROCESO-----------------
om sklea n.p ep ocessing impo MaxAbsScale
scale = MaxAbsScale ()
x_ ain=scale . i _ ans o m(x_ ain)
x_ alid=scale . ans o m(x_ alid)
x_ es =scale . ans o m(x_ es )
#------------VARIABLES CON TAMAÑOS DE PAQUETES DE DATOS--------------
alid_size=x_ alid.shape[0]
ain_size=x_ ain.shape[0]
es _size=x_ es .shape[0]
#-----------SEPARAMOS CONJUNTOS DE DATOS OPEN--------------
x1_open=da os_en esemana.iloc[:,1:5]. alues
y1_open=da os_en esemana.iloc[:,0]. alues
x_ es _open,x_ es _open,y_ es _open,y_ es _open=sk. ain_ es _spli (x1_open
,y1_open, es _size=0.15, andom_s a e=12)
x2_open=x_ es _open
y2_open=y_ es _open
x_ ain_open,x_ alid_open,y_ ain_open,y_ alid_open=sk. ain_ es _spli (x2_o
pen,y2_open, es _size=0.1764706, andom_s a e=10)
#-------------ESCALAMOS DATOS PARA FACILITAR CONVERGENCIA DEL
PROCESO-----------------
om sklea n.p ep ocessing impo MaxAbsScale
scale = MaxAbsScale ()
x_ ain_open=scale . i _ ans o m(x_ ain_open)
x_ alid_open=scale . ans o m(x_ alid_open)
x_ es _open=scale . ans o m(x_ es _open)
#------------VARIABLES CON TAMAÑOS DE PAQUETES DE DATOS--------------
alid_size_open=x_ alid_open.shape[0]
ain_size_open=x_ ain_open.shape[0]
es _size_open=x_ es _open.shape[0]
#--------------MATRIZ 3D LSTM FULL-----------------
n_pasos_de_ iempo = 4
n_mues as_ ain = len(x_ ain) - n_pasos_de_ iempo + 1
x_ ain_3d = np.ze os((n_mues as_ ain, n_pasos_de_ iempo, 5))
n_mues as_ alid = len(x_ alid) - n_pasos_de_ iempo + 1
x_ alid_3d = np.ze os((n_mues as_ alid, n_pasos_de_ iempo, 5))
n_mues as_ es = len(x_ es ) - n_pasos_de_ iempo + 1
65
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
x_ es _3d = np.ze os((n_mues as_ es , n_pasos_de_ iempo, 5))
# Rellena el enso con da os
o i in ange(n_mues as_ ain):
x_ ain_3d[i] = x_ ain[i:i+n_pasos_de_ iempo]
o i in ange(n_mues as_ alid):
x_ alid_3d[i] = x_ alid[i:i+n_pasos_de_ iempo]
o i in ange(n_mues as_ es ):
x_ es _3d[i] = x_ es [i:i+n_pasos_de_ iempo]
y_ ain_3d = y_ ain[:n_mues as_ ain] #y_ ain enga el mismo núme o de
mues as
y_ alid_3d = y_ alid[:n_mues as_ alid]
y_ es _3d = y_ es [:n_mues as_ es ]
x_ ain_3d = scale . i _ ans o m(x_ ain_3d. eshape(-1, x_ ain_3d.shape[-
1])). eshape(x_ ain_3d.shape)
x_ alid_3d = scale . i _ ans o m(x_ alid_3d. eshape(-1, x_ alid_3d.shape[-
1])). eshape(x_ alid_3d.shape)
x_ es _3d = scale . ans o m(x_ es _3d. eshape(-1, x_ es _3d.shape[-
1])). eshape(x_ es _3d.shape)
#--------------MATRIZ 3D LSTM OPEN-----------------
n_pasos_de_ iempo = 4
n_mues as_ ain_open = len(x_ ain_open) - n_pasos_de_ iempo + 1
x_ ain_3d_open = np.ze os((n_mues as_ ain_open, n_pasos_de_ iempo, 4))
n_mues as_ alid_open = len(x_ alid_open) - n_pasos_de_ iempo + 1
x_ alid_3d_open = np.ze os((n_mues as_ alid_open, n_pasos_de_ iempo, 4))
n_mues as_ es _open = len(x_ es _open) - n_pasos_de_ iempo + 1
x_ es _3d_open = np.ze os((n_mues as_ es _open, n_pasos_de_ iempo, 4))
# Rellena el enso con da os
o i in ange(n_mues as_ ain_open):
x_ ain_3d_open[i] = x_ ain_open[i:i+n_pasos_de_ iempo]
o i in ange(n_mues as_ alid_open):
x_ alid_3d_open[i] = x_ alid_open[i:i+n_pasos_de_ iempo]
o i in ange(n_mues as_ es _open):
x_ es _3d_open[i] = x_ es _open[i:i+n_pasos_de_ iempo]
y_ ain_3d_open = y_ ain_open[:n_mues as_ ain_open] #y_ ain enga el
mismo núme o de mues as
y_ alid_3d_open = y_ alid_open[:n_mues as_ alid_open]
y_ es _3d_open = y_ es _open[:n_mues as_ es _open]
x_ ain_3d_open = scale . i _ ans o m(x_ ain_3d_open. eshape(-1,
x_ ain_3d_open.shape[-1])). eshape(x_ ain_3d_open.shape)
x_ alid_3d_open = scale . i _ ans o m(x_ alid_3d_open. eshape(-1,
x_ alid_3d_open.shape[-1])). eshape(x_ alid_3d_open.shape)
x_ es _3d_open = scale . ans o m(x_ es _3d_open. eshape(-1,
x_ es _3d_open.shape[-1])). eshape(x_ es _3d_open.shape)
66
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
#------------CREAMOS MODELOS--------------
de modelo_0():
model= .ke as.Sequen ial([
.ke as.laye s.Inpu (shape=n_en adas),
.ke as.laye s.Dense(256,ac i a ion=' elu'),
.ke as.laye s.Dense(256,ac i a ion=' elu'),
.ke as.laye s.Dense(128,ac i a ion=' elu'),
.ke as.laye s.Dense(128,ac i a ion=' elu'),
.ke as.laye s.Dense(64,ac i a ion=' elu'),
.ke as.laye s.Dense(n_p edicciones)
])
op imize = .ke as.op imize s.Adam(lea ning_ a e=0.001)
model.compile(loss='mse',op imize =op imize ,me ics=['mae','mse','mape'])
e u n model
de modelo_1():
model= .ke as.Sequen ial([
.ke as.laye s.Inpu (shape=(n_pasos_de_ iempo,n_en adas)),
.ke as.laye s.LSTM(128,ac i a ion=' anh', e u n_sequences=T ue),
.ke as.laye s.LSTM(64,ac i a ion=' anh', e u n_sequences=T ue),
.ke as.laye s.LSTM(32,ac i a ion=' anh'),
.ke as.laye s.Dense(n_p edicciones)
])
op imize = .ke as.op imize s.Adam(lea ning_ a e=0.001)
model.compile(loss='mse',op imize =op imize ,me ics=['mae','mse','mape'])
e u n model
#--------------ENTRENAMOS MODELO DENSO FULL----------------
p in ('Comenzando en enamien o... ')
n_en adas = 5
n_p edicciones = 1
llamada_0=modelo_0()
en enamien o_0=llamada_0. i (x_ ain,y_ ain,epochs=100,ba ch_size=100,
e bose=T ue, alida ion_da a=(x_ alid,y_ alid))
p in ('En enamien o comple ado')
alida ion_ esul s = llamada_0.e alua e(x_ alid, y_ alid)
p in ("Pé dida en el conjun o de alidación:", alida ion_ esul s[0])
p in ("P ecisión en el conjun o de alidación:", alida ion_ esul s[1])
es _ esul s = llamada_0.e alua e(x_ es , y_ es )
p in ("Pé dida en el conjun o de p ueba:", es _ esul s[0])
p in ("P ecisión en el conjun o de p ueba:", es _ esul s[1])
#--------------ENTRENAMOS MODELO DENSO OPEN----------------
p in ('Comenzando en enamien o... ')
n_en adas = 4
n_p edicciones = 1
llamada_0_open=modelo_0()
67
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
en enamien o_0_open=llamada_0_open. i (x_ ain_open,y_ ain_open,epochs
=100,ba ch_size=10,
e bose=T ue, alida ion_da a=(x_ alid_open,y_ alid_open))
p in ('En enamien o comple ado')
alida ion_ esul s_open = llamada_0_open.e alua e(x_ alid_open,
y_ alid_open)
p in ("Pé dida en el conjun o de alidación:", alida ion_ esul s_open[0])
p in ("P ecisión en el conjun o de alidación:", alida ion_ esul s_open[1])
es _ esul s_open = llamada_0_open.e alua e(x_ es _open, y_ es _open)
p in ("Pé dida en el conjun o de p ueba:", es _ esul s_open[0])
p in ("P ecisión en el conjun o de p ueba:", es _ esul s_open[1])
#--------------ENTRENAMOS MODELO LSTM FULL------------------
p in ('Comenzando en enamien o... ')
n_en adas = 5
n_p edicciones = 1
llamada_1=modelo_1()
en enamien o_1=llamada_1. i (x_ ain_3d,y_ ain_3d,epochs=100,ba ch_size=
100, e bose=T ue, alida ion_da a=(x_ alid_3d,y_ alid_3d))
p in ('En enamien o comple ado')
alida ion_ esul s = llamada_1.e alua e(x_ alid_3d, y_ alid_3d)
p in ("Pé dida en el conjun o de alidación:", alida ion_ esul s[0])
p in ("P ecisión en el conjun o de alidación:", alida ion_ esul s[1])
es _ esul s = llamada_1.e alua e(x_ es _3d, y_ es _3d)
p in ("Pé dida en el conjun o de p ueba:", es _ esul s[0])
p in ("P ecisión en el conjun o de p ueba:", es _ esul s[1])
#--------------ENTRENAMOS MODELO LSTM OPEN-------------------
p in ('Comenzando en enamien o... ')
n_en adas = 4
n_p edicciones = 1
llamada_1_open=modelo_1()
en enamien o_1_open=llamada_1_open. i (x_ ain_3d_open,y_ ain_3d_open,
epochs=100,ba ch_size=10,
e bose=T ue, alida ion_da a=(x_ alid_3d_open,y_ alid_3d_open))
p in ('En enamien o comple ado')
alida ion_ esul s_open = llamada_1_open.e alua e(x_ alid_3d_open,
y_ alid_3d_open)
p in ("Pé dida en el conjun o de alidación:", alida ion_ esul s_open[0])
p in ("P ecisión en el conjun o de alidación:", alida ion_ esul s_open[1])
es _ esul s_open = llamada_1_open.e alua e(x_ es _3d_open,
y_ es _3d_open)
p in ("Pé dida en el conjun o de p ueba:", es _ esul s_open[0])
p in ("P ecisión en el conjun o de p ueba:", es _ esul s_open[1])
#----------------VISUALIZACIÓN RESULTADOS DE ENTRENAMIENTO
MODELO DENSO----------------
sns.se ( c={' igu e. igsize':(20,10)})
pl .xlabel('Ciclos', on dic ={' on size':20,'colo ':'black'})
pl .ylabel('Magni ud de pé dida', on dic ={' on size':20,'colo ':'black'})
68
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
pl . i le('E olución de pé dida du an e el en enamien o (Modelo
Denso)', on size=20)
pl .plo (en enamien o_0.his o y['loss'],label='En enamien o ull',linewid h=2.5)
pl .plo (en enamien o_0.his o y[' al_loss'],label='Validación ull',linewid h=2.5)
pl .plo (en enamien o_0_open.his o y['loss'],label='En enamien o
open',linewid h=2.5)
pl .plo (en enamien o_0_open.his o y[' al_loss'],label='Validación
open',linewid h=2.5)
pl .legend(loc='bes ', on size=20)
pl . ick_pa ams(labelsize = 20)
pl .show()
#------------VISUALIZACIÓN RESULTADOS DE ENTRENAMIENTO MODELO
LSTM----------------
sns.se ( c={' igu e. igsize':(20,10)})
pl .xlabel('Ciclos', on dic ={' on size':20,'colo ':'black'})
pl .ylabel('Magni ud de pé dida', on dic ={' on size':20,'colo ':'black'})
pl . i le('E olución de pé dida du an e el en enamien o (Modelo
LSTM)', on size=20)
pl .plo (en enamien o_1.his o y['loss'],label='En enamien o ull',linewid h=2.5)
pl .plo (en enamien o_1.his o y[' al_loss'],label='Validación ull',linewid h=2.5)
pl .plo (en enamien o_1_open.his o y['loss'],label='En enamien o
open',linewid h=2.5)
pl .plo (en enamien o_1_open.his o y[' al_loss'],label='Validación
open',linewid h=2.5)
pl .legend(loc='bes ', on size=20)
pl . ick_pa ams(labelsize = 20)
pl .show()
#------------------PREDICCION MODELO DENSO FULL-------------------
p edicciones_0 = llamada_0.p edic (x_ es ,ba ch_size=100)
p in (' alo es : n', y_ es )
p in (' alo p ed: n', p edicciones_0,' n n')
#---------------FUNCION DE ACIERTO EN LAS PREDICCIONES---------------------
-
om sklea n.me ics impo mean_squa ed_e o , mean_absolu e_e o ,
mean_absolu e_pe cen age_e o
de e alua _ endimien o(y_ ue, y_p ed):
mse = mean_squa ed_e o (y_ ue, y_p ed)
mae = mean_absolu e_e o (y_ ue, y_p ed)
mse = mean_squa ed_e o (y_ ue,y_p ed,squa ed=False) # alse pa a que
de uel a el mse en luga de mse
mape = mean_absolu e_pe cen age_e o (y_ ue,y_p ed)
endimien o = {
'MSE': mse,
'MAE': mae,
'RMSE': mse,
'MAPE': mape,

69
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
}
e u n endimien o
endimien o_0_ ull= e alua _ endimien o(y_ es , p edicciones_0)
#---------------FUNCION PARA CALCULAR EL ERROR ABSOLUTO----------------
------
de e o (y_ , y_p ,size):
e o =y_ -y_p . eshape(1,size)
e o _abs=np.abs(e o )
e u n e o _abs
e o _0_ ull = e o (y_ es , p edicciones_0, es _size)
e o _0_ ull=e o _0_ ull. la en()
e o _max_0_ ull=np.max(e o _0_ ull) #de uel e el alo máximo
#-------------ESTADÍSTICAS RELEVANTES DEL ERROR DENSO FULL-----------
---
e o _25_0_ ull=np.pe cen ile(e o _0_ ull,25)
e o _50_0_ ull=np.pe cen ile(e o _0_ ull,50)
e o _75_0_ ull=np.pe cen ile(e o _0_ ull,75)
xx='95'
e o _xx_0_ ull=np.pe cen ile(e o _0_ ull,in (xx))
#----------------PREDICCION MODELO DENSO OPEN-------------------
p edicciones_0_open = llamada_0_open.p edic (x_ es _open,ba ch_size=100)
p in (' alo es : n', y_ es _open)
p in (' alo p ed: n', p edicciones_0_open,' n n')
endimien o_0_open= e alua _ endimien o(y_ es _open, p edicciones_0_open)
e o _0_open = e o (y_ es _open, p edicciones_0_open, es _size_open)
e o _0_open = e o _0_open. la en()
e o _max_0_open=np.max(e o _0_open) #de uel e el alo máximo
#-------------ESTADÍSTICAS RELEVANTES DEL ERROR DENSO OPEN----------
----
e o _25_0_open=np.pe cen ile(e o _0_open,25)
e o _50_0_open=np.pe cen ile(e o _0_open,50)
e o _75_0_open=np.pe cen ile(e o _0_open,75)
xx='95'
e o _xx_0_open=np.pe cen ile(e o _0_open,in (xx))
# Imp imi las mé icas de endimien o modelo denso
om ich. able impo Table
om ich.console impo Console
abla=Table( i le='Análisis de e o es en da os de p ueba', i le_jus i y='cen e ')
abla.add_column('Mé icas',heade _s yle=' ed')
abla.add_column('[blue]Denso ull')
abla.add_column('[blue]Denso open')
70
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
abla.add_ ow("MSE:", s ( endimien o_0_ ull['MSE']),
s ( endimien o_0_open['MSE'])) #no admi e dicciona ios ni nume os, solo
cadenas
abla.add_ ow("MAE:", s ( endimien o_0_ ull['MAE']),
s ( endimien o_0_open['MAE']))
abla.add_ ow("RMSE:", s ( endimien o_0_ ull['RMSE']),
s ( endimien o_0_open['RMSE']))
abla.add_ ow("MAPE(%):", s ( endimien o_0_ ull['MAPE']*100),
s ( endimien o_0_open['MAPE']*100))
abla.add_ ow("E o _25:", s (e o _25_0_ ull), s (e o _25_0_open))
abla.add_ ow("E o _50:", s (e o _50_0_ ull), s (e o _50_0_open))
abla.add_ ow("E o _75:", s (e o _75_0_ ull), s (e o _75_0_open))
abla.add_ ow("E o _"+xx, s (e o _xx_0_ ull), s (e o _xx_0_open))
abla.add_ ow("E o _max:", s (e o _max_0_ ull), s (e o _max_0_open))
console=Console()
console.p in ( abla)
#----------------PREDICCION MODELO LSTM FULL-------------------
p edicciones_1=llamada_1.p edic (x_ es _3d, e bose=False)
p in (p edicciones_1.shape)
endimien o_1_ ull=e alua _ endimien o(y_ es _3d,p edicciones_1)
e o _1_ ull=e o (y_ es _3d,p edicciones_1,n_mues as_ es )
e o _1_ ull=e o _1_ ull. la en()
e o _max_1_ ull=np.max(e o _1_ ull)
#-------------ESTADÍSTICAS RELEVANTES DEL ERROR LSTM FULL-------------
-
e o _25_1_ ull=np.pe cen ile(e o _1_ ull,25)
e o _50_1_ ull=np.pe cen ile(e o _1_ ull,50)
e o _75_1_ ull=np.pe cen ile(e o _1_ ull,75)
xx='95'
e o _xx_1_ ull=np.pe cen ile(e o _1_ ull,in (xx))
#----------------PREDICCION MODELO LSTM OPEN-------------------
p edicciones_1_open=llamada_1_open.p edic (x_ es _3d_open, e bose=False
)
p in (p edicciones_1_open.shape)
endimien o_1_open=e alua _ endimien o(y_ es _3d_open,p edicciones_1_op
en)
e o _1_open=e o (y_ es _3d_open,p edicciones_1_open,n_mues as_ es _op
en)
e o _1_open=e o _1_open. la en()
e o _max_1_open=np.max(e o _1_open)
#-------------ESTADÍSTICAS RELEVANTES DEL ERROR LSTM OPEN------------
--
e o _25_1_open=np.pe cen ile(e o _1_open,25)
e o _50_1_open=np.pe cen ile(e o _1_open,50)
71
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
e o _75_1_open=np.pe cen ile(e o _1_open,75)
xx='95'
e o _xx_1_open=np.pe cen ile(e o _1_open,in (xx))
# Imp imi las mé icas de endimien o modelo LSTM
om ich. able impo Table
om ich.console impo Console
abla=Table( i le='Análisis de e o es en da os de p ueba', i le_jus i y='cen e ')
abla.add_column('Mé icas',heade _s yle=' ed')
abla.add_column('[blue]LSTM ull')
abla.add_column('[blue]LSTM open')
abla.add_ ow("MSE:", s ( endimien o_1_ ull['MSE']),
s ( endimien o_1_open['MSE'])) #no admi e dicciona ios ni nume os, solo
cadenas
abla.add_ ow("MAE:", s ( endimien o_1_ ull['MAE']),
s ( endimien o_1_open['MAE']))
abla.add_ ow("RMSE:", s ( endimien o_1_ ull['RMSE']),
s ( endimien o_1_open['RMSE']))
abla.add_ ow("MAPE(%):", s ( endimien o_1_ ull['MAPE']*100),
s ( endimien o_1_open['MAPE']*100))
abla.add_ ow("E o _25:", s (e o _25_1_ ull), s (e o _25_1_open))
abla.add_ ow("E o _50:", s (e o _50_1_ ull), s (e o _50_1_open))
abla.add_ ow("E o _75:", s (e o _75_1_ ull), s (e o _75_1_open))
abla.add_ ow("E o _"+xx, s (e o _xx_1_ ull), s (e o _xx_1_open))
abla.add_ ow("E o _max:", s (e o _max_1_ ull), s (e o _max_1_open))
console=Console()
console.p in ( abla)
#-----------GRAFICO REAL VS PREDICCION MODELO DENSO FULL-------------
om ma plo lib. icke impo Mul ipleLoca o
ini=0
in=50
ig, ax = pl .subplo s( igsize=(25, 10))
ax.plo (y_ es [ini: in],label=' alo
eal',colo ='da kblue',ma ke ='.',linewid h=1.5,lines yle='dashed')
ax.plo (p edicciones_0[ini: in],label=' alo
p edicción',colo =' ed',ma ke ='.',linewid h=1.5,lines yle='dashed')
ax.legend(loc='bes ', on size=20)
pl . i le('Modelo Denso Full', on size=20)
ax.yaxis.se _mino _loca o (Mul ipleLoca o (2)) #si e pa a la escala del eje
ax.yaxis.g id(which='mino ', lines yle='dashed', colo ='whi e')
ax.yaxis.se _mino _ o ma e ('{x:.0 }') #cambia el o ma o de los ejes con
nume o de decimales y lo mues a
ax. ick_pa ams(axis='y', which='mino ', labelsize=15, labelcolo ='da kg ey')
ax. ick_pa ams(labelsize = 20)
#-----------GRAFICO REAL VS PREDICCION MODELO DENSO OPEN------------
-
om ma plo lib. icke impo Mul ipleLoca o
72
TFG P edicción de la demanda de ene gía eléc ica con ap endizaje au omá ico.
ini=0
in=50
ig, ax = pl .subplo s( igsize=(25, 10))
ax.plo (y_ es _open[ini: in],label=' alo
eal',colo ='da kblue',ma ke ='.',linewid h=1.5,lines yle='dashed')
ax.plo (p edicciones_0_open[ini: in],label=' alo
p edicción',colo =' ed',ma ke ='.',linewid h=1.5,lines yle='dashed')
ax.legend(loc='bes ', on size=20)
pl . i le('Modelo Denso Open', on size=20)
ax.yaxis.se _mino _loca o (Mul ipleLoca o (2)) #si e pa a la escala del eje
ax.yaxis.g id(which='mino ', lines yle='dashed', colo ='whi e')
ax.yaxis.se _mino _ o ma e ('{x:.0 }') #cambia el o ma o de los ejes con
nume o de decimales y lo mues a
ax. ick_pa ams(axis='y', which='mino ', labelsize=15, labelcolo ='da kg ey')
ax. ick_pa ams(labelsize = 20)
#-----------GRAFICO REAL VS PREDICCION MODELO LSTM FULL-------------
om ma plo lib. icke impo Mul ipleLoca o
ini=0
in=50
ig, ax = pl .subplo s( igsize=(25, 10))
ax.plo (y_ es _3d[ini: in],label=' alo
eal',colo ='da kblue',ma ke ='.',linewid h=1.5,lines yle='dashed')
ax.plo (p edicciones_1[ini: in],label=' alo
p edicción',colo =' ed',ma ke ='.',linewid h=1.5,lines yle='dashed')
ax.legend(loc='bes ', on size=20)
pl . i le('Modelo LSTM Full', on size=20)
ax.yaxis.se _mino _loca o (Mul ipleLoca o (2)) #si e pa a la escala del eje
ax.yaxis.g id(which='mino ', lines yle='dashed', colo ='whi e')
ax.yaxis.se _mino _ o ma e ('{x:.0 }') #cambia el o ma o de los ejes con
nume o de decimales y lo mues a
ax. ick_pa ams(axis='y', which='mino ', labelsize=15, labelcolo ='da kg ey')
ax. ick_pa ams(labelsize = 20)
#-----------GRAFICO REAL VS PREDICCION MODELO LSTM OPEN-------------
om ma plo lib. icke impo Mul ipleLoca o
ini=0
in=50
ig, ax = pl .subplo s( igsize=(25, 10))
ax.plo (y_ es _3d_open[ini: in],label=' alo
eal',colo ='da kblue',ma ke ='.',linewid h=1.5,lines yle='dashed')
ax.plo (p edicciones_1_open[ini: in],label=' alo
p edicción',colo =' ed',ma ke ='.',linewid h=1.5,lines yle='dashed')
ax.legend(loc='bes ', on size=20)
pl . i le('Modelo LSTM Open', on size=20)
ax.yaxis.se _mino _loca o (Mul ipleLoca o (2)) #si e pa a la escala del eje
ax.yaxis.g id(which='mino ', lines yle='dashed', colo ='whi e')