+ All Categories

Tesi

Date post: 27-Jun-2015
Category:
Upload: gdelprete
View: 607 times
Download: 3 times
Share this document with a friend
157
1
Transcript
Page 1: Tesi

1

Page 2: Tesi
Page 3: Tesi

UNIVERSITA DEGLI STUDI DI TRIESTEFACOLTA DI INGEGNERIA

Corso di Laurea Specialistica in Ingegneria InformaticaDipartimento di Elettronica, Elettrotecnica ed Informatica

Tesi di laurea inRETI DI CALCOLATORI

PROGETTO E REALIZZAZIONE DISTIMATORI PREDITTIVI CON TECNICHE

DI GENETIC PROGRAMMING

Laureando: Relatore:Gabriele DEL PRETE Prof. Alberto BARTOLI

Correlatore:Ing. Giorgio DAVANZO

Anno Accademico 2008-2009

Page 4: Tesi
Page 5: Tesi
Page 6: Tesi

Indice

1 Introduzione 1

1.1 La Genetic Programming per predirre il mercato elettrico . 1

1.2 Struttura della tesi . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Convenzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Il mercato dell’elettricita degli Stati Uniti 5

2.1 Il mercato dell’elettricita degli Stati Uniti . . . . . . . . . . 5

2.2 Il mercato della California . . . . . . . . . . . . . . . . . . . 6

2.3 Il dataset della California . . . . . . . . . . . . . . . . . . . 6

2.4 Dataset-C: elaborazioni . . . . . . . . . . . . . . . . . . . . 7

2.5 Festivita per lo Stato della California . . . . . . . . . . . . . 9

2.6 Mercato e dataset di New York . . . . . . . . . . . . . . . . 10

2.7 Dataset-N: elaborazioni . . . . . . . . . . . . . . . . . . . . 11

2.8 Festivita per lo Stato di New York . . . . . . . . . . . . . . 12

3 Cenni sulla Genetic Programming 13

3.1 GP per la regressione simbolica di serie temporali . . . . . 13

3.2 Insiemi di dati per stimatori di serie temporali . . . . . . . 14

3.3 Genetic Programming in breve . . . . . . . . . . . . . . . . 15

3.4 Individui e popolazione iniziale . . . . . . . . . . . . . . . . 16

3.5 Rappresentazione degli individui . . . . . . . . . . . . . . . 16

3.6 Funzione di fitness . . . . . . . . . . . . . . . . . . . . . . . 18

3.7 Generazione della popolazione iniziale . . . . . . . . . . . . 18

3.8 Valutazione della fitness . . . . . . . . . . . . . . . . . . . . 19

3.9 Selezione degli individui . . . . . . . . . . . . . . . . . . . . 20

3.10 Variazione degli individui . . . . . . . . . . . . . . . . . . . 21

iii

Page 7: Tesi

iv INDICE

3.11 Terminazione e scelta dell’individuo migliore . . . . . . . . . 23

4 Evolutionary Design 25

4.1 Evolutionary Design . . . . . . . . . . . . . . . . . . . . . . 25

4.2 Evolutionary Design: regressione simbolica . . . . . . . . . 27

4.3 Evolutionary Design: backshift . . . . . . . . . . . . . . . . 27

4.4 Evolutionary Design: terminologia . . . . . . . . . . . . . . 29

4.5 Evolutionary Design: configurazione . . . . . . . . . . . . . 29

4.6 Evolutionary Design: strategie per la valutazione . . . . . . 30

4.7 DAEScalarEvaluation . . . . . . . . . . . . . . . . . . . . . 31

5 Analisi statistiche sui dataset 35

5.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.2 La funzione di densita di probabilita . . . . . . . . . . . . . 36

5.3 La funzione di autocorrelazione . . . . . . . . . . . . . . . . 36

5.4 Dataset-C: carico . . . . . . . . . . . . . . . . . . . . . . . . 38

5.5 Dataset-C: prezzi . . . . . . . . . . . . . . . . . . . . . . . . 41

5.6 Dataset-N: carico . . . . . . . . . . . . . . . . . . . . . . . . 44

6 Metodologia delle prove 49

6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.2 Parte costante della configurazione di ED . . . . . . . . . . 49

6.3 La fitness Intercept MSE . . . . . . . . . . . . . . . . . . . . 50

6.4 Criterio di scelta dell’individuo best . . . . . . . . . . . . . 52

6.5 Elaborazioni sui risultati di ED . . . . . . . . . . . . . . . . 53

6.6 Selezione del migliore individuo del run . . . . . . . . . . . 56

6.7 Simulazione dell’individuo best . . . . . . . . . . . . . . . . 57

6.8 Profili di configurazione . . . . . . . . . . . . . . . . . . . . 58

6.9 Configurazioni hardware/software usate . . . . . . . . . . . 61

7 Stimatori: consumi California 63

7.1 Stimatori per i consumi della California . . . . . . . . . . . 63

7.2 California, HA . . . . . . . . . . . . . . . . . . . . . . . . . 65

7.3 California, DA: profilo “base” . . . . . . . . . . . . . . . . . 69

7.4 California, DA: profilo “base + DAE” . . . . . . . . . . . . 73

7.5 California, DA: profilo “base + sin e cos” . . . . . . . . . . 77

7.6 California, DA: profilo “base + festivita” . . . . . . . . . . . 81

Page 8: Tesi

INDICE v

7.7 California, DA: profilo “base + 12 ore” . . . . . . . . . . . . 857.8 California, DA: profilo “base + 7 giorni” . . . . . . . . . . . 89

8 Stimatori: prezzi California 938.1 Stimatori per i prezzi della California . . . . . . . . . . . . . 938.2 California, prezzi: profilo base . . . . . . . . . . . . . . . . . 958.3 California, prezzi: profilo “base + pop. 1000” . . . . . . . . 998.4 California, prezzi: profilo “base + pop. 1000 + gen. 1200” . 1038.5 California, prezzi: profilo “lungo” . . . . . . . . . . . . . . . 1078.6 California, prezzi: profilo “lungo + pop. 1000 + gen. 1200” 1128.7 California, prezzi: profilo “lungo + gen. 1200” . . . . . . . 1168.8 California, prezzi: profilo “lungo + gen. 1200 + notte” . . . 121

9 Stimatori: consumi New York 1279.1 Stimatori per i consumi di New York . . . . . . . . . . . . . 1279.2 New York, consumi, Gennaio 2004: profilo “base” . . . . . . 1309.3 New York, consumi, Luglio 2004: profilo “base” . . . . . . . 134

10 Conclusioni 13910.1 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Bibliografia e siti web consultati 141

Page 9: Tesi
Page 10: Tesi

Elenco delle figure

3.1 Schema di base della Genetic Programming . . . . . . . . . 15

3.2 Esempio di albero di sintassi astratta . . . . . . . . . . . . . 17

3.3 Esempio di crossover fra individui . . . . . . . . . . . . . . . 21

3.4 Esempio di mutazione di nodo . . . . . . . . . . . . . . . . . 22

5.1 California: densita di probabilita del carico . . . . . . . . . 38

5.2 Dataset-C: autocorrelazione del carico su un giorno . . . . . 39

5.3 Dataset-C: autocorrelazione del carico su una settimana . . 40

5.4 Dataset-C: autocorrelazione del carico su un mese . . . . . 41

5.5 Dataset-C: autocorrelazione del carico su quattro mesi . . . 41

5.6 Dataset-C: densita di probabilita dei prezzi . . . . . . . . . 42

5.7 Dataset-C: autocorrelazione dei prezzi su un giorno . . . . . 43

5.8 Dataset-C: autocorrelazione dei prezzi sulla settimana . . . 43

5.9 Dataset-C: autocorrelazione dei prezzi su un mese . . . . . 44

5.10 Dataset-C: autocorrelazione dei prezzi su quattro mesi . . . 44

5.11 Dataset-N: densita di probabilita del carico . . . . . . . . . 45

5.12 Dataset-N: autocorrelazione del carico su un giorno . . . . . 46

5.13 Dataset-N: autocorrelazione del carico su una settimana . . 46

5.14 Dataset-N: autocorrelazione del carico su un mese . . . . . 47

5.15 Dataset-N: autocorrelazione del carico su quattro mesi . . . 47

6.1 Schema esemplificativo della Intercept MSE . . . . . . . . . 51

6.2 Esempio di grafico di correlazione fra WMAE di training eWMAE di validation . . . . . . . . . . . . . . . . . . . . . 55

7.1 California, consumi: posizione degli intervalli sul dataset . . 64

vii

Page 11: Tesi

viii ELENCO DELLE FIGURE

7.2 California, consumi HA, profilo unico: andamento indivi-duo best su training set e validation set . . . . . . . . . . . 67

7.3 California, consumi HA, profilo unico: andamento indivi-duo best su long testing set . . . . . . . . . . . . . . . . . . 68

7.4 California, consumi DA, profilo base: andamento individuobest su training set e validation set . . . . . . . . . . . . . . 71

7.5 California, consumi DA, profilo base: andamento individuobest su long testing set . . . . . . . . . . . . . . . . . . . . . 72

7.6 California, consumi DA, profilo base + DAE: andamentoindividuo best su training set e validation set . . . . . . . . 75

7.7 California, consumi DA, profilo base + DAE: andamentoindividuo best su long testing set . . . . . . . . . . . . . . . 76

7.8 California, consumi DA, profilo base + sin e cos: andamentoindividuo best su training set e validation set . . . . . . . . 79

7.9 California, consumi DA, profilo base + sin e cos: andamentoindividuo best su long testing set . . . . . . . . . . . . . . . 80

7.10 California, consumi DA, profilo base + festivita: andamen-to individuo best su training set e validation set . . . . . . . 83

7.11 California, consumi DA, profilo base + festivita: andamen-to individuo best su long testing set . . . . . . . . . . . . . 84

7.12 California, consumi DA, profilo base + 12 ore: andamentoindividuo best su training set e validation set . . . . . . . . 87

7.13 California, consumi DA, profilo base + 12 ore: andamentoindividuo best su long testing set . . . . . . . . . . . . . . . 88

7.14 California, consumi DA, profilo base + 7 giorni: andamentoindividuo best su training set e validation set . . . . . . . . 91

7.15 California, consumi DA, profilo base + 7 giorni: andamentoindividuo best su long testing set . . . . . . . . . . . . . . . 92

8.1 California, prezzi: posizione degli intervalli sul dataset-C . . 94

8.2 California, prezzi, profilo base: andamento individuo bestsu training set e validation set . . . . . . . . . . . . . . . . . 97

8.3 California, prezzi, profilo base: andamento individuo bestsu long testing set . . . . . . . . . . . . . . . . . . . . . . . 98

8.4 California, prezzi, profilo “base + pop. 1000”: andamentoindividuo best su training set e validation set . . . . . . . . 101

Page 12: Tesi

ELENCO DELLE FIGURE ix

8.5 California, prezzi, profilo “base + pop. 1000”: andamentoindividuo best su long testing set . . . . . . . . . . . . . . . 102

8.6 California, prezzi, profilo “base + pop. 1000 + gen. 1200”:andamento individuo best su training set e validation set . . 105

8.7 California, prezzi, profilo “base + pop. 1000 + gen. 1200”:andamento individuo best su long testing set . . . . . . . . 106

8.8 California, prezzi: posizione degli intervalli sul dataset-Ccon training lungo . . . . . . . . . . . . . . . . . . . . . . . 107

8.9 California, prezzi, profilo “lungo”: andamento individuobest su training set e validation set . . . . . . . . . . . . . . 110

8.10 California, prezzi, profilo “lungo”: andamento individuobest su long testing set . . . . . . . . . . . . . . . . . . . . . 111

8.11 California, prezzi, profilo “lungo + pop. 1000 + gen. 1200”:andamento individuo best su training set e validation set . . 114

8.12 California, prezzi, profilo “lungo + pop. 1000 + gen. 1200”:andamento individuo best su long testing set . . . . . . . . 115

8.13 California, prezzi, profilo “lungo + gen. 1200”: andamentoindividuo best su training set e validation set . . . . . . . . 119

8.14 California, prezzi, profilo “lungo + gen. 1200”: andamentoindividuo best su long testing set . . . . . . . . . . . . . . . 120

8.15 California, prezzi, profilo “lungo + gen. 1200 + notte”:andamento individuo best su training set e validation set . . 124

8.16 California, prezzi, profilo “lungo + gen. 1200 + notte”:andamento individuo best su long testing set . . . . . . . . 125

9.1 New York, consumi: intervalli . . . . . . . . . . . . . . . . . 1299.2 New York, consumi, Gennaio 2004, profilo “base”: anda-

mento individuo best su training set e validation set . . . . 1329.3 New York, consumi, Gennaio 2004, profilo “base”: anda-

mento individuo best su long testing set . . . . . . . . . . . 1339.4 New York, consumi, Luglio 2004, profilo “base”: andamen-

to individuo best su training set e validation set . . . . . . . 1369.5 New York, consumi, Luglio 2004, profilo “base”: andamen-

to individuo best su long testing set . . . . . . . . . . . . . 137

Page 13: Tesi
Page 14: Tesi

Elenco delle tabelle

2.1 Festivita nello Stato della California . . . . . . . . . . . . . 92.2 Festivita nello Stato di New York . . . . . . . . . . . . . . . 12

6.1 Parametri costanti nelle esecuzioni di ED . . . . . . . . . . 506.2 Macchine disponibili per la computazione . . . . . . . . . . 616.3 Gruppi di macchine utilizzati . . . . . . . . . . . . . . . . . 61

7.1 California, consumi HA, profilo unico: parametri del run estatistiche per l’individuo best generato . . . . . . . . . . . 66

7.2 California, consumi DA, profilo base: parametri del run estatistiche per l’individuo best generato . . . . . . . . . . . 70

7.3 California, consumi DA, profilo base + DAE: parametri delrun e statistiche per l’individuo best generato . . . . . . . . 74

7.4 California, consumi DA, profilo base + sin e cos: parametridel run e statistiche per l’individuo best generato . . . . . . 78

7.5 California, consumi DA, profilo base + festivita: parametridel run e statistiche per l’individuo best generato . . . . . . 82

7.6 California, consumi DA, profilo base + 12 ore: parametridel run e statistiche per l’individuo best generato . . . . . . 86

7.7 California, consumi DA, profilo base + 7 giorni: parametridel run e statistiche per l’individuo best generato . . . . . . 90

8.1 California, prezzi: risultati per il testing set del paper [15] . 948.2 California, prezzi, profilo base: parametri del run e statisti-

che per l’individuo best generato . . . . . . . . . . . . . . . 968.3 California, prezzi, profilo “base + pop. 1000”: parametri

del run e statistiche per l’individuo best generato . . . . . . 100

xi

Page 15: Tesi

xii ELENCO DELLE TABELLE

8.4 California, prezzi, profilo “base + pop. 1000 + gen. 1200”:parametri del run e statistiche per l’individuo best generato 104

8.5 California, prezzi, profilo “lungo”: parametri del run e sta-tistiche per l’individuo best generato . . . . . . . . . . . . . 109

8.6 California, prezzi, profilo “lungo + pop. 1000 + gen. 1200”:parametri del run e statistiche per l’individuo best generato 113

8.7 California, prezzi, profilo “lungo + gen. 1200”: parametridel run e statistiche per l’individuo best generato . . . . . . 118

8.8 California, prezzi, profilo “lungo + gen. 1200 + notte”:parametri del run e statistiche per l’individuo best generato 123

9.1 New York, consumi: risultati per testing del paper [6] . . . 1289.2 New York, consumi, Gennaio 2004, profilo “base”: parame-

tri del run e statistiche per l’individuo best generato . . . . 1319.3 New York, consumi, Luglio 2004, profilo “base”: parametri

del run e statistiche per l’individuo best generato . . . . . . 135

Page 16: Tesi

Capitolo 1

Introduzione

1.1 La Genetic Programming per predirre il mer-cato elettrico

In questa tesi si e affrontato il problema della realizzazione di stimatoripredittivi per i consumi ed i prezzi dell’elettricita mediante la tecnicadella Genetic Programming. La Genetic Programming e un paradigma dicalcolo per la generazione automatica di algoritmi fortemente ispirato aimeccanismi della selezione naturale.

La letteratura scientifica generalmente si basa su approcci di caratterestatistico per la realizzazione di stimatori predittivi per i consumi ed iprezzi dell’elettricita. In questo lavoro si vuole mostrare che la GeneticProgramming permette di ottenere stimatori con prestazioni paragonabiliagli stimatori tradizionali ma che possono essere generati ed utilizzati inmodo molto piu semplice, in particolare, senza effettuare preelaborazionisui dati storici, senza ricorrere a variabili esogene e senza necessita dicreare e gestire una molteplicita di modelli calibrati in modo diverso.

La motivazione di questo lavoro nasce dalla considerazione che, a se-guito della liberalizzazione del mercato dell’energia elettrica attuato negliultimi anni in molti paesi, in cui produttori e consumatori si scambiano l’e-lettricita mediante asta, e diventato importante predirre l’andamento dellaquantita e dei prezzi dell’elettricita per ottimizzare i costi di acquisto o diproduzione e ridurre gli sprechi.

1

Page 17: Tesi

2 CAPITOLO 1. INTRODUZIONE

La comunita scientifica studia da anni questo problema, e le soluzioniproposte generalmente fanno uso di metodi ricadenti nelle pure scienzestatistiche (modellazione parametrica di serie temporali). Questi meto-di pero fanno spesso uso di pre-processing sui dati iniziali (ad esempio,sostituzione dei valori da stimare con il loro logaritmo, identificazioneed eliminazione di outlier, eliminazione di giornate “particolarmente pro-blematiche”), o utilizzano variabili esogene (dati ambientali o finanziariesterni), o scelgono di creare molteplici modelli invece di uno singolo (adesempio, un modello differente per ogni ora del giorno), e risultano quindimeno immediati nella fase di utilizzo perche la ricalibrazione del modellorisulta piu complessa.

Il lavoro che qui si descrive e stato realizzato dallo scrivente pres-so il Laboratorio di Reti di Calcolatori del Dipartimento di Elettronica,Elettrotecnica ed Informatica dell’Universita di Trieste.

Il framework per la Genetic Programming che e stato utilizzato, Evo-lutionary Design, e stato sviluppato negli ultimi anni presso il Laboratorioed e gia stato utilizzato con successo su problemi dalla natura piu varia:dalla stima della disponibilita di contante da assicurare presso uno sportel-lo Bancomat, passando alla stima della distribuzione del calore all’internodi forni, per giungere alla stima dei tempi di ri-trasmissione dei pacchettiall’interno del protocollo TCP.

Tutto il restante lavoro di implementazione di script bash e R dielaborazione dati e stato svolto dallo scrivente.

1.2 Struttura della tesi

I capitoli seguenti ripercorrono l’iter seguito nello sviluppo dello studio;diamo ora loro una breve descrizione.

Il capitolo 3 introduce alla Genetic Programming, in particolar modoper quanto riguarda la regressione simbolica di serie temporali.

Il capitolo 4 descrive Evolutionary Design e documenta l’uso del plugindi valutazione DAEScalarEvaluation realizzato con questo lavoro.

Il capitolo 2 descrive gli archivi dei dati di consumo elettrico e deiprezzi dell’elettricita utilizzati.

Il capitolo 5 descrive alcune semplici analisi statistiche realizzate sugliarchivi del capitolo precedente.

Page 18: Tesi

1.3. CONVENZIONI 3

Il capitolo 6 descrive la metodologia seguita nelle prove per la ricercacon la Genetic Programming degli stimatori.

Il capitolo 7 documenta la ricerca degli stimatori per i consumi elettricidella California.

Il capitolo 8 documenta la ricerca degli stimatori per i prezzi dell’elet-tricita della California.

Il capitolo 9 documenta la ricerca degli stimatori per i consumi elettricidella citta di New York.

Infine nel capitolo 10 si traggono le conclusioni sul lavoro svolto.

1.3 Convenzioni

Sono state utilizzate alcune convenzioni nella stesura di questo documento.Si abbreviera il termine “Genetic Programming” con GP e il nome di

“Evolutionary Design” con ED.I nomi dei campi dei dataset utilizzati sono indicati in grassetto,

mentre per le classi Java e i plugin di ED si usera il corsivo.I nomi delle funzioni statistiche che verranno usate per analizzare le

prestazioni degli stimatori saranno in maiuscoletto.

Page 19: Tesi
Page 20: Tesi

Capitolo 2

Il mercato dell’elettricitadegli Stati Uniti

2.1 Il mercato dell’elettricita degli Stati Uniti

Negli anni 90 dello scorso secolo gli Stati Uniti d’America hanno attuatoun processo di liberalizzazione e deregulation del mercato elettrico interno.

A tale scopo e stata creata un’agenzia federale indipendente, la Fede-ral Energy Regulation Commission (FERC ), che ha lo scopo di supervi-sionare il mercato elettrico liberalizzato per quanto riguarda—tra le altrecose—i prezzi di alcune materie prime e i prezzi dello scambio wholesaledell’elettricita.

Oltre alla FERC, sono state create da parte dei singoli Stati dell’Unionealtre agenzie di controllo del mercato dell’elettricita, che operano soloall’interno del mercato del relativo stato, o tutto al piu in parti di quellidelle regioni o stati confinanti; tali agenzie statali sono note con il nomedi Independent System Operator (ISO). La FERC infine ha ordinato lacreazione (e a tutt’oggi supervisiona) di un sistema informativo pubblico eaccessibile tramite il web, chiamato Open Access Same-Time InformationSystem (OASIS ), che fornisce servizi utili a venditori ed acquirenti dienergia elettrica in maniera aperta, equa e non discriminatoria.

In questo lavoro sono stati utilizzati due archivi, pubblicati dai duedifferenti OASIS di due differenti ISO: quello per l’intero Stato della Cali-fornia e quello relativo alla sola area metropolitana della citta di New York.

5

Page 21: Tesi

6CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI

Tali archivi sono stati scelti in quanto utilizzati anche dalle pubblicazio-ni analizzate durante l’attivita di preparazione del lavoro qui descritto:offrono quindi la possibilita di poter confrontare i risultati ottenuti.

2.2 Il mercato della California

E opportuno aprire una breve parentesi sul funzionamento del mercatoliberalizzato in California.

In California esistono due mercati di scambio dell’energia elettrica,entrambi gestiti ad aste: il mercato Hour-Ahead (HA) e il mercato Day-Ahead (DA).

I due mercati sono gestiti in maniera differente perche di natura diffe-rente:

• il mercato Day-Ahead (DA) e un mercato, gestito da un ente ester-no all’ISO della California, il California Power Exchange (PX ), acarattere speculativo/finanziario: i partecipanti dell’asta lanciano leofferte di acquisto e di vendita allo scopo di massimizzare il profitto,e tutte le transazioni si fermano un giorno prima della vera consegnadell’elettricita;

• il mercato Hour-Ahead (HA) invece e il mercato direttamente gestitodall’ISO della California (CAISO), in cui i lanci per le offerte diacquisto e di vendita di ripetono ogni ora e riguardano i prezzi ei consumi dell’ora successiva: le possibilita di speculazioni su unintervallo di tempo cosı corto sono ovviamente molto piu limitate e iprezzi del mercato HA sono molto piu dipendenti dalle reali necessitadi energia elettrica ora per ora che non nel mercato DA[13].

2.3 Il dataset della California

Il dataset della California (d’ora in poi, dataset-C ) e disponibile e libera-mente utilizzabile da chiunque per scopi didattici e di ricerca ed e pubbli-cato sul sito dell’University of California Energy Institute (UCEI )[14].

Viene fornito in due versioni, un file in formato CSV (Comma Sepa-rated Values), e un file binario nel formato proprietario del software peranalisi statistiche STATA. I dati contenuti sono identici. In entrambi i

Page 22: Tesi

2.4. DATASET-C: ELABORAZIONI 7

casi, si puo considerare come una tabella di record, in cui ogni recordfornisce valori veri e stime per i consumi elettrici ed i prezzi di scambiorelativi, oltre ovviamente alle informazioni temporali (ora, giorno, mese,anno cui si riferiscono i valori del record) proprie del record. Dei singolicampi nel file esiste sono una breve descrizione presente sempre sul sitodella UCEI[2].

Nel file le stime di quasi tutte le grandezze sono doppie in quantovengono fornite per entrambi i mercati di scambio attivi.

I campi di ogni record del file sono identici per le due versioni CSV eSTATA e si possono dividere in alcuni gruppi:

• i riferimenti temporali: i campi come YEAR, MONTH, DAY,HOUR, WEEK, . . . e i campi SUNDAY, MONDAY, . . . , SA-TURDAY indicano la data e l’ora del record, ed il giorno dellasettimana cui appartiene il giorno relativo al record;

• il carico elettrico misurato per l’istante descritto dal record, nelcampo QASYS (descritto come Actual System-wide Load);

• il prezzo orario misurato dell’elettricita per il sotto-mercato DA, nelcampo PPXSYS (descritto come Price in PX for UnconstrainedSystem);

• e infine, moltissimi altri indici, sia di prezzo che di consumo, che nonsono d’interesse per i fini di questo lavoro.

2.4 Dataset-C: elaborazioni

E stato necessario elaborare il dataset-C per renderlo utilizzabile con ilframework per la GP utilizzato.

Tale elaborazione viene effettuata utilizzando uno script (make csv -california.r) per il software per il calcolo statistico R[1], una implementa-zione open-source delle specifiche del linguaggio S.

Lo script inizia caricando come input il file originale del dataset-C informata STATA (gestibile da R tramite un package di libreria aggiunti-vo) scaricato dal sito UCEI. Dalla serie di dati originali vengono quindieliminati i record di separazione fra i record delle ore dei diversi giorni,presenti all’interno dei file originale, e individuabili dall’avere tutti i campi

Page 23: Tesi

8CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI

vuoti eccetto per il campo HOUR posto al valore 25. Successivamente,vengono estratti solo i dati relativi ad un anno (il file originale contienela serie di dati per quasi 6 anni interi): l’anno scelto e quello che va dal 5Luglio 1999 al 4 Luglio 2000 (per un totale di 366 giorni, e 366∗24 = 8784record orari). Vengono quindi estratti, per ogni record, solo i campi diinteresse: quelli relativi all’istante temporale (YEAR, MONTH, DAY,HOUR, WEEK e altri aggregati di questi comodi per eventuali elabora-zioni statistiche sull’intero insieme di record), i flag booleani per il giornodella settimana (SUNDAY, MONDAY,. . . , SATURDAY), il campodei consumi orari osservati QASYS e il campo dei prezzi orari osservatiper il sotto-mercato DA PPXSYS.

Durante le prime analisi si e notato che, all’interno dell’anno scelto,due valori del campo QASYS e un valore del campo PPXSYS eranomancanti: il problema e stato risolto sostituendo ai valori mancanti unainterpolazione data dai valori vicini.

Ai campi estratti, nel file di output, ne vengono aggiunti altri, calcolatidallo script:

• il campo WEEKDAY, che assume valori da 1 a 7 e indica il giornodella settimana cui appartiene il record orario (con 1 equivalente adomenica e 7 equivalente a sabato); questo campo e ridondante ri-spetto ai campi SUNDAY, . . . , SATURDAY ma potrebbe esserepiu comodo per alcune elaborazioni rispetto ai sette campi booleani;

• il campo ISHOLIDAY, booleano, che assume valore 1 se il giornocui appartiene il record orario e uno dei giorno festivi dello Statodella California; tale campo viene calcolato dallo script utilizzandoalcune funzioni di un package esterno per R che ritornano le dateper le feste della California, assegnato un anno;

• il campo ISHOLISATSUN, booleano, che assume valore 1 se ilgiorno cui appartiene il record orario e un giorno festivo (campoISHOLIDAY pari a 1) oppure e un sabato o una domenica (quindi:ISHOLISATSUN := ISHOLIDAY or SATURDAY or SUNDAY );

• il campo ISNIGHT, booleano, che assume valore 1 per le ore delgiorno (campo HOUR) che si vogliono considerare notte profonda(la scelta fatta per questo lavoro considera come notte fonda le ore

Page 24: Tesi

2.5. FESTIVITA PER LO STATO DELLA CALIFORNIA 9

dalle 1 antimeridiane alle 5 antimeridiane, comprese); questo campoe stato utile solo alla creazione dello stimatore dei prezzi e non vieneutilizzato per lo stimatore dei consumi;

• il campo DAE, reale, che assume identicamente il valore 0.0 e la cuiutilita verra descritta nel capitolo 4.

Infine il dataset risultante viene salvato dallo script nel formato CSV(Comma Separated Values), che e il formato richiesto in ingresso da ED.

2.5 Festivita per lo Stato della California

Le festivita per lo Stato della California sono state ricavate da Wikipedia(vedi [3]) e dal sito del Dipartimento per l’Amministrazione del Personaledello Stato della California (vedi [11]).

Le festivita pubbliche osservate in California sono:

Festivita Ricorrenza

1 Gennaio CapodannoTerzo lunedı di Gennaio Compleanno di Martin Luther KingTerzo lunedı di Febbraio Giorno dei PresidentiUltimo lunedı di Maggio Memorial Day4 Luglio Festa dell’IndipendenzaPrimo lunedı di Settembre Festa del Lavoro11 Novembre Giorno dei VeteraniQuarto giovedı di Novembre ThanksgivingQuarto venerdı di Novembre Giorno dopo il Thanksgiving25 Dicembre Natale

Tabella 2.1: Festivita nello Stato della California

In California, se una festivita pubblica cade di domenica, di norma vie-ne portata al lunedı successivo[3]; analogamente, se una festivita pubblicacade di sabato, la legge permetterebbe di portarla al venerdı immediata-mente precedente[12]: mentre pero nel primo caso lo spostamento avvienesempre, nel secondo caso questo accade raramente (le aziende possonodecidere se farlo o no, e in genere scelgono di no)[3].

Page 25: Tesi

10CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI

Lo script R per la California tiene conto di queste convenzioni e marcaquindi come festivo un giorno se e solo se il giorno appartiene ad unafestivita e non e domenica, o se il giorno e lunedı e il giorno precedenteera un giorno di festa.

Per l’intervallo di tempo considerato per il dataset-C l’eccezione dispostamento a lunedı della festivita domenicale accade solo per la Festadell’Indipendenza del 1999—4 Luglio 1999, una domenica—che viene spo-stata a lunedı 5 Luglio 1999 (incidentalmente, il primo giorno del datasetestratto).

2.6 Mercato e dataset di New York

Si noti innanzitutto che al contrario del caso della California, non esiste unequivalente per la citta di New York del mercato (e dell’asta) Day-Ahead(ne un ente equivalente al California Power Exchange): l’unico mercato equello Hour-Ahead1. Per coerenza con gli stimatori realizzati per il casoprecedente, pero, si ignorera questa differenza e ci si limitera a realizzare,con i dati orari del NYISO, degli stimatori DA.

Il dataset orario per lo Stato di New York (d’ora in poi, dataset-N ) edisponibile e liberamente utilizzabile da chiunque per scopi didattici e diricerca ed e pubblicato sul sito delNew York ISO (NYISO).

Viene fornito sotto forma di serie di file CSV, uno per ogni mese deglianni disponibili. Ogni file contiene unicamente le informazioni di data eora cui il record si riferisce, e il consumo elettrico misurato nonche—inaggiunta rispetto al caso del dataset-C—la stima del consumo elettricoche era stata prevista dallo stesso NYISO per la medesima data e ora.

Sia il consumo reale misurato che la stima vengono forniti disaggregatiper macro-regioni dello stato; per questa tesi si sono considerate solo ledue colonne per la macro-regione comprendente l’area metropolitana diNew York.

I campi interessanti del dataset-N sono:

• date e time, che indicano la data e l’ora del record, ed il giornodella settimana cui appartiene il giorno relativo al record;

1In effetti, questa e la situazione piu comune: e la California che, con i suoi duemercati, rappresenta un caso particolare.

Page 26: Tesi

2.7. DATASET-N: ELABORAZIONI 11

• J NYC Actual il carico elettrico misurato per l’istante descrittodal record;

• J NYC Forecast il carico elettrico precedentemente stimato perl’istante descritto dal record.

2.7 Dataset-N: elaborazioni

Le elaborazioni applicate al dataset-N sono analoghe a quelle per il dataset-C: sono pero realizzate in due passi, per comodita di implementazione:

• un primo semplice script Bash build newyork single csv.sh aggregatutti i file CSV mensili scaricati dal sito del NYISO presenti nelladirectory corrente del processo in un singolo file CSV;

• successivamente uno script per R, make csv newyork.r, del tuttoanalogo a quello per la California, estrae i campi di interesse so-pra riportati per il sottointervallo voluto dei dati e aggiunge i campiWEEKDAY, ISHOLIDAY e ISHOLISATSUN per la gestionedelle festivita nonche il campo DAE; questi campi hanno significa-to identico a quelli del dataset-C (a parte ovviamente le date dellefestivita che sono state adattate a quelle dello Stato di New York).

L’unica altra elaborazione effettuata sul dataset-N da parte dello scriptper R e la rinominazione dei campi date in DATE, time in HOUR,J NYC Actual in ACTUAL e J NYC Forecast in FORECAST,principalmente per uniformita con il dataset-C.

Per la costruzione degli stimatori per il consumo di New York si eestratto l’intero intervallo 1 Gennaio 2003 - 30 Agosto 2004, coerentementeal lavoro descritto in [6] (nelle prove sono stati poi utilizzati intervalli piucorti). Si fa notare che dal sito del NYISO non risulta piu scaricabile ilfile del mese di Ottobre 2003: si e quindi scelto semplicemente di ometterei dati relativi a questo mese dal dataset utilizzato per le simulazioni conla GP. A parte il mese di Ottobre 2003, nel dataset-N non esistono altridati mancanti, quindi non c’e stata la necessita di interpolazione dei daticome fatto per il caso della California.

Il dataset risultante dall’elaborazione dello script R viene salvato dalloscript nel formato CSV (Comma Separated Values) richiesto da ED.

Page 27: Tesi

12CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI

2.8 Festivita per lo Stato di New York

Le festivita per lo Stato di New York sono state ricavate da Wikipedia(vedi [3]).

Le festivita pubbliche osservate a New York sono:

Festivita Ricorrenza

1 Gennaio CapodannoTerzo lunedı di Gennaio Compleanno di Martin Luther King12 Febbraio Compleanno di LincolnTerzo lunedı di Febbraio Compleanno di WashingtonUltimo lunedı di Maggio Memorial Day4 Luglio Festa dell’IndipendenzaPrimo lunedı di Settembre Festa del LavoroSecondo lunedı di Ottobre Columbus DayPrimo martedı di Novembre Election Day11 Novembre Giorno dei VeteraniQuarto giovedı di Novembre Thanksgiving25 Dicembre Natale

Tabella 2.2: Festivita nello Stato di New York

Per quanto riguarda le feste che vengono a cadere di domenica o sabato,valgono le stesse regole della California sopra riportate, quindi lo scriptapplica l’algoritmo di scelta descritto per il caso della California.

Page 28: Tesi

Capitolo 3

Cenni sulla GeneticProgramming

3.1 GP per la regressione simbolica di serie tem-porali

La Genetic Programming (GP)[8][4][9] e un metodo automatico per crearealgoritmi per computer tramite un approccio simile a quello dell’evoluzionedelle specie basata sulla selezione naturale, descritta da Darwin in [5]. Ilfunzionamento della GP e iterativo e si basa principalmente su un ciclodi selezione artificiale applicato ad un insieme di algoritmi generati inmaniera pseudo-casuale (individui), che vengono ricombinati fra di loroin modo da convergere verso una soluzione ottima secondo una metricadecisa a priori.

Per regressione simbolica di serie temporali si intende invece il proble-ma di trovare una espressione matematica in forma simbolica che forniscauna buona o perfetta corrispondenza ad una serie di valori misurati diuna grandezza, eventualmente influenzata da un insieme di variabili indi-pendenti di cui si possiede lo storico. Nel campo dell’analisi numerica siparla di curve fitting, ovvero l’obiettivo e quello di trovare un modello cheaderisca meglio possibile ad un certo insieme di dati o punti. La regres-sione simbolica si differenzia dagli altri tipi di regressione in quanto nonsi devono semplicemente trovare dei coefficienti numerici da applicare ad

13

Page 29: Tesi

14 CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING

una funzione con una forma prestabilita, ma si vuole trovare la funzionestessa.

Se si utilizza la GP per risolvere un problema di regressione simbolicadi serie temporali, si ha che gli individui sono algoritmi che prendonoin ingresso i valori delle variabili indipendenti e producono i valori dellavariabile dipendente; la GP, applicando il suo ciclo evolutivo, perverra adindividui che massimizzano l’aderenza della curva prodotta dagli individuia quella dei valori veri misurati.

3.2 Insiemi di dati per stimatori di serie tempo-rali

E opportuno innanzitutto definire alcuni termini relativamente agli insiemidi dati usati solitamente nella ricerca di stimatori per serie temporali (nonsolo tramite regressione simbolica usando la GP, ma tramite qualunquemetodo).

La ricerca di uno stimatore per serie temporali si puo pensare suddivisain due fasi:

• la prima si occupa della generazione dello stimatore, cio di unasoluzione candidata al problema;

• la seconda si occupa della prova dello stimatore su di un insieme didati che in fase di creazione non gli era stato sottoposto, al fine dimisurarne le prestazioni (a tal fine deve esistere la serie di valori realimisurati della grandezza stimata dallo stimatore per questo secondoinsieme di dati).

La seconda fase si chiama testing e l’insieme di dati su cui si testanole performance si chiama testing set.

Per la GP la prima fase, in cui si creano gli individui/soluzioni, fa usodi due insiemi distinti: il primo e detto training set e il secondo validationset. La GP lavora creando gli individui facendo uso del training set emisurando la bonta degli stessi sul validation set. Si noti che la soluzioneviene generata e scelta senza mai aver visto il testing set, e questo auto-rizza ad usare il testing set come intervallo per una misura obiettiva delleperformance.

Page 30: Tesi

3.3. GENETIC PROGRAMMING IN BREVE 15

In altri metodi che non siano la regressione simbolica basata sulla GP,la prima fase possiede invece un solo insieme di dati che si dice anch’essogeneralmente training set.

In questo lavoro si e scelto di usare la GP, quindi ci si trovera semprenel caso dei tre insiemi di dati:

• il training set e il validation set, in fase di creazione degli individui;

• il testing set, nella fase esterna di misura delle performance degliindividui selezionati quali migliori.

In piu, in questo lavoro, si e utilizzato anche un long testing set, chee un’estensione opportuna del testing set (comprende il testing set esat-tamente all’inizio). Si e introdotto il long testing set per vedere come siconportasse lo stimatore oltre il testing set, che e stato generalmente sceltoin modo da coincidere con quello riportato nei paper di riferimento[15][6].

3.3 Genetic Programming in breve

2

Fig. 1. Deep Groove Ball Bearing

three forces, one for each axe and two moments. We obtain a

5 by 5 stifness matrix. Since the purpose of this paper is to

present the Genetic Programming approach we will consider

only the three first elements on the diagonal of the matrix,

those corresponding to the force component. Furthermore the

methodology is the same for all elements of the stiffness

matrix.

III. GENETIC PROGRAMMING IN A NUTSHELL

Genetic Programming (GP) is an automatic method for cre-

ating computer programs by means of artificial evolution [9].

A population of computer programs are generated at random.

Then, each program is associated with a fitness value which

quantifies its ability to solve a given problem. Its application to

a given problem requires the definition of a fitness function for

that problem, that is, the definition of a quantitative measure

of the performance of a candidate solution (more details will

follow). Fitter programs are selected for recombination to

produce a new population by using genetic operators, such as

crossover and mutation. This step is iterated for some number

of generations until the termination criterion of the run has

been satisfied. The evolutionary cycle is illustrated in Figure

2.

Fig. 2. Basic scheme for artificial evolution

The Genetic Programming process shares some working

principles with the other variants of Evolutionary Algorithms

(EA) [2], and is closely related to Genetic Algorithms (GAs)

since their main difference lies in the interpretation of the

representation [20].

A. Individuals and population

The Genetic Programming scheme rely on a population

of candidate solutions or programs. Usually each program is

called individual. The population size is specified by the user

and depends on the difficulty of the problem. To improve

the performances of the GP process, a traditional method

was to use a larger population [3][9]. Large populations

were considered beneficial because they maintain diversity

and may avoid premature convergence. However, more recent

works advocate for different approaches, using populations of

moderate or variable size (e.g. [7][12]).

B. Representation

The programs are usually represented as abstract syntax

trees, where a branch node is an element from a function

set which may contain arithmetic, logic operators, elementary

functions with at least one argument. A leaf node of the tree is

instead an element from a terminal set, which usually contains

variables, constants and functions with no arguments. Nodes

and leaves of the tree can only be elements of these sets

provided by the user.

Identification of the elements to include in the function

set and terminal set should be done carefully by the user in

order to provide terminals and functions which are sufficient

to express a solution to the problem. Moreover these elements

should be the most significant as possible for the problem

domain considered. When the domain is not well understood

and involves a wide number of functions and terminals, new

strategies may be employed to improve efficiency of the GP

process [5].

For symbolic regression problems, the function set may

consist of the arithmetic operators, or trigonometric functions.

The terminal set may consist of the independent variables

and constants fixed according to the preliminary knowledge

of the problem, or randomly generated (Ephemeral Random

Constants ERC) [9]. An example of abstract syntax tree for a

mathematical expression is presented in Figure 3.

Fig. 3. A tree representation of x ! y ! 1.3 " x

In the stiffness problem we selected the variables Fr, Fz

and the constants 0, 1, 0.1 as elements of the terminal set andwe selected four basic mathematical operators +, !, ", ÷ as

elements of the function set.

Other representations such as linear genetic programming

[3] and grammatical evolution [15] are also used and provide

alternatives to the abstract syntax tree.

Figura 3.1: Schema di base della Genetic Programming

Un ciclo evolutivo di GP inizia col generare una popolazioni di al-goritmi in maniera casuale (si veda la figura 3.1). Poi, ad ognuno deglialgoritmi—chiamati anche individui proprio per mantenere il parallelo conla selezione naturale darwiniana—viene associato un valore di fitness chemisura la sua abilita a risolvere il problema scelto. La fitness viene cal-colata tramite una funzione di fitness che viene implementata nel motore

Page 31: Tesi

16 CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING

di GP ; deve essere scelta in modo da essere adatta al problema che sivuole risolvere, e deve fornire come risultato una misura quantitativa diquanto buone siano le performance dell’individuo su cui viene calcolata.Gli algoritmi/individui migliori, ovvero quelli che massimizzano la fitness,vengono quindi infine per essere ricombinati fra di loro per produrre unanuova popolazione; questa fase fa uso di operatori genetici, quali crossovere mutazioni. Alla nuova popolazione viene applicato il criterio di sceltabasato sulla fitness, e in ciclo ricomincia.

Il ciclo viene ripetuto per un certo numero di generazioni, finche nonviene soddisfatto il criterio di terminazione prescelto (tempo massimo dicalcolo da non oltrepassare, scoperta di un individuo con fitness ottima,. . . ).

Nei prossimi sottocapitoli si analizzano in maggior dettaglio i singolipassi appena descritti.

3.4 Individui e popolazione iniziale

L’approccio della Genetic Programming si basa su una popolazione di solu-zioni o algoritmi candidati alla risoluzione del problema. Solitamente ognialgoritmo viene chiamato individuo. La dimensione della popolazione vie-ne specificata dall’utente e dipende dalla difficolta attesa del problema.Storicamente, si e sempre reputato che per migliorare le performance delprocesso di GP e necessario utilizzare popolazioni molto numerose; po-polazioni molto numerose vengono considerate una scelta opportuna inquanto dovrebbero mantenere la diversita e dovrebbero prevenire rischi diconvergenza prematura verso massimi locali. Di recente, pero, ci si staorientando verso altri approcci che permettono di utilizzare popolazionidi dimensione moderata o variabile nel tempo[7].

3.5 Rappresentazione degli individui

Gli individui vengono solitamente rappresentati come alberi di sintassiastratta (Abstract Syntax Tree, AST ), nei quali i nodi interni sono ele-menti di un insieme di funzioni che puo contenere funzioni aritmetiche oelementari o operatori logici che accettano almeno un argomento, mentre

Page 32: Tesi

3.5. RAPPRESENTAZIONE DEGLI INDIVIDUI 17

i nodi foglia sono invece elementi di un insieme di terminali, che solita-mente e composto da variabili, costanti e funzioni senza argomenti. I nodiinterni e le foglie dell’albero possono essere solo elementi di questi dueinsiemi, che sono stabiliti a priori dall’utente.

L’identificazione degli elementi da includere nell’insieme di funzioni enell’insieme di terminali deve essere scelto con cura dall’utente, in modoche le funzioni ed i terminali scelti siano sufficienti per esprimere la solu-zione del problema; inoltre, se possibile, dovrebbero essere scelti in modosiano i piu significativi per il dominio del problema considerato.

Nel caso di problemi di regressione simbolica, l’insieme di funzioniconsiste solitamente nelle funzioni aritmetiche e in quelle trigonometri-che, mentre l’insieme dei terminali consiste in variabili indipendenti, incostanti scelte considerando il problema da risolvere, o costanti generatecasualmente (Ephemeral Random Constants, ERC )1.

In figura 3.2 si mostra un albero di sintassi astratta d’esempio; vieneraffigurato l’albero per l’espressione matematica ((x×y)×(1+0.3))−(x∗1).Si noti che la formula rappresentata e piuttosto grezza; come si puo intuirequesto risultato rappresenta la normalita per la GP, a causa della casualitanella creazione ed evoluzione degli individui.

2

Fig. 1. Deep Groove Ball Bearing

three forces, one for each axe and two moments. We obtain a

5 by 5 stifness matrix. Since the purpose of this paper is to

present the Genetic Programming approach we will consider

only the three first elements on the diagonal of the matrix,

those corresponding to the force component. Furthermore the

methodology is the same for all elements of the stiffness

matrix.

III. GENETIC PROGRAMMING IN A NUTSHELL

Genetic Programming (GP) is an automatic method for cre-

ating computer programs by means of artificial evolution [9].

A population of computer programs are generated at random.

Then, each program is associated with a fitness value which

quantifies its ability to solve a given problem. Its application to

a given problem requires the definition of a fitness function for

that problem, that is, the definition of a quantitative measure

of the performance of a candidate solution (more details will

follow). Fitter programs are selected for recombination to

produce a new population by using genetic operators, such as

crossover and mutation. This step is iterated for some number

of generations until the termination criterion of the run has

been satisfied. The evolutionary cycle is illustrated in Figure

2.

Fig. 2. Basic scheme for artificial evolution

The Genetic Programming process shares some working

principles with the other variants of Evolutionary Algorithms

(EA) [2], and is closely related to Genetic Algorithms (GAs)

since their main difference lies in the interpretation of the

representation [20].

A. Individuals and population

The Genetic Programming scheme rely on a population

of candidate solutions or programs. Usually each program is

called individual. The population size is specified by the user

and depends on the difficulty of the problem. To improve

the performances of the GP process, a traditional method

was to use a larger population [3][9]. Large populations

were considered beneficial because they maintain diversity

and may avoid premature convergence. However, more recent

works advocate for different approaches, using populations of

moderate or variable size (e.g. [7][12]).

B. Representation

The programs are usually represented as abstract syntax

trees, where a branch node is an element from a function

set which may contain arithmetic, logic operators, elementary

functions with at least one argument. A leaf node of the tree is

instead an element from a terminal set, which usually contains

variables, constants and functions with no arguments. Nodes

and leaves of the tree can only be elements of these sets

provided by the user.

Identification of the elements to include in the function

set and terminal set should be done carefully by the user in

order to provide terminals and functions which are sufficient

to express a solution to the problem. Moreover these elements

should be the most significant as possible for the problem

domain considered. When the domain is not well understood

and involves a wide number of functions and terminals, new

strategies may be employed to improve efficiency of the GP

process [5].

For symbolic regression problems, the function set may

consist of the arithmetic operators, or trigonometric functions.

The terminal set may consist of the independent variables

and constants fixed according to the preliminary knowledge

of the problem, or randomly generated (Ephemeral Random

Constants ERC) [9]. An example of abstract syntax tree for a

mathematical expression is presented in Figure 3.

Fig. 3. A tree representation of x ! y ! 1.3 " x

In the stiffness problem we selected the variables Fr, Fz

and the constants 0, 1, 0.1 as elements of the terminal set andwe selected four basic mathematical operators +, !, ", ÷ as

elements of the function set.

Other representations such as linear genetic programming

[3] and grammatical evolution [15] are also used and provide

alternatives to the abstract syntax tree.

Figura 3.2: Esempio di albero di sintassi astratta

1Le ERC sono valori scelti casualmente all’inizio dell’esecuzione della GP ma cherestano poi costanti per tutta l’evoluzione

Page 33: Tesi

18 CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING

3.6 Funzione di fitness

La funzione di fitness fornisce la misura di quanto un individuo si adat-ta ad un particolare ambiente, ed e anche il criterio per selezionare gliindividui che verranno usati per generare una nuova popolazione. La fun-zione di fitness da scegliere dipende dal problema considerato ed e sceltadall’utente.

La fitness generalmente non viene calcolata su tutti i valori possibiliper le variabili indipendenti, ma viene solitamente limitata ad un sottoin-sieme dei valori; questo sottoinsieme deve essere sufficientemente grandeda rappresentare un insieme rappresentativo di tutti i valori possibili. Ge-neralmente quindi si sceglie un sottoinsieme finito dell’intero dominio delproblema che si sta analizzando, che viene chiamato validation set.

Le funzioni che si possono scegliere come fitness sono molte; una dellepiu comuni per i problemi di regressione simbolica e la varianza dell’errore(Mean Square Error, MSE ), cioe la media dei quadrati delle differenze fra ivalori attesi θ (ad esempio, la serie storica reale misurata di una grandezzafisica) e quelli ottenuti dall’algoritmo/individuo sotto esame θ (la stima):

MSE =1

n

n∑

i=1

(θ − θ)2.

Stabilita la funzione di fitness, e scelti gli elementi dell’insieme di fun-zioni e dell’insieme di terminali, sono pronti tutti gli elementi da fornirea GP per la ricerca della soluzione del problema considerato: a questopunto il ciclo evolutivo puo essere avviato.

Nei prossimi sottocapitoli si descriveranno singolarmente i quattropassi dell’algoritmo di evoluzione della Genetic Programming.

3.7 Generazione della popolazione iniziale

La popolazione iniziale e composta da individui generati combinando ca-sualmente elementi dell’insieme di funzioni con quelli dell’insieme dei ter-minali.

Esistono principalmente tre metodi di generazione della popolazioneiniziale, che si differenziano per la dimensione e la forma degli alberi

Page 34: Tesi

3.8. VALUTAZIONE DELLA FITNESS 19

di sintassi astratta generati, ma che partono tutti e tre dal nodo radicedell’albero:

• metodo full : scelto a caso il nodo radice (che va scelto fra i nodi in-terni) in modo che appartenga all’insieme delle funzioni, si procedeiterativamente attaccando ad ogni nodo solo nodi di tipo funzione, emai nodi terminali; quando si e raggiunta la profondita massima im-postata dall’utente, si completa l’albero scegliendo come nodi fogliasolo elementi dell’insieme dei terminali. Questo metodo crea alberitutti della stessa profondita e che hanno la caratteristica di essereperfettamente bilanciati;

• metodo grow : scelto a caso il nodo radice in modo che appartengaall’insieme delle funzioni, si procede iterativamente attaccando adogni nodo sia elementi terminali (foglie) che elementi funzionali (no-di interni); se un ramo raggiunge la profondita massima, si scelgonosolo nodi terminali. La distribuzione di probabilita con cui si sce-glie i nodi puo essere uniforme o scelta in modo che certi elementidegli insiemi abbiano probabilita maggiore di essere scelti. Gli albe-ri realizzati con questa tecnica risultano sbilanciati e di profonditadiversa;

• metodo ramped half-and-half : si utilizza il metodo full per meta dellapopolazione iniziale, e il metodo grow per l’altra meta; l’obiettivo equello di garantire una eterogeneita piu alta nella composizione dellapopolazione iniziale.

Sperimentalmente, si mostra che il metodo che fornisce migliori risulta-ti e l’ultimo, perche aumenta la “bio-diversita” della popolazione iniziale.Talvolta inoltre si controlla, durante la creazione degli individui, che nonvenga creato un individuo completamente identico ad uno gia creato, nelqual caso si procede a sostituirlo con uno nuovo.

3.8 Valutazione della fitness

Dopo la generazione della popolazione iniziale, o dopo la generazione diuna nuova popolazione, ogni individuo viene valutato secondo la funzionedi fitness. Questo passo e computazionalmente costoso, e dipende inoltre

Page 35: Tesi

20 CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING

dal numero di dati del validation set, dalle funzioni scelte, e dalle variabiliindipendenti scelte. Poiche pero questa fase e intrinsicamente parallela(la valutazione di un individuo non dipende dalla valutazione degli altriindividui), viene spesso implementata in modo da sfruttare la presenzaeventuale di architetture di calcolo parallelo.

Per la fitness si possono scegliere molteplici funzioni; generalmente sitratta di statistiche che pervengono ad una stima dell’errore fra valorimisurati e stimati, quali ad esempio l’errore quadratico medio o la radicedell’errore quadratico medio, l’errore percentuale medio, lo scarto medioassoluto, e cosı via, o anche medie di loro restrizioni temporali (es. mediadelle serie degli errori quadratico medi sulle singole settimane o sul singologiorno).

3.9 Selezione degli individui

La fase di selezione si basa sull’applicazione del principio della “sopravvi-venza del piu adatto” sulle soluzioni candidate, in analogia con la selezionenaturale darwiniana. Esistono molti metodi per implementare la selezione,i piu usati sono:

• Fitness Proportionate o Roulette-wheel : la probabilita che ogni in-dividuo venga selezionato e pari alla sua fitness (normalizzata). E ilmetodo proposto originariamente, ma e stato man mano estromessoa favore di altri tipi di selezione;

• Rank : gli individui vengono ordinati in base alla loro fitness e suc-cessivamente scelti in base alla posizione occupata nella lista; ha ilvantaggio di ridurre il predominio assoluto degli individui dotati difitness particolarmente alte rispetto agli altri, in modo da limitarela possibilita che si diminuisca la bio-diversita e si evolva anticipata-mente verso un soluzione ottima solo localmente; allo stesso tempo,questo metodo esagera la differenza tra due elementi dotati di fitnessmolto simile ma tuttavia differenti nella posizione che hanno assuntonella lista;

• Tournament : un numero prefissato di elementi viene estratto in mo-do casuale tra la popolazione; fra questi, viene scelto quello confitness piu alta; questa e la tecnica di selezione piu utilizzata;

Page 36: Tesi

3.10. VARIAZIONE DEGLI INDIVIDUI 21

• con Elitism: copia semplicemente l’individuo o gli individui migliorinella successiva generazione, mentre per i i rimanenti viene applica-to uno dei tre metodi precedenti; questo permette di aumentare leperformance dell’evoluzione complessiva perche non si rischia mai diperdere le migliori soluzioni trovate fino a quell’istante.

3.10 Variazione degli individui

La variazione o applicazione delle operazioni genetiche agisce sulla strut-tura degli alberi e sui singoli nodi di due o piu individui diversi (genitori)per crearne nuovi (figli), nella speranza che i nuovi individui siano migliori.Questa fase segna il passaggio fra una generazione e la successiva.

3

C. Fitness function

A fitness function provide a measure of how an individual

fits to a particular environment, its also a criterion to select

individuals that will be used to generate a new population.

The fitness function depends on the problem considered and

is provided by the user. Fitness is usually evaluated over a

set of fitness cases. These fitness cases provide a basis for

evaluating the fitness of the trees over a number of different

representative situations sufficiently large. The fitness cases

are often a small finite sample of the entire domain space.

For example we give here some examples of fitness function

which are commonly used for symbolic regression problems:

• Error variance (Mean Square Error, MSE) i.e. the mean

of the squared distances between the expected values ei

and the values oi obtained with the program considered:

MSE =1

n

n!

i=1

(oi ! ei) (4)

• Error standard deviation (Root Mean Square Error,

RMSE):

RMSE =

"##$ 1

n

n!

i=1

(oi ! ei) (5)

Once the elements of the function and terminal set according

to the problem domain have been selected, and when a fitness

function for discriminating good candidate programs from bad

ones has been chosen, then candidates solutions can evolve as

illustrated in Figure 2. In the next part we will describe each

problem independent step of the GP approach.

D. Individuals generation

The initial population is composed of individuals randomly

generated from the elements of the function and terminal sets.

A common initialization algorithm to generate trees in GP is

the ramped half-and-half method [9]. This method generate

trees of different depths (inside an interval specified by the

user) and shapes. The ramped half-and-half produces trees

generated for one half by the grow method and for the second

half by the full method. In the grow algorithm, a tree of

arbitrary depth is generated by selecting terminals or functions

according to a uniform probability distribution. With the full

algorithm a tree of specified depth is generated by selecting

only functions for the nodes till the tree size approaches a

specified depth after which only terminals are selected.

In [11], variants of the grow algorithm are presented which

allow to provide user-defined probabilities of appearance of

functions within the tree.

E. Fitness evaluation

After the generation of a new population, each individual is

evaluated according to the fitness function. Fitness evaluation

is computationally expensive, although it’s highly dependent

of the number of data and variables. To speed up the evaluation

step, several parallel models have been proposed to exploit the

intrinsic parallelism of the evolutionary algorithms: master-

slave with one population, fine-grained or cellular model [6]

and island-model made of several distinct subpopulations or

demes [1][16][19].

F. Selection

The main idea of selection is to apply the survival-of-

the-fittest mechanism by analogies with natural selection on

the candidate solutions. Many selection procedures have been

proposed to serve this idea, like:

• roulette-wheel selection where the probability that an

individual will be select depends on his normalized fitness

value,

• ranking selection which is based on the ranking of the

fitness values of the individuals in the population;

• tournament selection where n individuals with n " 2 arechosen in the population, and the individual whith the

highest fitness value is selected,

• elitism, the main idea of elitism is to copy the best or the

few best individuals in the next generation. Elitism can

increase performance of genetic programming and avoids

to lose the best known solution. The rest of the population

is processed with the selection methods presented above.

G. Variation

Variation or genetic operators act on the structure of the

trees and on the content of the nodes or leaves, by combining

or modifying two or more parental individuals to create new,

possibly better solutions (i.e., offsprings). The goal is to

combine parental traits with the hope to obtain an individual

with an improved fitness. The simplest variation operator in

GP is duplication since it does only an exact copy of an

individual without any change. This operator allows to keep

a copy of some selected individuals in the population during

artificial evolution.

In GP, recombination of two parents individuals is operated

by subtree-crossover. This genetic operator use two individuals

provided by the selection procedure. The crossover operation

starts with two parental trees and produces two offsprings.

Fig. 4. Subtree crossoverFigura 3.3: Esempio di crossover fra individui

Esistono principalmente tre variazioni possibili; generalmente viene ap-plicato un mix dei tre, magari scegliendoli di volta in volta con probabilitastabilite a priori:

• duplicazione: effettua semplicemente una copia di un individuo esi-stente della generazione attuale nella popolazione della nuova gene-

Page 37: Tesi

22 CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING

4

The operation begins by independently selecting one ran-

dom point in each parent, using a uniform probability distri-

bution. Finally we swap the subtrees rooted to the point chosen

before. This mechanism is illustrated in Figure 4.

While recombination operates on two parental individuals,

mutation change locally a single individual. For the one

point-mutation an individual is chosen from the population

according to the selection algorithm. The mutation operation

begins by selecting a point at random within the tree, then the

mutation operation replace the function or the terminal node

with the same type of element. This operation is useful to

introduce diversity without modify the shape of the tree.

Fig. 5. One point mutation

There are many variations of mutation and crossover [4][13]

available in the litterature. The probability rate to use crossover

for variation is currently higher than for mutation since it is

believed the crossover operator allow a quicker convergence

than mutation but importance of crossover versus mutation is

still an open debate.

The steps fitness evaluation, selection and variation are

repeated either until to obtain an ideal solution or until to

reach a number of cycle called generation.

IV. EXPERIMENTAL PROCEDURE

We calculate the stiffness values for our training set with

the SKF bearing beacon software. Bearing beacon allows the

modelling in a 3D graphic environment of generic mechanical

systems like gear boxes with a precise bearing model for

an in-depth analysis of the system behaviour in a virtual

environment. More details on this product can be found on

the web at http://www.skf.com/portal/skf/home/products.

We transform the raw stiffness matrixes provided by the

software in three training sets. Each of them is composed of

1201 fitness cases corresponding to all combinations of the

integer values taken in the interval [0, 1000] by step of 20assigned to each combination of input’s variables Fr, Fz and

the output associated with one element of the stiffness matrix

diagonal. The fitness function computes the error standard

deviation on the training set i.e. the root of the mean of

the squared distances between the desired values and those

obtained with the program considered (cf. Equation 5).

Figure 6 shows the surface to approximate for the first

element on the stiffness matrix diagonal (force component on

axe x) in a tridimensional view and in a X-Z and Y-Z plane

view. Figures related to the two others element to approximate

can be found in Appendix I.

We indicate functions and terminals set for each problem

in Table I. Ephemeral Random Constants are integer values

randomly chosen in the interval [0, 10]. For our experiments

TABLE I

TERMINALS AND FUNCTIONS SET

Terminals set Functions set

Fr, Fz , 0, 0.1, 1, ERC +, !, /, "

we used our own Genetic Programming API developed with

the Java language. This API is based on a plugin architecture

where each step of the GP process described in section

III is implemented in a plugin. All standard algorithm for

tree generation, fitness evaluation, selection and variation are

provided. Moreover this API is based on a strongly typed GP

approach [14] in order to reduce the search space.

The parameters common to all GP runs are summarized in

the Table II.

TABLE II

PARAMETER SETTINGS

Parameter Setting

Population size 2000Initialization method Ramped Half-and-HalfInitialization depths 2-5 levelsMaximum depth for trees 7Selection Tournament of size 7Elitism 2Internal node bias for crossover 90% internals, 10% terminalsDuplication rate 5%Crossover rate 85%Mutation rate 10%Number of runs 100

Each test is the result of 100 independent executions. Each

execution started with a different seed for the random number

generator.

We ran all simulations using a machine architecture based

on a processor Intel Centrino Duo T5600 1.83 GHz with 1

GB of RAM.

V. RESULTS

To assess the results obtained by the formulas found by GP,

we focus on the following metrics:

• Standard deviation error or RMSE, it is also the fitness

function which evaluates the candidates solution, it quan-

tifies the difference between the exptected values and the

response predicted by the model and is used to determine

whether the model fit or not the data.

• Correlation coefficient indicates the strength and direction

of a linear relationship between two random variables.

We report in Table III the results for the stiffness approxima-

tion of each element of the stiffness matrix diagonal.

To gain further insights into the quality of the solutions, in

particular regarding the dispersion along the regression line,

Figura 3.4: Esempio di mutazione di nodo

razione; e un analogo della selezione con elitism; la duplicazione hal’effetto di dare un impulso alla convergenza;

• crossover (vedi figura 3.3): e l’operatore principe della GP, e di granlunga quello piu usato; il crossover lavora scambiando due sotto-alberi degli individui genitori per creare due individui figli; il nodo ra-dice di ognuno dei due sotto-alberi da “staccare” viene scelto con pro-babilita uniforme indipendentemente per ognuno dei due individui;l’operazione di crossover tende a preservare la bio-diversita;

• mutazione di singolo nodo (vedi figura 3.4): questo operatore lavorasu un solo albero alla volta, e consiste semplicemente nel cambiareun nodo selezionato casualmente all’intero dell’albero con un nuovonodo dello stesso tipo (funzionale se il nodo originale era funziona-le, terminale se il nodo originale era terminale); questo operatoreintroduce bio-diversita senza alterare la forma degli alberi;

• mutazione di Koza: questo operatore analogamente al precedenteseleziona un singolo individuo genitore, sceglie in modo casuale unsuo nodo, che poi viene sostituito con un intero nuovo sotto-albero,generato all’istante, analogamente a quanto fatto nella fase della

Page 38: Tesi

3.11. TERMINAZIONE E SCELTA DELL’INDIVIDUO MIGLIORE 23

creazione della popolazione iniziale; anche questo operatore tende aintrodurre bio-diversita.

Si noti che crossover e mutazione di Koza potrebbero generare individuidi profondita superiore a quella massima impostata in fase di creazionedella popolazione iniziale. Generalmente si sceglie di tenere conto dellaprofondita massima impostata inizialmente anche nelle fasi successive, equindi si applicano opportuni accorgimenti per assicurarsi che essa nonvenga mai superata (troncamento dell’albero, in genere).

Ad oggi rimane aperta la questione se l’evoluzione del sistema vengainfluenzata maggiormente dal crossover o dalle mutazioni, benche moltipropendano per una maggiore importanza del crossover.

3.11 Terminazione e scelta dell’individuo miglio-re

La terminazione di un ciclo evolutivo di GP puo avvenire con vari crite-ri; i tre piu comuni sono: impostare un numero massimo di generazioni,impostare un timeout temporale di elaborazione, e impostare una fitnessobiettivo, per la quale l’elaborazione si interrompe quando un individuomostra una fitness migliore di quest’ultima. E anche possibile impostareuna combinazione di questi tre criteri.

Al termine dell’evoluzione viene selezionato l’individuo appartenenteall’ultima generazione che possiede la fitness migliore. Questo individuorappresenta il risultato del processo evolutivo.

Page 39: Tesi
Page 40: Tesi

Capitolo 4

Evolutionary Design

4.1 Evolutionary Design

Evolutionary Design (ED) e un framework realizzato in linguaggio Javache mette a disposizione un’implementazione espandibile di un kernel perla soluzione di problemi di regressione simbolica tramite Genetic Program-ming. La GP e quindi ED ben si prestano a realizzare stimatori predittividi questo tipo perche non richiedono di avere una conoscenza a priori dicome si combinano nella realta i vari fattori in gioco per ottenere unostimatore dalle buone performance.

Il software, oltre a fornire un’interfaccia semplice per la configurazione(basata su di un file XML) e l’esecuzione di processi GP, e dotato diun insieme ben strutturato di file di log che vengono registrati durantel’esecuzione e riportano informazioni dettagliate sull’evoluzione svolta.

Il framework presenta un’architettura di tipo modulare basata sull’ideadi plugin ed e dunque facilmente espandibile.

Le sue principali caratteristiche sono:

• rappresenta gli individui/formule mediante alberi di sintassi astrat-ta;

• implementa le funzionalita necessarie per trattare problemi di re-gressione simbolica di serie temporali;

25

Page 41: Tesi

26 CAPITOLO 4. EVOLUTIONARY DESIGN

• lavora suddividendo il dataset di input con le variabili indipendentinei due intervalli di training set e validation set, per permettere lavalidazione incrociata dei risultati ottenuti;

• fornisce come nodi di tipo funzionale operatori matematici, funzionitrigonometriche e trascendentali, comparatori, operatori booleani eoperatori di branch-and-bound;

• fornisce come nodi di tipo terminale l’accesso a costanti, ERC1 (for-nite nel file di configurazione XML), e variabili indipendenti (fornitesotto forma di colonne di un file CSV di input); il tipo di ognuna diqueste puo essere booleano o floating point (double);

• le parti di valutazione e costruzione degli alberi seguono un approc-cio strongly-typed : gli alberi vengono costruiti solo se i nodi terminalicoinvolti dai nodi funzionali presentano lo stesso tipo (le funzione tri-gonometriche accettano solo double, i comparatori accettano o dou-ble o booleani e ritornano sempre booleani, . . . ); questo permette diridurre sensibilmente lo spazio delle soluzioni possibili e velocizzarela convergenza;

• fornisce, per quanto riguarda le strategie di creazione della popola-zione iniziale, gli algoritmi di selezione e gli algoritmi di variazione,tutti quelli descritti nel capitolo precedente;

• fornisce moltissime funzioni di fitness gia implementate.

Come si e detto ED e realizzato secondo un’architettura modulare. Ilcodice e distribuito in vari plugin al fine di ottenere un’indipendenza nettatra la parte del core e le parti implementate nei moduli. Esistono 8 tipidifferenti di plugin, ognuno dei quali si preoccupa di una parte del processoevolutivo: tra gli altri, plugin per la creazione della popolazione iniziane,plugin per la variazione, plugin per la selezione, plugin per le singole fitness(i plugin che definiscono le funzioni di fitness in ED vengono detti objectiveplugin), e cosı via.

1Si ricordi, come detto nel capitolo 3, che le ERC sono valori scelti casualmenteall’inizio dell’esecuzione della GP e che restano poi costanti per tutta l’evoluzione

Page 42: Tesi

4.2. EVOLUTIONARY DESIGN: REGRESSIONE SIMBOLICA 27

4.2 Evolutionary Design: regressione simbolica

Giova descrivere piu in dettaglio il funzionamento di ED, dal punto divista della regressione simbolica di serie temporali.

Nei problemi di regressione simbolica di serie temporali si ha in inputuna sequenza di valori osservati per una certa grandezza:

θ = θ1, θ2, θ3, . . . , θn

che e la variabile dipendente (con valori osservati della variabile dipenden-te) sotto esame. Si hanno poi altre sequenze (piu lunghe) di altre variabiliche si ritiene influenzino l’andamento della θ:

α = α1, α2, α3, . . . , αn, αn+1, . . . , αn+k

β = β1, β2, β3, . . . , βn, βn+1, . . . , βn+k

γ = γ1, γ2, γ3, . . . , γn, γn+1, . . . , γn+k...

che vengono dette variabili indipendenti.Con la regressione simbolica si vuole trovare una funzione f che per-

metta di ottenere θ anche per valori successivi a θn, in funzione dellevariabili indipendenti α, β, γ, . . .:

θ = f(α, β, γ, . . .).

Abbiamo indicato la nuova θ con un “cappellino” (θ) per rimarcare chela f sara una funzione approssimante, e che quindi i valori da θ a θne quelli da ˆθn+1, detti valori stimati della variabile dipendente, sarannoovviamente diversi da quelli originali misurati (ma di poco, se la f e unbuon stimatore).

Di f alla fine si otterra l’albero di sintassi astratta che la descrive.

4.3 Evolutionary Design: backshift

E spesso utile considerare, nel calcolo della funzione di regressione, nonsolo le serie di variabili indipendenti sincrone alla variabile dipendente, maanche magari serie di valori delle variabili indipendenti posticipate rispetto

Page 43: Tesi

28 CAPITOLO 4. EVOLUTIONARY DESIGN

alla variabile dipendente: ad esempio, l’umidita dell’aria attuale—la sisupponga variabile dipendente—dipende non solo dalla temperatura—lavariabile indipendente—attuale, ma anche dall’avvicinarsi o meno di unfronte, che si puo rilevare guardando alla temperatura dell’ora precedenteo di due ore prima.

I sistemi di calcolo per regressioni simboliche di serie temporali, quin-di, offrono solitamente l’opportunita di usare come variabili indipendentianche serie ritardate delle stesse, che vengono dette serie con backshift.

Addirittura, spesso si ha che la variabile dipendente e influenzata, oltreche dalla variabili indipendenti o loro valori precedenti, anche dai suoistessi valori passati2: sempre nell’esempio, si puo pensare che l’umiditaattuale abbia una certa dipendenza anche dall’umidita dell’ora precedente.Anche in questo caso si ha backshift e si noti che cosı facendo la serieritardata della variabile dipendente diventa a tutti gli effetti una nuovavariabile indipendente.

Si ha insomma che lo stimatore si puo pensare cosı fatto:

θ(t) =f(α(t), β(t), γ(t), . . . ,

α(t− i), α(t− j), . . . ,β(t−m), β(t− n), . . . ,

γ(t− o), γ(t− p), . . . ,θ(t− q), θ(t− r), . . .).

ED ovviamente supporta la gestione del backshift3 ed essa e stata sem-pre usata in questo lavoro nell’opera di ricerca dei uno stimatore simbo-lico per i consumi e i prezzi dell’elettricita in California o a New York,perche, come si vedra, le serie di consumi e prezzi mostrano evidenteautocorrelazione.

2La variabile dipendente ha cioe una alta autocorrelazione dei suoi valori.3Una curiosita: quando ED si trova a gestire i backshift, sia quelli di variabile in-

dipendente che a maggior ragione quelli per la variabile dipendente, duplica la serieoriginale e crea un’intera nuova variabile indipendente che ha come valori la serie ori-ginale ritardata dell’opportuno ritardo/valore di backshift; quindi in ED si puo direletteralmente che un backshift introduce sempre una nuova variabile indipendente.

Page 44: Tesi

4.4. EVOLUTIONARY DESIGN: TERMINOLOGIA 29

4.4 Evolutionary Design: terminologia

Si descrivono ora alcuni termini che verranno usati nel prosieguo.Ci si riferisce ad una singola esecuzione di ED con il nome di run.Ogni run comprende un numero fissato N di job, ognuno dei quali e

una singola sequenza evolutiva, del tutto indipendente dalle altre; ogni jobe configurato alla medesima maniera degli altri, ma la popolazione di indi-vidui iniziali di ogni job viene ogni volta generata casualmente utilizzandoun seed univoco. Il seed di ogni job puo essere scelto in maniera casua-le, oppure fissato in partenza; quest’ultima scelta e opportuna in quantoin questo modo il run diventa deterministico e puo essere rieseguito perottenere gli stessi identici risultati nel caso ce ne fosse la necessita4.

Alla fine dell’esecuzione, per ogni job si ottiene un individuo migliore,che e quello che all’ultima generazione del job possiede il migliore indice difitness cosı come calcolato dalla funzione di fitness impostata. A questopunto, fra gli individui migliori di ogni job, e generalmente necessario se-lezionarne uno mediante una qualche metrica; per questo lavoro si e sceltosempre quello che fra tutti minimizzasse l’indice della fitness calcolata sulsolo validation set.

Si noti che ED supporta nativamente l’elaborazione parallela all’inter-no di un run; infatti ogni job e indipendente dagli altri, quindi l’elabora-zione e parallelizzabile sui job; questo fatto e stato sfruttato a fondo inquesto lavoro perche le esecuzioni sono state condotte su macchine multi-core (8 core o 4 core), cosa che ha permesso di ridurre significativamenteil tempo di attesa totale.

4.5 Evolutionary Design: configurazione

La configurazione di ED avviene tramite un unico file XML che specificatutti i parametri necessari ad un run.

Vanno indicati in questo file XML:

• il numero di job voluti;

4In ED se si sceglie di usare un seed fissato, si fornisce in realta un seed inizialeche poi viene incrementato di un delta per ognuno dei job che vengono istanziati. Nelnostro caso il seed iniziale e 190000000, il delta e 1000 e quindi i seed dei job andrannoda 190000000 a 190000000+N*1000.

Page 45: Tesi

30 CAPITOLO 4. EVOLUTIONARY DESIGN

• se generare casualmente i seed dei job o usarne degli assegnati;

• il numero di individui della popolazione iniziale;

• la funzione di fitness da utilizzare;

• un file CSV con le variabili indipendenti e la serie storica della va-riabile dipendente di cui si vuole costruire lo stimatore (il dataset diinput);

• l’indicazione degli intervalli di record nel file CSV da considerarecome training set e quelli da considerare come validation set ;

• le costanti, le ERC e il sottoinsieme delle variabili indipendenti(con eventuali backshift) prese del file CSV da utilizzare come noditerminali;

• la colonna del file CSV che rappresenta la variabile dipendente dastimare;

• gli eventuali backshift della variabile dipendente;

• le operazioni matematiche che possono essere utilizzate come nodinon terminali;

• il numero di generazioni massimo da permettere in ogni job e ladurata massima (in secondi) di ogni job, come criterio per termina-re l’elaborazione nel caso non si raggiunga mai la fitness massimaall’interno della sequenza evolutiva;

• la strategia evolutiva da seguire;

• la strategia per la valutazione degli individui.

4.6 Evolutionary Design: strategie per la valuta-zione

Fra i parametri indicati nell’elenco sopra appare una strategia per la va-lutazione degli individui che non appartiene propriamente alla Genetic

Page 46: Tesi

4.7. DAESCALAREVALUATION 31

Programming ma deriva da una scelta architetturale fatta in EDper au-mentarne la flessibilita.

Infatti, la parte computazionalmente preponderante in una evoluzionedi GP e la fase di valutazione della fitness sugli individui. Poiche pero levariabili indipendenti con i loro backshift non sono mai modificate dallaprocedura, ne lo e la serie di valori osservati per la variabile dipendente(con i suoi backshift), e le valutazioni della fitness per i diversi individuicome detto sono assolutamente slegate, e generalmente possibile portareavanti la fase di valutazione in maniera parallela sui vari individui. Per talemotivo in ED il plugin standard di strategia per la valutazione degli indi-vidui, detto VectorizedEvaluation, opera in modo parallelo ed accede allevariabili indipendenti senza particolari accorgimenti di sincronizzazione.

In alternativa, ED fornisce una ScalarEvaluation che valuta gli indi-vidui in maniera strettamente serializzata (al costo di un’esplosione deitempi di calcolo), nel caso ci sia necessita di usare questo approccio. Sinoti che in entrambi i casi il risultato dell’evoluzione e uguale, a parte ladifferenza nei tempi di calcolo.

La strategia generalmente utilizzata per le prove di questa ricerca eovviamente la VectorizedEvaluation. La ScalarEvaluation e stata utiliz-zata in un solo caso mediante una sua sottoclasse, DAEScalarEvaluation,che e stata creata per l’occasione, e che si descrive nel prossimo punto.

4.7 DAEScalarEvaluation

Durante la ricerca di uno stimatore per il mercato Day-Ahead per i con-sumi dello Stato della California, i primi risultati sono stati generalmentepeggiori rispetto a quelli ottenuti nel caso del mercato Hour-Ahead.

Ci si e allora chiesto se si poteva utilizzare, nella fase di valutazionedi ogni individuo, al fine di migliorare gli stimatori ottenuti, una stimadell’errore in cui ogni individuo e in corso per la giornata immediatamenteprecedente a quella cui appartiene l’istante corrente di valutazione5.

5Si noti infatti che nella stima del mercato Day-Ahead, le cui aste si chiudono ungiorno prima dell’istante in cui l’energia elettrica battuta dovra essere fornita o con-sumata, non si puo considerare fra i backshift della variabile dipendente ore posterioriall’ora corrispondente alla stessa ora del giorno precedente—detto in altro modo, sonoillegali backshift inferiori (in valore assoluto) al backshift −24.

Page 47: Tesi

32 CAPITOLO 4. EVOLUTIONARY DESIGN

Cio che si vorrebbe, cioe, e che lo stimatore possa assumere una nuovavariabile indipendente e assumere quindi questa forma:

θ(t) =f(α(t), β(t), γ(t), . . . ,

α(t− i), α(t− j), . . . ,β(t−m), β(t− n), . . . ,

γ(t− o), γ(t− p), . . . ,θ(t− q), θ(t− r), . . . ,e(θ, θ))

con e(θ, θ) una qualunque rappresentazione dell’errore commesso nellastima di θ per il giorno precedente.

ED non supporta direttamente l’uso come variabili indipendenti di va-lori della variabile dipendente stimati per gli istanti precedenti (non sup-porta l’uso diretto di θ), ne tanto meno valori derivati da essi (ovvero cioche si vuole fare con la e(θ, θ)). Il problema e stato risolto sviluppando unanuova strategia di valutazione, chiamata appunto DAEScalarEvaluation.

DAEScalarEvaluation introduce fra le variabili indipendenti il calcolodi un errore di stima (DAE, da Daily Absolute Error) cosı definito:

DAE[t+ 1, . . . , t+ 24] =1

24

t∑

i=t−23(θ(i)− θ(i))

dove t e l’istante attuale, θ(t) e il valore stimato della variabile dipendenteper l’istante attuale e θ(t) il valore misurato per l’istante attuale dellavariabile dipendente. Tale calcolo deve essere applicato in corrispondenzadei t relativi all’ultima ora di ogni giornata, dopo aver calcolato la relativaθ(t), e fornisce appunto la stima dell’errore che lo stimatore ha compiutosui valori della giornata precedente.

DAEScalarEvaluation funziona nel seguente modo. Bisogna innanzi-tutto creare un nuovo campo nel file CSV del dataset di input, campoche deve chiamarsi obbligatoriamente DAE; i valori presenti nel file CSVper la colonna DAE possono essere qualunque (verranno sovrascritti inmemoria in fase di calcolo della fitness di ogni individuo; si consiglia diusare 0.0). E quindi necessario configurare ED per riconoscere la colonna

Page 48: Tesi

4.7. DAESCALAREVALUATION 33

DAE come variabile indipendente, e configurare come strategia di valuta-zione “DAEScalarEvaluation”. Deve inoltre essere presente fra le variabiliindipendenti un campo di nome HOUR, che assuma valori da 1 a 24 incorrispondenza delle corrispondenti ore dei vari giorni del dataset.

A questo punto, durante il calcolo della fitness, la DAEScalarEvalua-tion oltre ad effettuare tutti i calcoli gia effettuati dalla ScalarEvaluation,si preoccupera di riempire man mano i valori della variabile indipendenteDAE applicando la formula della media DAE definita sopra. Le stimeper i successivi istanti temporali potranno allora utilizzare la variabileindipendente DAE con i valori appena calcolati6.

Si capisce quindi il motivo per cui e stato necessario derivare questanuova strategia di valutazione dalla ScalarEvaluation: bisogna essere sicuriche la variabile indipendente DAE (che nel codice di ED e globale cometutte le altre variabili indipendenti, poiche sempre accedute in sola lettura)venga utilizzata solo da un individuo alla volta: bisogna cioe serializzare icalcoli delle fitness dei vari individui della popolazione di ogni job.

La DAEScalarEvaluation, derivando dalla ScalarEvaluation, provocaanch’essa un’esplosione dei tempi di calcolo, nell’ordine, per la prova incui e stata utilizzata, di ben 15 volte.

6L’algoritmo implementato e: ad ogni calcolo del valore stimato della variabile dipen-dente, se l’ora attuale e pari a 24, calcola la media dell’errore assoluto fra valori stimatie misurati sull’istante attuale e i 23 istanti (ore) precedenti; poi copia la media calcolatanei 24 slot successivi della variabile indipendente DAE, pronti per essere utilizzati neicalcoli di stima dei successivi 24 istanti. Si noti anche che i primi 24 valori da DAEnon verranno mai riempiti; si e supposto semplicemente che questo non introducesse ungrosso errore nella computazione.

Page 49: Tesi
Page 50: Tesi

Capitolo 5

Analisi statistiche suidataset

5.1 Introduzione

Prima di iniziare a costruire stimatori predittivi per serie temporali, espesso opportuno effettuare delle semplici analisi statistiche dei dati di-sponibili, al fine di individuare o confermare i trend all’interno delle seriein esame.

In questo capitolo si descrivono brevemente le analisi statistiche ed igrafici realizzati sulla base di queste ultime realizzate al fine di compren-dere meglio i dati che ci si apprestava a stimare utilizzando la GeneticProgramming.

Per ognuna delle due serie temporali trattate per il dataset-C (consumie prezzi) si mostra il grafico della densita di probabilita della distribuzione,nonche alcuni grafici di autocorrelazione. Analogamente si mostrano igrafici della densita di probabilita e dell’autocorrelazione per il carico neldataset-N; in questo caso, pero, stante l’assoluta uguaglianza qualitativadei grafici estratti dai due intervalli temporali presi in considerazione, simostrano i grafici del solo intervallo 1 Luglio 2003 - 31 Luglio 2004.

35

Page 51: Tesi

36 CAPITOLO 5. ANALISI STATISTICHE SUI DATASET

5.2 La funzione di densita di probabilita

La funzione di densita di probabilita per una variabile aleatoria conti-nua descrive la probabilita relativa che la variabile aleatoria assuma undeterminato valore.

Si dice che una variabile aleatoria continua X ha una funzione didensita di probabilita f , se viene soddisfatta la relazione

P [a ≤ X ≤ b] =

∫ b

af(x) dx.

E necessario che f deve essere una funzione non negativa integrabile se-condo Lebesgue. La dicitura P [a ≤ X ≤ b] indica la probabilita che lavariabile aleatoria realizzi un valore compreso nell’intervallo fra a e b.

La funzione di densita di probabilita ha l’importante proprieta di valereidenticamente 1 se calcolata sull’intero intervallo dei valori possibili per lavariabile aleatoria: ∫ +∞

−∞f(x) dx = 1.

Vista sotto un altro modo, questa proprieta conferma che l’espressio-ne f(x) dx rappresenta la probabilita che la variabile aleatoria X cadanell’intervallo [x, x+ dx[.

Nell’ambiente di calcolo statistico R e possibile creare la stima dellafunzione di densita di probabilita per una qualunque serie di valori tramitela funzione density del package stats, che e stata utilizzata per creare igrafici di densita di probabilita mostrati in seguito.

5.3 La funzione di autocorrelazione

La funzione di autocorrelazione rappresenta la correlazione fra i valori diun processo stocastico in istanti differenti dell’evoluzione dello stesso, sottoforma di funzione dei due istanti.

Se Xt e la realizzazione del processo stocastico considerato all’istantet, e µt e σ2t sono le media e varianza rispettive (si suppone che i duevalori siano calcolabili per ogni t), allora la funzione di autocorrelazione

Page 52: Tesi

5.3. LA FUNZIONE DI AUTOCORRELAZIONE 37

del processo fra due istanti qualunque p e q e:

R(p, q) =E[(Xp − µp)(Xq − µq)]

σpσq

con E che rappresenta l’operatore di speranza matematica.Se il processo e stazionario in senso debole (o se lo si vuole assumere

tale), cioe la sua media e la sua varianza non cambiano rispetto al tempo,l’autocorrelazione risulta essere dipendente solo dalla differenza fra i dueistanti di tempo scelti e quindi si puo scrivere come:

R(τ) =E[(Xt − µ)(Xt+τ − µ)]

σ2

con τ = q − p, appunto, la differenza fra i due istanti di tempo (ritardo)e µ e σ2 la media e la varianza ora costanti del processo; in questo casola funzione di autocorrelazione ha la proprieta di essere una funzione pari(si ha R(τ) = R(−τ)).

La funzione di autocorrelazione in entrambi i casi assume sempre unvalore compreso fra −1 e 1, con −1 che indica perfetta anticorrelazionefra i due istanti (o per la differenza di istanti) e 1 perfetta correlazione.

Per p = q (o analogamente per τ = 0 se vale l’ipotesi di processo stazio-nario in senso debole) la funzione di autocorrelazione vale identicamente1.

E da notare che quando si calcola la funzione di autocorrelazione diuna serie finita di dati, non ha generalmente senso andare a calcolare ivalori per un ritardo superiore ad un terzo della lunghezza della serie;sperimentalmente infatti si nota che se si supera questo limite la funzionedi autocorrelazione “soffre” per la mancanza di dati su cui lavorare e irisultati diventano non corretti. Per tale motivo nessuno dei grafici se-guenti supera come ritardo il valore di 4 mesi (ovvero 13 settimane), paria 13 ∗ 168 = 2184 ore/campioni.

In R esiste la funzione acf del package stats il cui scopo e proprioquello di calcolare la funzione di autocorrelazione su di una serie di valori;e questa funzione che ha prodotto i dati per i grafici riportati sotto.

Page 53: Tesi

38 CAPITOLO 5. ANALISI STATISTICHE SUI DATASET

5.4 Dataset-C: carico

Il grafico della densita di probabilita per il carico del dataset-C (campoQASYS nel file CSV) ha l’andamento visibile in figura 5.1.

0

1e-05

2e-05

3e-05

4e-05

5e-05

6e-05

7e-05

8e-05

9e-05

0.0001

15000 20000 25000 30000 35000 40000 45000 50000

Pro

bab

ilit

a

Carico [MW]

Figura 5.1: California: densita di probabilita del carico

Come si e potuto scoprire utilizzando R, il grafico possiede due picchi,il primo in un intorno del carico pari a circa 20000 MW, il secondo in unintorno di circa 28000 MW: questi due picchi corrispondono rispettiva-mente ai consumi nelle giornate di sabato, domenica e Festivi, e a quellidi un giorno feriale qualunque.

Piu interessanti sono i grafici della funzione di autocorrelazione.

In figura 5.2 si puo osservare il grafico di autocorrelazione del carico perle ore della giornata. Come si nota, l’autocorrelazione parte da 1 quandosi ha ritardo pari a 0 (i due segnali sono perfettamente coincidenti), quindiinizia a decrescere e in prossimita del ritardo pari a 7/8 ore l’autocorre-lazione diventa negativa (ovvero si ha anticorrelazione); l’anticorrelazioneraggiunge il suo massimo in prossimita di un ritardo pari a meta giornata(ritardo 12/13 ore); si puo notare comunque che la massima anticorrelazio-ne in valore assoluto e minore della massima correlazione. Da lı riprendea crescere, risalendo sopra lo zero verso i tre quarti della giornata (ritardo16/17 ore) e arrivando infine nuovamente ad alti valori di correlazione in

Page 54: Tesi

5.4. DATASET-C: CARICO 39

-1

-0.5

0

0.5

1

0 5 10 15 20

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.2: Dataset-C: autocorrelazione del carico su un giorno

corrispondenza del ritardo pari ad un’intera giornata (24 ore). La spie-gazione di questo comportamento e facilmente intuibile: quale che sia ilgenerico istante preso in considerazione, il carico tende ad essere simileper gli istanti vicini, ma differente via via che il ritardo aumenta, fino arisultare massimamente incorrelato dopo 12 ore e ritornare invece simileman mano che ci si avvicina allo stesso istante del giorno successivo; similema non uguale, perche ad esempio il giorno successivo potrebbe essere ungiorno festivo quando quello iniziale era un giorno feriale (o viceversa).Detto altrimenti, il consumo delle ore 4 pomeridiane e simile a quello delleore 5 o delle ore 6 pomeridiane, e anche a quello delle ore 4 pomeridianedel giorno successivo—ma un po’ meno, perche si tratta di giorni differentie magari di tipo differente—mentre comunque rimane poco correlato conquello delle ore 4 antimeridiane.

In figura 5.3 e mostrato il grafico di autocorrelazione per il periodo diuna settimana. Esso, oltre a mostrare ripetutamente l’andamento giorna-liero, mostra un comportamento globale settimanale tale per cui giornatevicine hanno valori simili di carico, somiglianza che si attenua per gior-nate distanti 4/5 giorni, per poi risalire verso un massimo—minore diquello iniziale—verso l’inizio della settimana successiva. La sella in corri-spondenza del ritardo per 4/5 giorni si spiega proprio perche comparare

Page 55: Tesi

40 CAPITOLO 5. ANALISI STATISTICHE SUI DATASET

-1

-0.5

0

0.5

1

0 20 40 60 80 100 120 140 160 180

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.3: Dataset-C: autocorrelazione del carico su una settimana

giornate distanti 4 o 5 giorni significa comparare, per esempio, un lunedıcon un venerdı (che hanno consumi tendenzialmente simili) ma anche unmercoledı con un sabato o una domenica (consumi differenti); mentre l’al-ta autocorrelazione per distanze di 1/2 giorni si spiega col fatto che conquesta differenza si confrontano sempre giorni molto vicini (un mercoledıe un giovedı, o un sabato e una domenica), e sempre la (relativa) alta cor-relazione per 6/7 giorni si spiega col fatto che cosı si finisce col sceglieresempre lo stesso giorno della settimana in due settimane consecutive, oal piu un giorno della settimana con il giorno precedente della successivasettimana (un giovedı con il mercoledı della settimana successiva).

In figura 5.4 e mostrato il grafico di autocorrelazione per il periodo diun mese. Esso ripresenta gli andamenti giornalieri e settimanali visti inprecedenza, e mostra come man mano che il ritardo aumenta l’autocor-relazione decresce: qui si inizia a notare l’andamento sul lungo periodo(variazioni del consumo dovute all’alternarsi delle stagioni.)

In figura 5.5 infine e mostrato il grafico di autocorrelazione su quattromesi: si nota maggiormente l’andamento decrescente sul lungo periododovuto all’alternarsi delle stagioni.

Page 56: Tesi

5.5. DATASET-C: PREZZI 41

-1

-0.5

0

0.5

1

0 100 200 300 400 500 600 700

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.4: Dataset-C: autocorrelazione del carico su un mese

-1

-0.5

0

0.5

1

0 500 1000 1500 2000

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.5: Dataset-C: autocorrelazione del carico su quattro mesi

5.5 Dataset-C: prezzi

Il grafico della densita di probabilita per i prezzi del dataset-C (campoPPXSYS nel file CSV) ha l’andamento visibile in figura 5.6.

Page 57: Tesi

42 CAPITOLO 5. ANALISI STATISTICHE SUI DATASET

0

0.01

0.02

0.03

0.04

0.05

0.06

0 20 40 60 80 100 120 140 160 180 200

Pro

bab

ilit

a

Prezzo [$/MWh]

Figura 5.6: Dataset-C: densita di probabilita dei prezzi

Al contrario del grafico di densita per i consumi, qui si ha un solo pic-co attorno a circa 35 $/MWh, corrispondente al prezzo medio dell’annopreso in considerazione (a tal proposito si noti che il grafico e stato arti-ficialmente tagliato a 200 $/MWh per rendere meglio leggibile la zona dimaggiore probabilita).

Anche per i prezzi risultano piu interessanti i grafici di autocorrelazio-ne.

In figura 5.7 si puo osservare il grafico di autocorrelazione dei prez-zi per le ore di un giorno. L’andamento e simile al rispettivo grafico diautocorrelazione per il consumo; si nota pero che non si cade mai in anti-correlazione: cio indica che comunque le variazioni del prezzo sono minoririspetto a quelle dei carichi.

In figura 5.8 e mostrato il grafico di autocorrelazione per i prezzi suuna settimana. Sulla settimana si puo notare in generale che i prezzisono correlati solo per i primi tre giorni, dopodiche l’autocorrelazione siabbassa.

In figura 5.9 e mostrato il grafico di autocorrelazione per i prezzi su unmese, e in figura 5.10 e mostrato quello su un quattro mesi. Da questi gra-fici, a parte l’andamento decrescente sul lungo periodo, comune peraltroad ogni grafico di autocorrelazione, non si possono ricavare ipotesi come

Page 58: Tesi

5.5. DATASET-C: PREZZI 43

-1

-0.5

0

0.5

1

0 5 10 15 20

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.7: Dataset-C: autocorrelazione dei prezzi su un giorno

-1

-0.5

0

0.5

1

0 20 40 60 80 100 120 140 160 180

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.8: Dataset-C: autocorrelazione dei prezzi sulla settimana

per i grafici dei consumi principalmente per l’alto numero di variabili eso-gene che condizionano i prezzi dell’elettricita: il prezzo infatti non dipendesolo dai consumi ma anche da fattori come i prezzi delle materie prime eda speculazioni finanziarie.

Page 59: Tesi

44 CAPITOLO 5. ANALISI STATISTICHE SUI DATASET

-1

-0.5

0

0.5

1

0 100 200 300 400 500 600 700

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.9: Dataset-C: autocorrelazione dei prezzi su un mese

-1

-0.5

0

0.5

1

0 500 1000 1500 2000

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.10: Dataset-C: autocorrelazione dei prezzi su quattro mesi

5.6 Dataset-N: carico

Il grafico della densita di probabilita per il carico del dataset-N, relativoall’intervallo temporale 1 Luglio 2003 - 31 Luglio 2004 (campo ACTUAL

Page 60: Tesi

5.6. DATASET-N: CARICO 45

nel file CSV) ha l’andamento visibile in figura 5.11.

0

5e-05

0.0001

0.00015

0.0002

0.00025

0.0003

3000 4000 5000 6000 7000 8000 9000 10000 11000

Pro

bab

ilit

a

Carico [MW]

Figura 5.11: Dataset-N: densita di probabilita del carico

Al contrario del grafico dei consumi per la California, quello della cittadi New York presenta due picchi per i casi Feriale e Festivo o Weekend piucompatti: il primo e in corrispondenza di circa 6200 MW, il secondo a circa5400 MW. La differenza e probabilmente dovuta proprio all’estensionedifferente della misura (un intero stato contro una sola citta) e a differenzesocioeconomiche derivate (assenza di grosse industrie e presenza di soloterziario, oltre ai consumi domestici piu preponderanti).

In figura 5.12 si puo osservare il grafico di autocorrelazione dei consumia New York per le ore di un giorno. L’andamento e simile al rispettivografico corrispondente californiano; l’anticorrelazione dopo meta giorna-ta e molto ridotta, e in questo forse si puo leggere la caratteristica di“citta che non dorme mai” di New York. Valgono per il resto le stesseconsiderazioni effettuate nel caso californiano.

In figura 5.13, figura 5.14 e figura 5.15 sono mostrati i grafici di auto-correlazione per il carico della citta di New York per il periodo rispetti-vamente di una settimana, un mese e quattro mesi. Come si puo notare,sono qualitativamente identici al caso dei consumi californiani e per essivalgono le stesse considerazioni elaborate in precedenza.

Page 61: Tesi

46 CAPITOLO 5. ANALISI STATISTICHE SUI DATASET

-1

-0.5

0

0.5

1

0 5 10 15 20

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.12: Dataset-N: autocorrelazione del carico su un giorno

-1

-0.5

0

0.5

1

0 20 40 60 80 100 120 140 160 180

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.13: Dataset-N: autocorrelazione del carico su una settimana

Page 62: Tesi

5.6. DATASET-N: CARICO 47

-1

-0.5

0

0.5

1

0 100 200 300 400 500 600 700

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.14: Dataset-N: autocorrelazione del carico su un mese

-1

-0.5

0

0.5

1

0 500 1000 1500 2000

Coeffi

cien

ted

iau

toco

rrel

azio

ne

Ritardo [ore]

Figura 5.15: Dataset-N: autocorrelazione del carico su quattro mesi

Page 63: Tesi
Page 64: Tesi

Capitolo 6

Metodologia delle prove

6.1 Introduzione

Il problema affrontato in questo lavoro (predizione dei consumi e dei prezzidei mercati elettrici della California e della citta di New York) ricade sottola categoria dei problemi di analisi di regressione di serie temporali.

L’obiettivo finale di questo lavoro e quello di costruire uno stimatoredella variabile dipendente (consumo o prezzo dell’elettricita) in funzionedi variabili indipendenti e dello storico della variabile dipendente, in mo-do che venga minimizzato l’errore fra la serie storica misurata e la serienumerica prodotta dallo stimatore, e di capire quali fattori concorrono acreare un buon stimatore.

6.2 Parte costante della configurazione di ED

Per tutte le esecuzioni di ED alcuni dei parametri della configurazione nonsono mai stati variati; questi parametri sono indicati in tabella 6.1.

In tabella 6.1 si puo notare la strategia evolutiva utilizzata, StandardStrategy, che e quella che implementa il ciclo di evoluzione standard dellaGenetic Programming descritto nel capitolo 3: valutazione fitness →selezione→ variazione→ valutazione fitness . . ..

Sempre in tabella si puo notare la strategia di valutazione degli indivi-dui utilizzata; si tratta sempre della VectorizedEvaluation, tranne che nelcaso della prova che include fra le variabili indipendenti l’errore medio del-

49

Page 65: Tesi

50 CAPITOLO 6. METODOLOGIA DELLE PROVE

Parametro Valore

Numero di job 128 job

Durata massima job 8 ore

Seed fissati, base 190000000

Costanti 0.1, 1, 10

ERC non usate

Generazione della popolazione iniziale Ramped half-and-half

Strategia di evoluzione Standard Strategy

Funzione di fitness Intercept MSE

Strategia di selezione Tournament

Strategia di variazionecrossover,mutazione di Koza,duplicazione

Tabella 6.1: Parametri costanti nelle esecuzioni di ED

la stima del giorno precedente, per la quale e stata ovviamente utilizzatala DAEScalarEvaluation descritta nel capitolo 3.

Infine, si noti che il tipo delle costanti e delle variabili indipendenti edipendente e sempre double, anche per le variabili indipendenti ISHOLI-SATSUN e ISNIGHT quando vengono usate; formalmente queste ulti-me sarebbero variabili booleane, ma sono state forzate ad essere variabilidouble che assumeno solo valori 0.0 e 1.0 per evitare l’uso dell’evoluzionecon tipi differenti per le variabili.

6.3 La fitness Intercept MSE

In tabella 6.1 si nota che per tutte le prove si e utilizzata sempre la fitnessIntercept MSE, argomento che merita un paragrafo a parte.

La fitness Intercept MSE e una variazione dalla fitness MSE che accettache la curva dei valori stimati segua solo il profilo di quella dei valorimisurati, e che si discosti da essa per una costante, detta intercept.

La fitness MSE (Mean Square Error) e la fitness che sceglie comemigliori gli individui che minimizzano il loro errore quadratico medio:

MSE(θ) = E[(θ − θ)2]

Page 66: Tesi

6.3. LA FITNESS INTERCEPT MSE 51

dove θ e la serie osservata e θ e la serie stimata calcolata dello stimatore.Utilizzare la funzione di fitness MSE fa sı che il processo evolutivo vengadiretto in modo che le due curve dei valori osservati e stimati vadano asovrapporsi. Come alternativa e possibile applicare una modifica dell’al-goritmo di calcolo, detta appunto Intercept MSE, facendo sı che, prima diapplicare il calcolo degli errori quadratici medi fra le due curve, venganosottratti dalle due serie di valori osservati e stimati i rispettivi valor medi;lo scostamento fra i due valor medi, ovvero la intercept, viene salvato ereso disponibile come output del processo. La situazione che si viene adaccettare e rappresentata in figura 6.1.

-4

-2

0

2

4

-10 -5 0 5 10

MisuraStima

InterceptStima + Intercept

Figura 6.1: Schema esemplificativo della Intercept MSE

In ED, quando si usa la fitness Intercept MSE, si ottengono in uscitauna serie di valori θrel e la costante intercept; queste due vanno som-mate algebricamente al fine di ottenere la vera serie dei valori stimatidell’individuo θvera:

θvera = θrel + intercept .

L’introduzione della intercept permette di velocizzare il processo dievoluzione, che altrimenti sarebbe rallentato nel tentativo di raggiungereuna perfetta sovrapposizione delle due curve dei valori stimati e misurati.

Page 67: Tesi

52 CAPITOLO 6. METODOLOGIA DELLE PROVE

6.4 Criterio di scelta dell’individuo best

Poiche alla fine di un run di ED si ha un numero di individui miglioripari al numero di job, e necessario scegliere un criterio per selezionare il“migliore fra tutti i migliori”, individuo che verra detto individuo best delrun.

Seguendo quanto fatto in [15] si e scelto di utilizzare come stimato-re della bonta di una soluzione la Weekly-weighted Mean Absolute Error(WMAE) calcolata sull’intervallo di validation fornito ad ED. Gli indivi-dui migliori di ogni job quindi vengono ordinati per WMAE di validatione viene scelto come individuo migliore in assoluto quello fra tutti che hala minima WMAE.

La WMAE e definita come:

WMAE =

1

168

168∑

i=1

∣∣∣θi − θi∣∣∣

1

168

168∑

i=1

θi

dove θi e il valore stimato della grandezza all’istante i e θi e il valoremisurato sempre all’istante i.

Il numero di termini delle sommatorie pari a 168 sta ad indicare chequesto indice verra calcolato sulle settimane che compongono la serie sti-mata. La stessa media e ovviamente calcolabile per intervalli temporalipiu corti, e la si usera quindi anche per calcolare la sua analoga giornalieraDaily-weighted Mean Absolute Error (DMAE):

DMAE =

1

24

24∑

i=1

∣∣∣θi − θi∣∣∣

1

24

24∑

i=1

θi

.

Come si puo notare, la WMAE (e la DMAE) e il rapporto fra lamedia degli errori assoluti fra i valori stimati e misurati e la media deivalori misurati. Si tratta di una variante della piu usuale stima Mean

Page 68: Tesi

6.5. ELABORAZIONI SUI RISULTATI DI ED 53

Absolute Percentage Error (MAPE):

MAPE =1

n

n∑

i=1

∣∣∣∣∣θi − θiθi

∣∣∣∣∣ .

che ha pero il problema di generare un’eccezione di divisione per zero nelcaso della presenza di un valore misurato (che appare come denominatore)pari a zero. Altri paper consultati[6][10] utilizzano in effetti la stima MA-PE per selezionare la soluzione ottima; si e verificato che generalmente ivalori di WMAE e MAPE sono pressoche identici (differenze nell’ordinedi massimo il 5%), quindi si e scelto di utilizzare in questo lavoro la solaWMAE.

6.5 Elaborazioni sui risultati di ED

Al fine di calcolare il grado bonta per gli stimatori/individui migliori se-lezionati dai 128 job di ogni run, e stato creato uno script bash, che,sfruttando R e il generatore di grafici GNUplot, effettua una serie di lavoridi estrazione dati e di calcoli statistici sui risultati prodotti da ED. Ciriferiremo a questa fase come alla “fase di estrazione”, allo script che liimplementa come “script di estrazione” ed ai risultati dello script come“valori, dati e statistiche estratte”.

Lo script di estrazione lavora come descritto qui sotto.

Innanzitutto, estrae dai file StandardStrategy.*.csv1 i valori di

intercept per ognuno dei 128 individui migliori di ogni job. Si noti cheED crea un valore di intercept per la serie di valori di training, uno per laserie di validation, e uno per l’intera serie (training con validation), ma loscript utilizza comunque sempre, per tutti i calcoli/simulazioni successivi,la intercept di training2.

I passi seguenti vengono ripetuti per ognuno dei job del run di ED.

1Indichiamo con un asterisco “*” la parte variabile del nome del file; ED infattiscinde spesso le informazioni su piu file, secondo vari criteri (per job, per thread diesecuzione, ecc. . . ), quindi e generalmente necessario concatenare tutti i file di un tipoper essere in grado di ricavare i valori desiderati.

2Questo viene fatto per semplicita e perche sono minime le differenze fra le interceptdelle serie. Inoltre, formalmente, l’unica “vera” intercept e quella di training; le altresono un artifizio di calcolo.

Page 69: Tesi

54 CAPITOLO 6. METODOLOGIA DELLE PROVE

Lo script recupera nel file Observed versus Estimated.*.csv,relativo all’individuo migliore del job, le due serie di valori misurati e sti-mati della variabile indipendente (il misurato viene copiato da ED dalfile CSV di input; lo stimato e il risultato dell’applicazione dell’indivi-duo migliore del job sulla serie di dati originali). Questo file viene divisoin tre file che contengono le due serie di valori stimati e misurati per—rispettivamente—il training set, il validation set, e il set composto daltraining seguito dal validation (quest’ultimo spesso risulta alla fin fine lacopia del file originale).

I passi descritti in seguito vengono quindi ulteriormente ripetuti perognuno di questi tre sottoinsiemi dell’insieme originale contenuto nel fileObserved versus Estimated.*.csv.

Al sottoinsieme estratto dei valori stimati viene sommata la intercept(per tutti e tre i sottoinsiemi sempre quella di training, come detto inprecedenza) per creare la vera serie stimata3. Lo script invoca quindi Rper calcolare errore assoluto ed errore percentuale fra i valori osservati equelli stimati (inclusivi della intercept) del sottoinsieme, e usando questicalcola le serie settimanali di WMAE e la serie giornaliera di DMAE.Sempre lo stesso script, come ultimo passo, calcola per il sottoinsieme ilvalor medio della WMAE sulle settimane, il valore massimo della WMAEsulle settimane, il valor medio della DMAE su tutti i giorni feriali e il valormedio della DMAE su tutti i giorni festivi (questi quattro valori sonostati scelti perche ritenuti i piu significativi per comprendere la bontadell’individuo sotto esame).

Successivamente lo script, utilizzando GNUplot, genera due grafici: ilprimo rappresenta la serie osservata, la serie stimata e l’errore assolutodel sottoinsieme estratto; il secondo errore percentuale, sequenza a gradinidelle WMAE settimanali, e sequenza a gradini delle DMAE giornaliere,per lo stesso sottoinsieme . I due grafici vengono generati sia in formatoLATEX che in formato PNG.

Qui si conclude l’elaborazione iterativa dei tre sottoinsiemi di training,validation e training con validation dell’individuo migliore del job.

Il raggruppamento delle statistiche per ognuno dei tre sottoinsiemidell’individuo migliore del job viene accodato in un file, chiamato all -

3ED calcola la intercept per usarla nella fase di valutazione degli individui, ma poiincredibilmente emette sul file di output solo la serie di valori stimati senza intercept.

Page 70: Tesi

6.5. ELABORAZIONI SUI RISULTATI DI ED 55

stats.csv, cosicche esso alla fine riassumera le statistiche di tutti gliindividui migliori del run.

Infine, subito prima di uscire, come ultimo passo dopo aver elabora-to tutti gli individui migliori del run, lo script genera un’ulteriore grafico(sempre sia in formato LATEX che in formato PNG), di tipo XY che presen-ta in ascissa i valori delle WMAE medie di training e in ordinata i valoridelle WMAE medie di validation per ognuno degli individui migliori delrun. Questo grafico permette di leggere la “coerenza” dei vari individuimigliori del run, cioe a capire se per esempio sono stati creati individuiche minimizzano la WMAEsul set di training ma non quello di validation(o viceversa), o al contrario tutti gli individui risultano coerenti e quindiminimizzano la WMAEsia sul set di training che sul set di validation.

Nei successivi capitoli non riporteremo questi grafici di correlazione frafase di validation e fase di training; se ne riporta a mo’ di esempio uno infigura 6.2, che rappresenta un buon risultato di esecuzione.

0%

2%

4%

6%

8%

10%

0% 2% 4% 6% 8% 10%

WMAE

di

vali

dat

ion

[%]

WMAE di training [%]

++++++++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++ ++++++++++

+++++++++++++

+

+ ++

+

+++++++++++++++++++++++++++++

Figura 6.2: Esempio di grafico di correlazione fra WMAE di training e WMAEdi validation

Page 71: Tesi

56 CAPITOLO 6. METODOLOGIA DELLE PROVE

Graficamente, cio che si vuole ottenere e la distribuzione degli indivi-dui rappresentata in questo grafico: essi devono stare quanto piu possibilesulla retta bisecante il grafico (la y = x; e la condizione di WMAE ditraining uguale a quella di validation), e quanto piu possibile vicino all’o-rigine (WMAE minima possibile in assoluto). Il grafico di correlazionee anche importante perche se gli individui risultano sparsi, significa cheED non e riuscito a convergere verso buone soluzioni (buoni individui),e che probabilmente aumentando il numero di generazioni, o la casualitaaumentando il numero di job, si potra ottenere un run migliore.

Riassumendo, alla fine dell’esecuzione di un run, se N e il numero dijob del run, lo script ha generato:

• N ∗ 3 file con la serie di valori stimati (comprensiva la intercept) eosservati, gli errori e le serie di WMAE settimanali e DMAE gior-naliere per i tre sottoinsiemi estratti (training, validation, trainingcon validation);

• N ∗ 3 ∗ 2 ∗ 2 grafici di errore assoluto e percentuale, PNG e LATEX,per i tre sottoinsiemi di ogni individuo migliore di job;

• N file con tutte le statistiche aggregate (WMAE media e massima,DMAE media su giorni feriali e festivi) dell’individuo migliore diogni job;

• 1 file che include le statistiche aggregate per tutti gli individui mi-gliori del run (il file sara composto da N record);

• 2 file con i grafici PNG e LATEXdi coerenza della WMAE di traininge validation degli individui migliori del run.

In ultimo un cenno alle performance dello script di estrazione: conN = 128 lo script termina la sua esecuzione in circa 7/8 minuti, compren-sivi del tempo necessario a compilare tutti i grafici LATEX in un file PDFcomodamente ispezionabile dall’utente.

6.6 Selezione del migliore individuo del run

Successivamente alla fase di estrazione, e necessario scegliere l’individuomigliore fra tutti gli individui migliori generati dai job del run. A tal fine si

Page 72: Tesi

6.7. SIMULAZIONE DELL’INDIVIDUO BEST 57

e sviluppato un’ulteriore script, che chiameremo “script di selezione”, cheopera scegliendo l’individuo che minimizza la WMAE sull’intero periododi validation fornito ad ED(criterio scelto per la selezione del migliore frai migliori).

Lo script e piuttosto semplice: esso prende il file all stats.csvgenerato alla fine della fase di estrazione, e riordina le sue linee (che con-tengono ognuna le statistiche dell’individuo migliore generato da un job)in ordine di WMAE media di validation crescente; in questo modo e pos-sibile capire quale sia il job che ha generato l’individuo migliore—si trattadi quello sulla prima linea, che viene chiamato best—e quale sia quel-lo peggiore—quello sull’ultima linea, worst—, e quale sia l’individuo conprestazioni medie—quello sulla riga di indice N/2, medium. Lo script aquesto punto semplicemente crea un insieme di link simbolici che puntanoai veri file di statistiche e ai grafici dei tre individui best, worst e mediumscelti.

6.7 Simulazione dell’individuo best

L’ultima fase e quella di simulazione, che viene di norma applicata al soloindividuo best scelto nella fase precedente. La simulazione consiste nell’e-seguire al di fuori di ED la formula matematica ottenuta su di un insiemedi dati diverso da quello di training e da quello di validation, insieme chesi indichera come testing set. Quest’ultima fase e detta simulazione per-che in effetti simula il vero uso che si farebbe dello stimatore trovato nellarealta: utilizzarlo per predirre l’evoluzione della grandezza per cui e statocreato.

L’ultimo script sviluppato, detto “script di simulazione” opera nelseguente modo.

Innanzitutto, dato il seed corrispondente al job che ha generato l’indi-viduo best, estrae la intercept di training relativa (servira per la successivafase di simulazione).

Dopodiche, dato l’elenco delle variabili indipendenti su cui si e eseguitoED e l’elenco dei backshift per ognuna di esse e per la variabile dipendentestimata, lo script recupera la formula matematica rappresentazione del-l’individuo best e la rielabora mediante semplici trasformazioni sintattichein modo che diventi una espressione valida all’interno dell’ambiente di cal-

Page 73: Tesi

58 CAPITOLO 6. METODOLOGIA DELLE PROVE

colo statistico R, e in modo che venga considerata la intercept estratta inprecedenza4.

Fatto cio, crea un file con il testing set, prendendo del file CSV deidati di input di ED tutti i campi relativi alle variabili indipendenti, e lasola serie dei valori osservati per la variabile dipendente.

Esegue quindi R con uno script apposito passandogli come input il fileappena creato; lo script R applica iterativamente la formula dell’individuobest rielaborata in precedenza, realizza, cioe, l’esecuzione dell’individuosulle variabili indipendenti per creare la serie stimata della variabile di-pendente. In questa fase, se l’esecuzione di ED era avvenuta con l’usodella DAEScalarEvaluation, lo script R si occupa di generare i valori dellacolonna DAE, utilizzando il medesimo algoritmo implementato in ED edescritto nel capitolo 4.

Il risultato dello script R e un file strutturalmente identico ai fileObserved versus Estimated.*.csv, e puo quindi essere utilizzatoper effettuare una nuova estrazione, esattamente come fatto nella fase diestrazione descritta sopra, ma questa volta eseguita pero sul testing set5.

L’estrazione effettuata sul testing set infine si preoccupa di genera-re le stesse statistiche aggregate generate per le tre estrazioni precedenti(training, validation, training con validation) dell’individuo best: le seriesettimanali di WMAE e la serie giornaliera di DMAE, il valor medio dellaWMAE sulle settimane, il valore massimo della WMAE sulle settimane,il valor medio della DMAE su tutti i giorni feriali e il valor medio dellaDMAE su tutti i giorni festivi, e i grafici con le serie assolute e gli erroripercentuali.

6.8 Profili di configurazione

Per ognuno dei tre capitoli successivi verra trattata la ricerca di uno sti-matore, rispettivamente, per il carico della California, per i prezzi dellaCalifornia e per il carico della citta di New York.

4Per quest’ultima richiesta di aggiunge semplicemente il termine “+intercept” allafine dell’espressione.

5In effetti la parte degli script che, dato un file dai contenuti uguali al Observed -versus Estimated.*.csv, genera le estrazioni, e in comune fra i due script di estra-zione e di simulazione; per tale motivo il codice e stato separato dal resto e posto in unquarto script “di libreria”.

Page 74: Tesi

6.8. PROFILI DI CONFIGURAZIONE 59

Si indicheranno con il termine profili le diverse configurazioni di EDdi volta in volta applicate ai tre problemi di stima al fine di trovare unbuon stimatore per ognuno di essi. Ogni profilo differisce dagli altri peralcuni (non sempre tutti) dei parametri della configurazione di ED :

• gruppo di macchine utilizzate per il run;

• numero di individui della popolazione iniziale;

• numero di generazioni;

• nodi funzionali possibili;

• variabili indipendenti e loro backshift;

• backshift della variabile dipendente;

• strategia di valutazione degli individui.

La configurazione di ogni singolo profilo verra indicata in una appositatabella. Tutti gli altri parametri non indicati nelle tabelle sono stati sem-pre impostati come descritto piu sopra in questo capitolo; la strategia divalutazione degli individui e sempre la VectorizedEvaluation, tranne chenel profilo DAE per la stima Day-Ahead dei consumi della California, incui si e usata la DAEScalarEvaluation. In tutte le prove si sono utiliz-zati backshift per le variabili sia indipendenti che dipendente, ma spessodiversi.

Dopo la descrizione del parametri dell’esecuzione di ED si mostrerannodue tabelle. La prima conterra i dati relativi all’individuo migliore del run,cioe quello fra gli individui migliori di ogni job che minimizza la WMAEmedia del validation set (si tratta insomma del risultato dello script diselezione del best). I dati di questa tabella sono:

• seed del job cui appartiene l’individuo migliore;

• durata temporale dell’intero run;

• WMAE media sul training;

• WMAE media settimanale sul validation;

Page 75: Tesi

60 CAPITOLO 6. METODOLOGIA DELLE PROVE

• WMAE massima settimanale sul validation;

• DMAE media sui soli giorni feriali del validation;

• DMAE media sui soli giorni festivi del validation.

La seconda tabella conterra invece i dati di performance dello stessoindividuo best per quanto riguarda i due intervalli di testing e di longtesting. Nello specifico, i dati saranno:

• WMAE media settimanale sul testing;

• WMAE massima settimanale sul testing;

• DMAE media sui soli giorni feriali del testing;

• DMAE media sui soli giorni festivi del testing;

• WMAE media settimanale sul long testing;

• WMAE massima settimanale sul long testing;

• DMAE media sui soli giorni feriali del long testing;

• DMAE media sui soli giorni festivi del long testing.

Verranno infine mostrati due grafici, sia per l’intervallo composto datraining set seguito dal validation set, sia per l’intervallo del long testingset (che include come suo sottoinsieme iniziale il testing set). Il primografico di ogni set mostrera tre curve: la serie dei valori misurati delconsumo elettrico, la serie di quelli stimati dall’individuo, e come terzacurva l’errore assoluto istante per instante fra le prime due. Il secondografico mostrera invece altre tre curve: l’errore fra valori misurati e stimatiin percentuale sui misurati, un grafico a gradini della DMAE giornalieraed infine un grafico a gradini della WMAE settimanale. Si noti che neidue grafici per la concatenazione del training set e validation set non verramai riportato l’intervallo di backshift, poiche ED lo omette dai risultatiche produce, ed i grafici derivano da questi.

Page 76: Tesi

6.9. CONFIGURAZIONI HARDWARE/SOFTWARE USATE 61

Host CPU Core Ram S.O.

voyager 2x Xeon E5410 2,33Ghz 8 8 GB Linux 2.6.25

alevb1 Xeon X3323 2,53Ghz 4 3 GB Linux 2.6.26

alevb2 Xeon X3323 2,53Ghz 4 3 GB Linux 2.6.26

alevb3 Xeon X3323 2,53Ghz 4 3 GB Linux 2.6.26

alevb4 2x Opteron 265 1,80Ghz 4 3 GB Linux 2.6.26

macbook Core 2 Duo 2,20Ghz 2 2 GB MacOS 10.5.8

Tabella 6.2: Macchine disponibili per la computazione

6.9 Configurazioni hardware/software usate

Le macchine disponibili per il calcolo sono elencate in tabella 6.2.

La versione del Java Runtime Environment installato e sempre 1.6.0 12,tranne che per la macchina “macbook” che presenta la versione 1.6.0 17.

Si noti che la macchina “voyager” e la macchina di sviluppo principaleper il Laboratorio di Reti di Calcolatori, quindi le esecuzioni su questamacchina potrebbero aver risentito di attivita di altri utenti o processi.Tutte le altre macchine sono state utilizzate in modo esclusivo.

I singoli run sono stati quindi eseguiti distribuendoli su diversi gruppidi macchine, al fine di minimizzare i tempi di attesa. La distribuzione estata fatta suddividendo i job del run fra le macchine del gruppo. I gruppidi macchine utilizzati sono elencati in tabella 6.3, e saranno richiamatinelle tabelle di configurazione del profilo.

Gruppo Macchine Core Divisione job

1 voyager 8 128

2 alevb1 – alevb3 4+4+4 44, 44, 40

3 voyager, alevb1 – alevb3 4+4+4+4 32, 32, 32, 32

4 macbook 2 128

5 alevb4 4 128

Tabella 6.3: Gruppi di macchine utilizzati

Si noti che, ove i job sono stati distribuiti su piu macchine, il tempodi calcolo riportato e quello della macchina che ha impiegato piu tempo.

Page 77: Tesi

62 CAPITOLO 6. METODOLOGIA DELLE PROVE

Si noti inoltre che in configurazione 3 vengono usati solo 4 (su 8) deicore della macchina “voyager”, per richiesta degli altri utenti utilizzantila stessa.

Page 78: Tesi

Capitolo 7

Stimatori: consumiCalifornia

7.1 Stimatori per i consumi della California

I primi stimatori sviluppati in questo lavoro sono stati creati per stimarei consumi elettrici dei due mercati californiani Hour-Ahead e Day-Ahead.L’obiettivo principale in questa fase e stato trovare la giusta combinazionetra i fattori da impostare per l’evoluzione al fine di minimizzare l’erroreglobale degli stimatori, con la speranza di poter riportare i risultati otte-nuti anche al caso degli stimatori per i prezzi. In [6] si dice che lo statodell’arte attuale per stimatori dei consumi elettrici Day-Ahead e realiz-zarne uno che abbia un errore compreso fra l’1% e il 3%, ed e a questorisultato che si e puntato.

Si ricorda che per il dataset-C il consumo, che per queste prove e lavariabile dipendente che si vuole stimare, e indicato nel campo QASYS;la variabile indipendente con l’ora del giorno e il campo HOUR e quellacon il flag booleano di festivita e il campo ISHOLISATSUN.

Tutte le prove si sono svolte sull’intero intervallo dei consumi estrattoper il dataset-C indicato nel capitolo 2, ovvero l’anno 5 Luglio 1999 - 4Luglio 2000 (lo stesso usato nel paper [15]). Come training set si sonopresi i primi 7 giorni + 8 settimane1 dell’anno (dal 5 Luglio 1999 al 5

1Con la scrittura 7 giorni + 8 settimane si vuole indicare il fatto che, essendo statiusati i backshift, bisogna anteporre al vero training set voluto (8 settimane) anche un

63

Page 79: Tesi

64 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

Settembre 1999); come validation set si sono prese le 2 settimane succes-sive (dal 6 Settembre 1999 al 19 Settembre 1999); come testing set il mesesuccessivo (dal 20 Settembre 1999 al 20 Ottobre 1999); si noti che nel pa-per [15] gli intervalli di training e di testing sono differenti. Si noti inoltreche, in aggiunta a quanto fatto nel paper [15], si e scelto di misurare leperformance degli stimatori anche sul long testing set, che corrisponde conl’intero insieme di dati dopo il validation set (dal 20 Settembre 1999 al 4Luglio 2000; comprende all’inizio il testing set).

Il grafico in figura 7.1 rappresenta gli intervalli scelti sull’intero anno.

01/0

7/99

01/0

8/99

01/0

9/99

01/1

0/99

01/1

1/99

01/1

2/99

01/0

1/00

01/0

2/00

01/0

3/00

01/0

4/00

01/0

5/00

01/0

6/00

01/0

7/00

01/0

8/00

IntervalliFestivita

Figura 7.1: California, consumi: posizione degli intervalli sul dataset. Da sini-stra verso destra, nell’ordine, l’intervallo di backshift, il training set, il validationset ed il long testing set, comprensivo del testing set, rialzato per evidenziarlo.In basso, la serie dei giorni considerati festivi.

numero di campioni pari al massimo backshift di tutte le variabili.

Page 80: Tesi

7.2. CALIFORNIA, HA 65

7.2 California, HA

Lo stimatore per i consumi del mercato Hour-Ahead della California e inassoluto il primo stimatore realizzato utilizzando la Genetic Programmingin questo lavoro.

Per il profilo “California, consumi HA, profilo unico”, sono mostratele seguenti tabelle:

• in tabella 7.1a i dati di configurazione del run;

• in tabella 7.1b le statistiche dell’individuo best;

• in tabella 7.1c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 7.2 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 7.3 la simulazione dell’individuo best sul long validationset.

Si noti che i backshift -1 e -168 della variabile dipendente corrispondonorispettivamente all’ora precedente quella attuale e alla stessa ora dellostesso giorno della settimana prima.

Questo e l’unico stimatore realizzato per il mercato Hour-Ahead, e giarealizza un errore massimo per la WMAE, sul validation set, del 1,66%;si e quindi passati al mercato Day-Ahead.

Page 81: Tesi

66 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 1

Popolazione iniziale 500

Numero di generazioni 600

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -1

Variabili indipendenti e backshift HOUR (solo attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190038000

Durata totale del run 0 gg 09:25:49

Training set WMAE media 1,65 %

Validation set

WMAE media 1,59 %WMAE massima 1,66 %DMAE media feriali 1,52 %DMAE media festivi 1,73 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 1,79 %WMAE massima 2,00 %DMAE media feriali 1,76 %DMAE media festivi 1,81 %

Long testing set

WMAE media 2,45 %WMAE massima 3,40 %DMAE media feriali 2,41 %DMAE media festivi 2,57 %

(c) Risultati della simulazione dell’individuo best

Tabella 7.1: California, consumi HA, profilo unico: parametri del run estatistiche per l’individuo best generato

Page 82: Tesi

7.2. CALIFORNIA, HA 67

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.2: California, consumi HA, profilo unico: andamento individuo bestsu training set e validation set

Page 83: Tesi

68 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 4 8 12 16 20 24 28 32 36 40

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36 40

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.3: California, consumi HA, profilo unico: andamento individuo bestsu long testing set

Page 84: Tesi

7.3. CALIFORNIA, DA: PROFILO “BASE” 69

7.3 California, DA: profilo “base”

Come primo profilo per il mercato Day-Ahead si e utilizzato lo stessoprofilo del mercato Hour-Ahead. L’unica differenza consiste che ora non sie piu autorizzati ad usare il backshift -1 per la variabile dipendente perchesi vuole poter avere la stima un giorno prima all’istante in cui l’energiadeve essere utilizzata o venduta. In sostituzione del backshift -1 si e sceltodi utilizzare i due backshift -24 e -25, corrispondenti rispettivamente allastessa ora del giorno precedente e all’ora precedente sempre del giornoprecedente.

Per il profilo “California, consumi DA, profilo base”, sono mostrate leseguenti tabelle:

• in tabella 7.2a i dati di configurazione del run;

• in tabella 7.2b le statistiche dell’individuo best;

• in tabella 7.2c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 7.4 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 7.5 la simulazione dell’individuo best sul long validationset.

I risultati raggiunti sono di poco superiori all’obiettivo; si e quindideciso di provare per il mercato Day-Ahead altri profili.

Page 85: Tesi

70 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 1

Popolazione iniziale 500

Numero di generazioni 600

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshift HOUR (solo attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190079000

Durata totale del run 0 gg 09:36:23

Training set WMAE media 5,01 %

Validation set

WMAE media 4,74 %WMAE massima 5,09 %DMAE media feriali 3,87 %DMAE media festivi 6,52 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 3,78 %WMAE massima 5,34 %DMAE media feriali 3,27 %DMAE media festivi 5,90 %

Long testing set

WMAE media 4,18 %WMAE massima 11,73 %DMAE media feriali 3,41 %DMAE media festivi 5,59 %

(c) Risultati della simulazione dell’individuo best

Tabella 7.2: California, consumi DA, profilo base: parametri del run estatistiche per l’individuo best generato

Page 86: Tesi

7.3. CALIFORNIA, DA: PROFILO “BASE” 71

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.4: California, consumi DA, profilo base: andamento individuo best sutraining set e validation set

Page 87: Tesi

72 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 4 8 12 16 20 24 28 32 36 40

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36 40

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.5: California, consumi DA, profilo base: andamento individuo best sulong testing set

Page 88: Tesi

7.4. CALIFORNIA, DA: PROFILO “BASE + DAE” 73

7.4 California, DA: profilo “base + DAE”

Il primo profilo alternativo provato per i consumi Day-Ahead e il profiloche utilizza la gestione degli errori del giorno precedente fra la stima e lamisura, ovvero il profilo che utilizza la DAEScalarEvaluation invece chela normale VectorizedEvaluation. Il profilo e per il resto identico al profilobase, se si esclude la variabile indipendente fittizia DAE, necessaria allaDAEScalarEvaluation come descritto nel capitolo 4.

Per il profilo “California, consumi DA, profilo base + DAE”, sonomostrate le seguenti tabelle:

• in tabella 7.3a i dati di configurazione del run;

• in tabella 7.3b le statistiche dell’individuo best;

• in tabella 7.3c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 7.6 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 7.7 la simulazione dell’individuo best sul long validationset.

Si puo notare come la DAEScalarEvaluation migliori di poco la WMAEsul validation set, ma a costo di un grandissimo aumento del tempo dicomputazione; non giudicando i miglioramenti ottenuti sufficienti a giu-stificare l’aumento dei tempi di computazione, la DAEScalarEvaluation estata scartata da tutti i profili successivi.

Page 89: Tesi

74 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 1

Popolazione iniziale 500

Numero di generazioni 600

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)DAE (solo attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190093000

Durata totale del run 5 gg 17:09:09

Training set WMAE media 4,92 %

Validation set

WMAE media 4,59 %WMAE massima 5,41 %DMAE media feriali 4,39 %DMAE media festivi 4,94 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 4,06 %WMAE massima 4,70 %DMAE media feriali 3,70 %DMAE media festivi 5,23 %

Long testing set

WMAE media 4,12 %WMAE massima 10,15 %DMAE media feriali 3,71 %DMAE media festivi 4,78 %

(c) Risultati della simulazione dell’individuo best

Tabella 7.3: California, consumi DA, profilo base + DAE: parametri del run estatistiche per l’individuo best generato

Page 90: Tesi

7.4. CALIFORNIA, DA: PROFILO “BASE + DAE” 75

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.6: California, consumi DA, profilo base + DAE: andamento individuobest su training set e validation set

Page 91: Tesi

76 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 4 8 12 16 20 24 28 32 36 40

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36 40

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.7: California, consumi DA, profilo base + DAE: andamento individuobest su long testing set

Page 92: Tesi

7.5. CALIFORNIA, DA: PROFILO “BASE + SIN E COS” 77

7.5 California, DA: profilo “base + sin e cos”

Il secondo profilo alternativo provato per i consumi Day-Ahead e identicoal profilo base ma aggiunge fra i nodi funzionali possibili anche le funzionisin e cos. I backshift rimangono gli stessi del profilo base.

Per il profilo “California, consumi DA, profilo base + sin e cos”, sonomostrate le seguenti tabelle:

• in tabella 7.4a i dati di configurazione del run;

• in tabella 7.4b le statistiche dell’individuo best;

• in tabella 7.4c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 7.8 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 7.9 la simulazione dell’individuo best sul long validationset.

Si noti che l’aggiunta delle funzioni sin e cos restituisce risultati peril validation set pressoche identici al profilo base, a discapito del tempodi calcolo2; per questo motivo per i profili successivi sin e cos sono statiesclusi dell’elenco dei nodi terminali possibili.

2Questo accade anche perche ED fa uso delle funzioni sin e cos della classe ja-va.lang.StrictMath. Questa classe implementa gli algoritmi opportuni interamente concodice Java per garantire completa replicabilita dei risultati su piattaforme differenti,al contrario delle sin e cos della classe java.lang.Math, che sono semplici placeholder chevengono sostituiti dalla JVM negli opcode corrispondenti del processore.

Page 93: Tesi

78 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 1

Popolazione iniziale 500

Numero di generazioni 600

Nodi funzionali +,−,×,÷, sin, cos

Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshift HOUR (solo attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190121000

Durata totale del run 3 gg 03:28:20

Training set WMAE media 5,10 %

Validation set

WMAE media 4,77 %WMAE massima 5,21 %DMAE media feriali 3,97 %DMAE media festivi 6,38 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 4,01 %WMAE massima 5,44 %DMAE media feriali 3,52 %DMAE media festivi 5,90 %

Long testing set

WMAE media 4,11 %WMAE massima 11,17 %DMAE media feriali 3,46 %DMAE media festivi 5,31 %

(c) Risultati della simulazione dell’individuo best

Tabella 7.4: California, consumi DA, profilo base + sin e cos: parametri delrun e statistiche per l’individuo best generato

Page 94: Tesi

7.5. CALIFORNIA, DA: PROFILO “BASE + SIN E COS” 79

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.8: California, consumi DA, profilo base + sin e cos: andamentoindividuo best su training set e validation set

Page 95: Tesi

80 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

-10000

0

10000

20000

30000

40000

50000

0 4 8 12 16 20 24 28 32 36 40

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36 40

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.9: California, consumi DA, profilo base + sin e cos: andamentoindividuo best su long testing set

Page 96: Tesi

7.6. CALIFORNIA, DA: PROFILO “BASE + FESTIVITA” 81

7.6 California, DA: profilo “base + festivita”

Il terzo profilo alternativo provato per i consumi Day-Ahead e identicoal profilo base ma aggiunge il campo “booleano” ISHOLISATSUN. Lasperanza e che dando ad ED l’informazione di quali siano i normali giorniferiali e quali siano quelli festivi, esso converga verso un individuo il cuialbero di sintassi astratta assume una forma riconducibile a

ISHOLISATSUN× (formula per giorni festivi) +

(1.0− ISHOLISATSUN)× (formula per giorni feriali)

potendo quindi comportarsi differentemente a seconda del tipo di giornata.Per questo profilo e stato necessario innalzare il numero di generazioni

di ogni job a 900, in quanto con sole 600 generazioni non si aveva conver-genza (il grafico di cross-correlazione fra le WMAE di training e quella divalidation mostrava individui sparsi invece che aggregati).

Per il profilo “California, consumi DA, profilo base + festivita”, sonomostrate le seguenti tabelle:

• in tabella 7.5a i dati di configurazione del run;

• in tabella 7.5b le statistiche dell’individuo best;

• in tabella 7.5c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 7.10 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 7.11 la simulazione dell’individuo best sul long validationset.

Come si puo notare dalle tabelle, si ottiene un miglioramento sullaWMAE media di validation set e le DMAE medie dei giorni feriali efestivi risultano piu simili rispetto a prima. Questo profilo e quello che haottenuto in assoluto i risultati migliori per il caso del mercato Day-Aheaddei consumi elettrici della California, e mostra che e necessario considerarela differenza fra giornate feriali e festive per ottenere un buon stimatore.

Page 97: Tesi

82 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 1

Popolazione iniziale 500

Numero di generazioni 900

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190040000

Durata totale del run 3 gg 11:24:21

Training set WMAE media 2,71 %

Validation set

WMAE media 2,20 %WMAE massima 2,36 %DMAE media feriali 1,58 %DMAE media festivi 3,47 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 3,62 %WMAE massima 5,49 %DMAE media feriali 3,65 %DMAE media festivi 3,41 %

Long testing set

WMAE media 3,16 %WMAE massima 8,56 %DMAE media feriali 3,01 %DMAE media festivi 3,16 %

(c) Risultati della simulazione dell’individuo best

Tabella 7.5: California, consumi DA, profilo base + festivita: parametri del rune statistiche per l’individuo best generato

Page 98: Tesi

7.6. CALIFORNIA, DA: PROFILO “BASE + FESTIVITA” 83

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.10: California, consumi DA, profilo base + festivita: andamentoindividuo best su training set e validation set

Page 99: Tesi

84 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 4 8 12 16 20 24 28 32 36 40

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36 40

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.11: California, consumi DA, profilo base + festivita: andamentoindividuo best su long testing set

Page 100: Tesi

7.7. CALIFORNIA, DA: PROFILO “BASE + 12 ORE” 85

7.7 California, DA: profilo “base + 12 ore”

Il quarto profilo riprende il profilo base ma aggiunge i backshift per la stes-sa ora del giorno precedente e le 11 ore precedenti del giorno precedente,oltre alla stessa ora dello stesso giorno della settimana precedente e le 11ore precedenti dello stesso giorno della settimana precedente. Questo el’unico profilo per il quale il backshift massimo non e pari a 168 (ovvero7 giorni esatti) ma e pari a 192 (ovvero 8 giorni esatti, appunto perche enecessario considerare anche le 11 ore precedenti dello stesso giorno dellasettimana precedente)3.

Per il profilo “California, consumi DA, profilo base + 12 ore”, sonomostrate le seguenti tabelle:

• in tabella 7.6a i dati di configurazione del run;

• in tabella 7.6b le statistiche dell’individuo best;

• in tabella 7.6c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 7.12 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 7.13 la simulazione dell’individuo best sul long validationset.

Le prestazioni della WMAE media dell’individuo best risultano per iltesting set migliori rispetto al profilo “base + festivita”, ma peggiori peril long testing set, il validation set e il training set; quelli per la WMAEmassima sono peggiori del profilo “base + festivita”, e si hanno grossedifferenze fra le DMAE media dei giorni feriali e festivi. Per tale motivosi e scelto di considerare comunque migliore il profilo “base + festivita”.

3Quindi in questo profilo il training set e lungo 8 giorni + 8 settimane, per usare lastessa terminologia introdotta in precedenza.

Page 101: Tesi

86 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 1

Popolazione iniziale 500

Numero di generazioni 600

Nodi funzionali +,−,×,÷Backshift variabile dipendente -179, -178, -177, -176, -175, -174,

-173, -172, -171, -170, -169, -168,-35, -34, -33, -32, -31, -30,-29, -28, -27, -26, -25, -24

Variabili indipendenti e backshift HOUR (solo attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190005000

Durata totale del run 1 gg 02:27:59

Training set WMAE media 3,61 %

Validation set

WMAE media 4,01 %WMAE massima 4,42 %DMAE media feriali 3,66 %DMAE media festivi 5,06 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 3,38 %WMAE massima 4,74 %DMAE media feriali 3,30 %DMAE media festivi 4,14 %

Long testing set

WMAE media 4,27 %WMAE massima 11,65 %DMAE media feriali 3,70 %DMAE media festivi 5,16 %

(c) Risultati della simulazione dell’individuo best

Tabella 7.6: California, consumi DA, profilo base + 12 ore: parametri del rune statistiche per l’individuo best generato

Page 102: Tesi

7.7. CALIFORNIA, DA: PROFILO “BASE + 12 ORE” 87

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.12: California, consumi DA, profilo base + 12 ore: andamentoindividuo best su training set e validation set

Page 103: Tesi

88 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 4 8 12 16 20 24 28 32 36 40

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36 40

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.13: California, consumi DA, profilo base + 12 ore: andamentoindividuo best su long testing set

Page 104: Tesi

7.8. CALIFORNIA, DA: PROFILO “BASE + 7 GIORNI” 89

7.8 California, DA: profilo “base + 7 giorni”

L’ultimo profilo riprende il profilo base ma aggiunge i backshift per lastessa ora e l’ora precedente di tutti i giorni della settimana precedenteall’istante attuale.

Per il profilo “California, consumi DA, profilo base + 7 giorni”, sonomostrate le seguenti tabelle:

• in tabella 7.7a i dati di configurazione del run;

• in tabella 7.7b le statistiche dell’individuo best;

• in tabella 7.7c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 7.14 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 7.15 la simulazione dell’individuo best sul long validationset.

Per l’ultimo profilo valgono le stesse considerazioni del profilo “base +12 ore”: le prestazioni sul validation set in generale migliorano rispetto alprofilo base per il mercato Day-Ahead ma comunque non quanto il profilo“base + festivita”.

Page 105: Tesi

90 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 1

Popolazione iniziale 500

Numero di generazioni 600

Nodi funzionali +,−,×,÷Backshift variabile dipendente -169, -168, -145, -144,

-121, -120, -97, -96,-73, -72, -49, -48,-25, -24

Variabili indipendenti e backshift HOUR (solo attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190044000

Durata totale del run 1 gg 12:56:36

Training set WMAE media 3,48 %

Validation set

WMAE media 4,49 %WMAE massima 5,57 %DMAE media feriali 3,59 %DMAE media festivi 6,29 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 3,24 %WMAE massima 4,17 %DMAE media feriali 3,10 %DMAE media festivi 3,91 %

Long testing set

WMAE media 3,47 %WMAE massima 13,07 %DMAE media feriali 3,09 %DMAE media festivi 4,17 %

(c) Risultati della simulazione dell’individuo best

Tabella 7.7: California, consumi DA, profilo base + 7 giorni: parametri del rune statistiche per l’individuo best generato

Page 106: Tesi

7.8. CALIFORNIA, DA: PROFILO “BASE + 7 GIORNI” 91

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.14: California, consumi DA, profilo base + 7 giorni: andamentoindividuo best su training set e validation set

Page 107: Tesi

92 CAPITOLO 7. STIMATORI: CONSUMI CALIFORNIA

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 4 8 12 16 20 24 28 32 36 40

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36 40

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 7.15: California, consumi DA, profilo base + 7 giorni: andamentoindividuo best su long testing set

Page 108: Tesi

Capitolo 8

Stimatori: prezzi California

8.1 Stimatori per i prezzi della California

Completata la ricerca degli stimatori per i consumi Hour-Ahead e Day-Ahead della California, si e passati alla ricerca di stimatori per i prezzi.

Il campo che contiene i prezzi nel dataset-C, variabile dipendente sti-mata in questo prove, e il PPXSYS; la variabile indipendente con l’oradel giorno e il campo HOUR e quella con il flag booleano di festivita eil campo ISHOLISATSUN, come per il caso precedente. Il campo cheindica se l’ora e notturna o diurna e il campo ISNIGHT.

Tutte le prove, in analogia a quelle per i consumi, si sono svolte sul-l’intero intervallo estratto per il dataset-C indicato nel capitolo 2, ovverol’anno 5 Luglio 1999 - 4 Luglio 2000. Training set e validation set hannodurata uguale a quelli dei consumi (7 giorni+ 8 settimane per il traininge 2 settimane per il validation), ma si trovano in posizione differente perpoter avere un testing set che corrisponde a quello usato nel paper [15], alfine di poter confrontare i risultati di simulazione. Il training set quindiva dal 7 Gennaio 2000 al 19 Marzo 2000; il validation set dal 20 Marzo2000 al 2 Aprile 2000; il testing set dal 3 Aprile 2000 al 11 Giugno 2000,e il long testing set dal 3 Aprile 2000 al 4 Luglio 2000.

Il grafico in figura 8.1 rappresenta gli intervalli scelti sull’intero anno.

I risultati raggiunti in [15] per il testing set vengono mostrati in tabel-la 8.1. Si noti che in [15] non vengono citate le medie giornaliere DMAEper i giorni feriali e festivi.

93

Page 109: Tesi

94 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

01/0

1/00

01/0

2/00

01/0

3/00

01/0

4/00

01/0

5/00

01/0

6/00

01/0

7/00

01/0

8/00

IntervalliFestivita

Figura 8.1: California, prezzi: posizione degli intervalli sul dataset. Da sinistraverso destra, nell’ordine, l’intervallo di backshift, il training set, il validation seted il long testing set, comprensivo del testing set, rialzato per evidenziarlo. Inbasso, la serie dei giorni considerati festivi.

Nel grafico degli errori percentuali per il testing set verra riportata laWMAE del paper, per confronto.

Risultati del paper [15]

Testing setWMAE media 12,65 %WMAE massima 43,43 %

Tabella 8.1: California, prezzi: risultati per il testing set del paper [15]

Page 110: Tesi

8.2. CALIFORNIA, PREZZI: PROFILO BASE 95

8.2 California, prezzi: profilo base

Il profilo base per i prezzi della California e identico al profilo “base +festivita” dei consumi Day-Ahead.

Per il profilo “California, prezzi, profilo base”, sono mostrate le se-guenti tabelle:

• in tabella 8.2a i dati di configurazione del run;

• in tabella 8.2b le statistiche dell’individuo best;

• in tabella 8.2c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 8.2 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 8.3 la simulazione dell’individuo best sul long validationset.

Come si puo notare dalle tabelle, il risultato del run si avvicina alriferimento del paper, ma in generale la WMAE sul testing e sempremaggiore a quella ivi pubblicata.

Page 111: Tesi

96 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 2

Popolazione iniziale 500

Numero di generazioni 900

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190050000

Durata totale del run 0 gg 19:52:32

Training set WMAE media 4,97 %

Validation set

WMAE media 5,14 %WMAE massima 5,33 %DMAE media feriali 5,78 %DMAE media festivi 3,71 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 16,42 %WMAE massima 59,88 %DMAE media feriali 16,98 %DMAE media festivi 11,90 %

Long testing set

WMAE media 23,92 %WMAE massima 59,88 %DMAE media feriali 20,16 %DMAE media festivi 38,45 %

(c) Risultati della simulazione dell’individuo best

Tabella 8.2: California, prezzi, profilo base: parametri del run e statistiche perl’individuo best generato

Page 112: Tesi

8.2. CALIFORNIA, PREZZI: PROFILO BASE 97

0

10

20

30

40

50

60

0 4 8

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.2: California, prezzi, profilo base: andamento individuo best sutraining set e validation set

Page 113: Tesi

98 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

0

100

200

300

400

500

600

700

800

0 4 8 12

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

WMAE paper [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.3: California, prezzi, profilo base: andamento individuo best su longtesting set

Page 114: Tesi

8.3. CALIFORNIA, PREZZI: PROFILO “BASE + POP. 1000” 99

8.3 California, prezzi: profilo “base + pop. 1000”

Il profilo “base + pop. 1000” per i prezzi della California e identico alprofilo base, ma la popolazione iniziale di ogni job e pari a 1000 individui.

Per il profilo “California, prezzi, profilo “base + pop. 1000””, sonomostrate le seguenti tabelle:

• in tabella 8.3a i dati di configurazione del run;

• in tabella 8.3b le statistiche dell’individuo best;

• in tabella 8.3c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 8.4 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 8.5 la simulazione dell’individuo best sul long validationset.

Dalle tabelle si nota un vistoso peggioramento delle prestazioni sutesting e long testing set. La spiegazione che ci si e dato per questi risultatie che la formula rappresentata dall’individuo presenti delle singolarita (nonrisulta derivabile su qualche punto), cosicche su alcuni punti essa generaerrori (valori impulsivi) che poi rovinano le medie calcolate.

Page 115: Tesi

100 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 2

Popolazione iniziale 1000

Numero di generazioni 900

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190082000

Durata totale del run 1 gg 09:34:58

Training set WMAE media 4,58 %

Validation set

WMAE media 5,02 %WMAE massima 5,33 %DMAE media feriali 5,33 %DMAE media festivi 4,35 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 179,50 %WMAE massima 819,68 %DMAE media feriali 297,64 %DMAE media festivi 48,50 %

Long testing set

WMAE media 213,68 %WMAE massima 819,68 %DMAE media feriali 264,11 %DMAE media festivi 272,32 %

(c) Risultati della simulazione dell’individuo best

Tabella 8.3: California, prezzi, profilo “base + pop. 1000”: parametri del rune statistiche per l’individuo best generato

Page 116: Tesi

8.3. CALIFORNIA, PREZZI: PROFILO “BASE + POP. 1000” 101

0

10

20

30

40

50

60

0 4 8

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.4: California, prezzi, profilo “base + pop. 1000”: andamento individuobest su training set e validation set

Page 117: Tesi

102 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

-25000

-20000

-15000

-10000

-5000

0

5000

10000

15000

20000

25000

0 4 8 12

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

WMAE paper [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.5: California, prezzi, profilo “base + pop. 1000”: andamento individuobest su long testing set

Page 118: Tesi

8.4. CALIFORNIA, PREZZI: PROFILO “BASE + POP. 1000 + GEN. 1200”103

8.4 California, prezzi: profilo “base + pop. 1000+ gen. 1200”

Il profilo “base + pop. 1000 + gen. 1200” per i prezzi della Californiae identico al profilo base, ma la popolazione iniziale di ogni job e pari a1000 individui e si usano 1200 generazioni per evoluzione.

Per il profilo “California, prezzi, profilo “base + pop. 1000 + gen.1200””, sono mostrate le seguenti tabelle:

• in tabella 8.4a i dati di configurazione del run;

• in tabella 8.4b le statistiche dell’individuo best;

• in tabella 8.4c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 8.6 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 8.7 la simulazione dell’individuo best sul long validationset.

In questa profilo si noti il miglioramento delle prestazioni (valori cir-ca dimezzati) sul testing set rispetto al profilo con 1000 individui per lapopolazione iniziale ma solo 900 generazioni per l’evoluzione.

Page 119: Tesi

104 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 3

Popolazione iniziale 1000

Numero di generazioni 1200

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190019000

Durata totale del run 1 gg 12:40:14

Training set WMAE media 4,83 %

Validation set

WMAE media 4,94 %WMAE massima 5,23 %DMAE media feriali 5,27 %DMAE media festivi 4,27 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 96,21 %WMAE massima 477,48 %DMAE media feriali 127,84 %DMAE media festivi 17,69 %

Long testing set

WMAE media 316,39 %WMAE massima 1399,93 %DMAE media feriali 310,28 %DMAE media festivi 114,79 %

(c) Risultati della simulazione dell’individuo best

Tabella 8.4: California, prezzi, profilo “base + pop. 1000 + gen. 1200”:parametri del run e statistiche per l’individuo best generato

Page 120: Tesi

8.4. CALIFORNIA, PREZZI: PROFILO “BASE + POP. 1000 + GEN. 1200”105

0

10

20

30

40

50

60

0 4 8

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.6: California, prezzi, profilo “base + pop. 1000 + gen. 1200”:andamento individuo best su training set e validation set

Page 121: Tesi

106 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

-15000

-10000

-5000

0

5000

10000

15000

0 4 8 12

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

WMAE paper [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.7: California, prezzi, profilo “base + pop. 1000 + gen. 1200”:andamento individuo best su long testing set

Page 122: Tesi

8.5. CALIFORNIA, PREZZI: PROFILO “LUNGO” 107

8.5 California, prezzi: profilo “lungo”

Il profilo “lungo” per i prezzi della California e identico al profilo base,ma training set e validation set sono molto piu lunghi; in particolare, idue intervalli sono scelti in modo da coincidere esattamente, in posizionee lunghezza, con il training set del paper [15]. Si ha quindi un trainingset di 7 giorni + 29 settimane ed un validation set di 9 settimane: iltraining set va dal 5 Luglio 1999 al 30 Gennaio 2000 e il validation set dal31 Gennaio 2000 al 2 Aprile 2000. Testing set e long testing set restanoinvariati e vanno rispettivamente dal 3 Aprile 2000 al 11 Giugno 2000, edal 3 Aprile 2000 al 4 Luglio 2000.

Il grafico in figura 8.8 rappresenta i nuovi intervalli.

01/0

7/99

01/0

8/99

01/0

9/99

01/1

0/99

01/1

1/99

01/1

2/99

01/0

1/00

01/0

2/00

01/0

3/00

01/0

4/00

01/0

5/00

01/0

6/00

01/0

7/00

01/0

8/00

IntervalliFestivita

Figura 8.8: California, prezzi: posizione degli intervalli sul dataset-C con trai-ning lungo. Da sinistra verso destra, nell’ordine, l’intervallo di backshift, il trai-ning set, il validation set ed il long testing set, comprensivo del testing set, rialzatoper evidenziarlo. In basso, la serie dei giorni considerati festivi.

Per il profilo “California, prezzi, profilo “lungo””, sono mostrate leseguenti tabelle:

• in tabella 8.5a i dati di configurazione del run;

• in tabella 8.5b le statistiche dell’individuo best;

Page 123: Tesi

108 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

• in tabella 8.5c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 8.9 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 8.10 la simulazione dell’individuo best sul long validationset.

Si puo notare che le prestazioni sul testing set migliorano sensibilmenterispetto ai test precedenti; cio dimostra che, almeno per i prezzi, caratte-rizzati da maggiore volatilita, avere un training set ed un validation setpiu lungo rispetto al caso dei consumi e di beneficio alla GP.

Page 124: Tesi

8.5. CALIFORNIA, PREZZI: PROFILO “LUNGO” 109

Parametri per il profilo

Gruppo di macchine usato Gruppo 3

Popolazione iniziale 500

Numero di generazioni 900

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190089000

Durata totale del run 1 gg 00:35:45

Training set WMAE media 13,12 %

Validation set

WMAE media 5,54 %WMAE massima 7,24 %DMAE media feriali 5,35 %DMAE media festivi 6,17 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 19,00 %WMAE massima 89,00 %DMAE media feriali 18,91 %DMAE media festivi 12,87 %

Long testing set

WMAE media 466,33 %WMAE massima 3754,28 %DMAE media feriali 50,92 %DMAE media festivi 2395,09 %

(c) Risultati della simulazione dell’individuo best

Tabella 8.5: California, prezzi, profilo “lungo”: parametri del run e statisticheper l’individuo best generato

Page 125: Tesi

110 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

0

50

100

150

200

250

0 4 8 12 16 20 24 28 32 36

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.9: California, prezzi, profilo “lungo”: andamento individuo best sutraining set e validation set

Page 126: Tesi

8.5. CALIFORNIA, PREZZI: PROFILO “LUNGO” 111

-50000

0

50000

100000

150000

200000

250000

300000

350000

0 4 8 12

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

WMAE paper [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.10: California, prezzi, profilo “lungo”: andamento individuo best sulong testing set

Page 127: Tesi

112 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

8.6 California, prezzi: profilo “lungo + pop. 1000+ gen. 1200”

Il profilo “lungo + pop. 1000 + gen. 1200” per i prezzi della Califor-nia e identico al profilo “lungo”, ma la popolazione iniziale di ogni job epari a 1000 individui e si usano 1200 generazioni per evoluzione. Alter-nativamente, si puo dire che e l’analogo del profilo “base + pop. 1000 +gen. 1200” ma con training set e validation set coincidenti con quelli delpaper [15].

Per il profilo “California, prezzi, profilo “lungo + pop. 1000 + gen.1200””, sono mostrate le seguenti tabelle:

• in tabella 8.6a i dati di configurazione del run;

• in tabella 8.6b le statistiche dell’individuo best;

• in tabella 8.6c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 8.11 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 8.12 la simulazione dell’individuo best sul long validationset.

I risultati di questo profilo peggiora la WMAE media di testing emigliora quella massima; sul long testing set le performance miglioranoin modo netto. La prova pero non permette di capire se il miglioramen-to e dovuto alla popolazione iniziale piu grande o al maggior numero digenerazioni.

Page 128: Tesi

8.6. CALIFORNIA, PREZZI: PROFILO “LUNGO + POP. 1000 + GEN. 1200”113

Parametri per il profilo

Gruppo di macchine usato Gruppo 3

Popolazione iniziale 1000

Numero di generazioni 1200

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190002000

Durata totale del run 4 gg 01:38:49

Training set WMAE media 13,19 %

Validation set

WMAE media 5,48 %WMAE massima 6,90 %DMAE media feriali 5,28 %DMAE media festivi 6,12 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 22,19 %WMAE massima 69,90 %DMAE media feriali 20,31 %DMAE media festivi 21,22 %

Long testing set

WMAE media 56,80 %WMAE massima 309,86 %DMAE media feriali 44,31 %DMAE media festivi 106,02 %

(c) Risultati della simulazione dell’individuo best

Tabella 8.6: California, prezzi, profilo “lungo + pop. 1000 + gen. 1200”:parametri del run e statistiche per l’individuo best generato

Page 129: Tesi

114 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

0

50

100

150

200

250

0 4 8 12 16 20 24 28 32 36

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.11: California, prezzi, profilo “lungo + pop. 1000 + gen. 1200”:andamento individuo best su training set e validation set

Page 130: Tesi

8.6. CALIFORNIA, PREZZI: PROFILO “LUNGO + POP. 1000 + GEN. 1200”115

-5000

-4000

-3000

-2000

-1000

0

1000

2000

3000

4000

5000

0 4 8 12

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

WMAE paper [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.12: California, prezzi, profilo “lungo + pop. 1000 + gen. 1200”:andamento individuo best su long testing set

Page 131: Tesi

116 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

8.7 California, prezzi: profilo “lungo + gen. 1200”

Il profilo “lungo + gen. 1200” per i prezzi della California e identico alprofilo “lungo”, con la popolazione iniziale di ogni job pari al default di500 individui e l’uso di 1200 generazioni per evoluzione.

Questa prova e stata fatta perche nelle due prove precedenti che im-piegavano una popolazione iniziale di 1000 individui si puo notare che laWMAE del testing set e del long testing set sono piu alte (errore maggio-re) che negli altri casi. Si e supposto cioe che l’aumento della popolazioneiniziale peggiori l’evoluzione perche fa aumentare le possibilita che ven-ga scelto come best un individuo che pur minimizzando la WMAE sulvalidation set si comporta peggio di altri sul testing e long testing set.

Inoltre, osservando le performance fra il profilo “base + pop. 1000”e quello “base + pop. 1000 + gen. 1200”, la prova con 1200 generazionidimezza gli errori; quindi si e supposto che applicare 1200 generazioni alprofilo “lungo” potesse migliorare i risultati di quest’ultimo.

Per il profilo “California, prezzi, profilo “lungo + gen. 1200””, sonomostrate le seguenti tabelle:

• in tabella 8.7a i dati di configurazione del run;

• in tabella 8.7b le statistiche dell’individuo best;

• in tabella 8.7c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 8.13 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 8.14 la simulazione dell’individuo best sul long validationset.

Come si puo notate dalle tabelle,rispetto al profilo precedente “lungo+ pop. 1000 + gen. 1200”, la WMAE media per il testing set miglio-ra (migliora anche rispetto a quella del profilo “lungo”), mentre quellamassima peggiora solo di poco. Sul long testing set invece le prestazionipeggiorano sia sulla WMAE media che su quella massima, seppure di solo

Page 132: Tesi

8.7. CALIFORNIA, PREZZI: PROFILO “LUNGO + GEN. 1200” 117

qualche punto percentuale. Poiche pero il tempo di calcolo si riduce di unfattore circa 3, si e deciso di non utilizzare piu la popolazione iniziale paria 1000, ma di limitarsi al default di 500.

Page 133: Tesi

118 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

Parametri per il profilo

Gruppo di macchine usato Gruppo 3

Popolazione iniziale 500

Numero di generazioni 1200

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190120000

Durata totale del run 1 gg 15:03:58

Training set WMAE media 13,23 %

Validation set

WMAE media 5,59 %WMAE massima 6,93 %DMAE media feriali 5,61 %DMAE media festivi 5,72 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 17,95 %WMAE massima 71,83 %DMAE media feriali 17,33 %DMAE media festivi 15,24 %

Long testing set

WMAE media 69,41 %WMAE massima 328,49 %DMAE media feriali 49,96 %DMAE media festivi 107,14 %

(c) Risultati della simulazione dell’individuo best

Tabella 8.7: California, prezzi, profilo “lungo + gen. 1200”: parametri del rune statistiche per l’individuo best generato

Page 134: Tesi

8.7. CALIFORNIA, PREZZI: PROFILO “LUNGO + GEN. 1200” 119

0

50

100

150

200

250

0 4 8 12 16 20 24 28 32 36

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.13: California, prezzi, profilo “lungo + gen. 1200”: andamentoindividuo best su training set e validation set

Page 135: Tesi

120 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

-5000

-4000

-3000

-2000

-1000

0

1000

2000

3000

4000

5000

0 4 8 12

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

WMAE paper [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.14: California, prezzi, profilo “lungo + gen. 1200”: andamentoindividuo best su long testing set

Page 136: Tesi

8.8. CALIFORNIA, PREZZI: PROFILO “LUNGO + GEN. 1200 + NOTTE”121

8.8 California, prezzi: profilo “lungo + gen. 1200+ notte”

Il profilo “lungo + gen. 1200 + notte ” e uguale al profilo “lungo +gen. 1200”, ma introduce fra le variabili indipendenti di ED la variabileISNIGHT.

Si e supposto infatti che il mercato dei prezzi dell’elettricita segua com-portamenti differenti a seconda del periodo della giornata. In particolare,si e supposto che durante la notte profonda, al contrario del resto del gior-no, ci sia minore volatilita dei prezzi in quanto e piu facilmente stimabilela richiesta di elettricita. Questo potrebbe far sı che ED si adatti ad untipo di comportamento dei prezzi che poi, per poche ore della notte, vienedisatteso, causando errori grossi la stima e la misura. Quindi si e decisodi dare ad ED la possibilita di distinguere fra i due comportamenti me-diante l’uso di una nuova variabile booleana (in realta, double) chiamataISNIGHT, che vale 1.0 per le ore (HOUR) della giornata da 1 a 5 e 0.0altrimenti.

Si vuole quindi replicare quanto fatto per la gestione delle giornateferiali o festive con la variabile ISHOLISATSUN, e sperare che EDconverga verso un individuo il cui albero di sintassi astratta assume unaforma riconducibile a

ISNIGHT× (formula per ore notturne) +

(1.0− ISNIGHT)× (formula per ore diurne).

Per il profilo “California, prezzi, profilo “lungo + gen. 1200 + notte””,sono mostrate le seguenti tabelle:

• in tabella 8.8a i dati di configurazione del run;

• in tabella 8.8b le statistiche dell’individuo best;

• in tabella 8.8c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 8.15 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

Page 137: Tesi

122 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

• in figura 8.16 la simulazione dell’individuo best sul long validationset.

Dai risultati in tabella si puo notare che le WMAE media e massimadi testing set migliorano ancora rispetto al profilo precedente (senza di-scriminazione sulle ore della giornata) e ancora di piu migliorano sul longtesting set. Rispetto ai risultati del paper [15] riportati in tabella 8.1,la WMAE media e peggiore di circa tre punti percentuali, mentre quellamassima e peggiore di solo poco piu che mezzo punto percentuale.

Page 138: Tesi

8.8. CALIFORNIA, PREZZI: PROFILO “LUNGO + GEN. 1200 + NOTTE”123

Parametri per il profilo

Gruppo di macchine usato Gruppo 3

Popolazione iniziale 500

Numero di generazioni 1200

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)ISNIGHT (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190075000

Durata totale del run 1 gg 14:17:35

Training set WMAE media 13,87 %

Validation set

WMAE media 5,82 %WMAE massima 7,25 %DMAE media feriali 5,89 %DMAE media festivi 5,82 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 15,14 %WMAE massima 44,01 %DMAE media feriali 14,69 %DMAE media festivi 12,89 %

Long testing set

WMAE media 25,41 %WMAE massima 85,18 %DMAE media feriali 22,08 %DMAE media festivi 36,33 %

(c) Risultati della simulazione dell’individuo best

Tabella 8.8: California, prezzi, profilo “lungo + gen. 1200 + notte”: parametridel run e statistiche per l’individuo best generato

Page 139: Tesi

124 CAPITOLO 8. STIMATORI: PREZZI CALIFORNIA

0

50

100

150

200

250

0 4 8 12 16 20 24 28 32 36

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12 16 20 24 28 32 36

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.15: California, prezzi, profilo “lungo + gen. 1200 + notte”: andamentoindividuo best su training set e validation set

Page 140: Tesi

8.8. CALIFORNIA, PREZZI: PROFILO “LUNGO + GEN. 1200 + NOTTE”125

-1000-800-600-400-200

0200400600800

10001200

0 4 8 12

Pre

zzi

[$/M

Wh

]

Tempo [settimane]

Misurato [$/MWh]Stimato + Intercept [$/MWh]

Errore [$/MWh]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8 12

Err

ore

Pre

zzi

[%]

WM

AE

,D

MA

EP

rezz

i[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

WMAE paper [%]

(b) Errore percentuale, WMAE e DMAE

Figura 8.16: California, prezzi, profilo “lungo + gen. 1200 + notte”: andamentoindividuo best su long testing set

Page 141: Tesi
Page 142: Tesi

Capitolo 9

Stimatori: consumi NewYork

9.1 Stimatori per i consumi di New York

In questo capitolo si descrivono le prove per la ricerca degli stimatori peri consumi della citta di New York.

Il campo che contiene i consumi nel dataset-N, variabile dipendentestimata in questo prove, e il ACTUAL; la variabile indipendente con l’oradel giorno e il campo HOUR e quella con il flag booleano di festivita e ilcampo ISHOLISATSUN, come per i due casi della California.

Le prove per i consumi di New York sono state svolte scegliendo duegruppi di intervalli, in modo che i due intervalli di testing coincidano conquelli del paper [6]: il primo gruppo ha come testing set il mese di Gennaio2004, il secondo gruppo quello di Luglio 2004. In entrambi i casi si e sceltodi utilizzare come durata di training set e validation set la stessa utilizzataper i consumi della California (7 giorni + 8 settimane per il training e2 settimane per il validation), mentre il long testing set si estende per unmese dopo il testing set.

Il grafico in figura 9.1a rappresenta gli intervalli scelti per il primogruppo (testing su Gennaio 2004). Il training set va dal 15 Settembre 2003al 17 Dicembre 2003, il validation set dal 18 Dicembre 2003 al 31 Dicembre2003, il testing set, come detto, dal 1 Gennaio 2004 al 31 Gennaio 2004ed il long testing set dal 1 Gennaio 2004 al 28 Febbraio 2004. Si ricordi,

127

Page 143: Tesi

128 CAPITOLO 9. STIMATORI: CONSUMI NEW YORK

come detto nel capitolo 2, che per il dataset-N non si e potuto recuperarei dati per il mese di Ottobre 2003. Per questo motivo il training set peril primo gruppo non include i dati di Ottobre ed inizia dal 15 Settembre(invece dal 15 Ottobre).

Il grafico in figura 9.1b rappresenta invece gli intervalli scelti per ilsecondo gruppo (testing su Luglio 2004). Il training set va dal 15 Aprile2004 al 29 Luglio 2004, il validation set dal 17 Giugno 2004 al 30 Giugno2004, il testing set, come detto, dal 1 Luglio 2004 al 31 Luglio 2004 ed illong testing set dal 1 Luglio 2004 al 31 Agosto 2004.

Infine, vengono mostrati in tabella 9.1 i risultati raggiunti in [6] per idue testing set.

Risultati del paper [6]

WMAE media Gennaio 2004 1,82 %

WMAE media Luglio 2004 2,29 %

Tabella 9.1: New York, consumi: risultati per testing del paper [6]

Page 144: Tesi

9.1. STIMATORI PER I CONSUMI DI NEW YORK 129

01/0

9/03

01/1

0/03

01/1

1/03

01/1

2/03

01/0

1/04

01/0

2/04

01/0

3/04

IntervalliFestivita

(a) New York, consumi: intervalli per testing su Gennaio 2004

03/0

4/04

17/0

4/04

01/0

5/04

15/0

5/04

29/0

5/04

12/0

6/04

26/0

6/04

10/0

7/04

24/0

7/04

07/0

8/04

21/0

8/04

04/0

9/04

IntervalliFestivita

(b) New York, consumi: intervalli per testing su Luglio 2004

Figura 9.1: New York, consumi: posizione degli intervalli per testing su Gennaio2004 e Luglio 2004. Da sinistra verso destra, nell’ordine, l’intervallo di backshift,il training set, il validation set ed il long testing set, comprensivo del testing set,rialzato per evidenziarlo. In basso, la serie dei giorni considerati festivi. Si notiche nel grafico per Gennaio 20004 viene rappresentato artificiosamente il mese diOttobre 2003 che nel dataset-N in realta non e presente.

Page 145: Tesi

130 CAPITOLO 9. STIMATORI: CONSUMI NEW YORK

9.2 New York, consumi, Gennaio 2004: profilo“base”

Il profilo base per i consumi di New York, testing set Gennaio 2004, eidentico al profilo “base + festivita” dei consumi Day-Ahead della Cali-fornia.

Per il profilo “New York, consumi, Gennaio 2004, profilo “base””, sonomostrate le seguenti tabelle:

• in tabella 9.2a i dati di configurazione del run;

• in tabella 9.2b le statistiche dell’individuo best;

• in tabella 9.2c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 9.2 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 9.3 la simulazione dell’individuo best sul long validationset.

I risultati raggiunti sono peggiori rispetto al riferimento.

Page 146: Tesi

9.2. NEW YORK, CONSUMI, GENNAIO 2004: PROFILO “BASE”131

Parametri per il profilo

Gruppo di macchine usato Gruppo 5

Popolazione iniziale 500

Numero di generazioni 900

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190127000

Durata totale del run 3 gg 06:41:00

Training set WMAE media 3,12 %

Validation set

WMAE media 2,35 %WMAE massima 2,83 %DMAE media feriali 2,03 %DMAE media festivi 3,05 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 3,14 %WMAE massima 4,28 %DMAE media feriali 2,71 %DMAE media festivi 4,35 %

Long testing set

WMAE media 3,12 %WMAE massima 5,87 %DMAE media feriali 2,52 %DMAE media festivi 4,43 %

(c) Risultati della simulazione dell’individuo best

Tabella 9.2: New York, consumi, Gennaio 2004, profilo “base”: parametri delrun e statistiche per l’individuo best generato

Page 147: Tesi

132 CAPITOLO 9. STIMATORI: CONSUMI NEW YORK

0

1000

2000

3000

4000

5000

6000

7000

8000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 9.2: New York, consumi, Gennaio 2004, profilo “base”: andamentoindividuo best su training set e validation set

Page 148: Tesi

9.2. NEW YORK, CONSUMI, GENNAIO 2004: PROFILO “BASE”133

0

1000

2000

3000

4000

5000

6000

7000

8000

0 4 8

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 9.3: New York, consumi, Gennaio 2004, profilo “base”: andamentoindividuo best su long testing set

Page 149: Tesi

134 CAPITOLO 9. STIMATORI: CONSUMI NEW YORK

9.3 New York, consumi, Luglio 2004: profilo “ba-se”

Il profilo base per i consumi di New York, testing set Luglio 2004, e identicoal profilo “base + festivita” dei consumi Day-Ahead della California.

Per il profilo “New York, consumi, Luglio 2004, profilo “base””, sonomostrate le seguenti tabelle:

• in tabella 9.3a i dati di configurazione del run;

• in tabella 9.3b le statistiche dell’individuo best;

• in tabella 9.3c i risultati della simulazione dell’individuo best sultesting set e sul long testing set.

e le seguenti figure:

• in figura 9.4 l’andamento dell’individuo best sugli intervalli di trai-ning e di validation;

• in figura 9.5 la simulazione dell’individuo best sul long validationset.

I risultati raggiunti sono peggiori rispetto al riferimento.

Page 150: Tesi

9.3. NEW YORK, CONSUMI, LUGLIO 2004: PROFILO “BASE” 135

Parametri per il profilo

Gruppo di macchine usato Gruppo 4

Popolazione iniziale 500

Numero di generazioni 900

Nodi funzionali +,−,×,÷Backshift variabile dipendente -168, -25, -24

Variabili indipendenti e backshiftHOUR (solo attuale)ISHOLISATSUN (-168, -25, -24, attuale)

(a) Parametri per il profilo

Statistiche per il best

Seed del job cui appartiene il best 190093000

Durata totale del run 2 gg 23:26:31

Training set WMAE media 5,89 %

Validation set

WMAE media 4,72 %WMAE massima 5,67 %DMAE media feriali 3,89 %DMAE media festivi 7,24 %

(b) Statistiche per l’individuo best

Risultati di simulazione

Testing set

WMAE media 5,74 %WMAE massima 8,75 %DMAE media feriali 5,25 %DMAE media festivi 7,04 %

Long testing set

WMAE media 6,32 %WMAE massima 8,85 %DMAE media feriali 5,74 %DMAE media festivi 7,79 %

(c) Risultati della simulazione dell’individuo best

Tabella 9.3: New York, consumi, Luglio 2004, profilo “base”: parametri del rune statistiche per l’individuo best generato

Page 151: Tesi

136 CAPITOLO 9. STIMATORI: CONSUMI NEW YORK

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

0 4 8

Cari

co[M

W]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 9.4: New York, consumi, Luglio 2004, profilo “base”: andamentoindividuo best su training set e validation set

Page 152: Tesi

9.3. NEW YORK, CONSUMI, LUGLIO 2004: PROFILO “BASE” 137

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

0 4 8

Car

ico

[MW

]

Tempo [settimane]

Misurato [MW]Stimato + Intercept [MW]

Errore [MW]

(a) Curva misurata, stimata ed errore assoluto

0%

10%

20%

30%

40%

50%

0 4 8

Err

ore

Car

ico

[%]

WM

AE

,D

MA

EC

aric

o[%

]

Tempo [settimane]

Errore [%]WMAE [%]DMAE [%]

(b) Errore percentuale, WMAE e DMAE

Figura 9.5: New York, consumi, Luglio 2004, profilo “base”: andamentoindividuo best su long testing set

Page 153: Tesi
Page 154: Tesi

Capitolo 10

Conclusioni

10.1 Conclusioni

In questo lavoro di tesi, si voleva mostrare che la Genetic Programming euna scelta opportuna per risolvere il problema della stima dei consumi edei prezzi dell’elettricita. I risultati raggiunti sono molto incoraggianti.

Per la stima Hour-Ahead dei consumi della California, i risultati nu-merici rientrano nello stato dell’arte di questi ultimi anni (errore fra l’ 1%e il 3% citati in [6]).

Per la stima Day-Ahead dei consumi della California gli errori superanodi poco l’obiettivo citato in [6].

Anche per la stima Day-Ahead dei prezzi della California, gli errorinumerici ottenuti superano di poco l’obiettivo citato in [15]. E’ importan-te sottolineare che il lavoro citato e una sorta di riferimento universale inquanto analizzava in modo esaustivo le prestazioni di 12 approcci diversiper la generazione degli stimatori. Ogni approccio e stato utilizzato con24 calibrazioni diverse, una per ogni ora del giorno. Inoltre, la calibrazionedi ognuno dei 24× 12 modelli e stata ripetuta per ogni singolo giorno del-l’intervallo di testing. Il migliore stimatore che siamo riusciti ad ottenerenella parte conclusiva di questo lavoro fornisce risultati paragonabili e dipoco inferiori ai migliori risultati riportati nel lavoro citato.

Per la stima Day-Ahead dei consumi di New York, l’errore ottenutoe leggermente piu alto di quello ottenuto in [6]. A questo specifico pro-blema, peraltro, e stato possibile dedicare una sola esecuzione di ED, per

139

Page 155: Tesi

140 CAPITOLO 10. CONCLUSIONI

motivi di tempo, e in questa esecuzione e stata utilizzata la configurazio-ne applicata ai consumi Day-Ahead della California. E’ plausibile che siapossibile ottenere risultati migliori con una messa a punto dei parametridi evoluzione, esattamente com’e accaduto negli altri casi studiati.

Al di la dei risultati numerici, in tutti i casi, gli stimatori sono rea-lizzati senza alcun pre-processing dei dati, senza usare variabili esogene,e realizzando in tutti i casi un unico stimatore: tutte condizioni opposteai paper di riferimento. Anche gli intervalli di training e di validationutilizzati sono molto piu corti di quelli utilizzati nei paper di riferimento.

Dal lato pratico l’unico aspetto negativo riscontrato nel lavoro e de-terminato dai tempi di calcolo necessari; tale problema si puo pero risol-vere facilmente aumentando i processori disponibili, poiche il processo dicalcolo e parallelizzabile per job. Per ottenere invece risultati numericimigliori si ritiene ottimisticamente che potrebbe essere sufficiente aumen-tare il numero di generazioni dell’evoluzione (ogni aumento del numero digenerazioni ha migliorato di qualche punto percentuale i risultati numeri-ci). Anche approcci differenti nella scelta dell’individuo best potrebberoportare a miglioramenti: si e pensato ad eliminare gli individui le cui pre-stazioni su training e validation vengono dominate da altri individui (almomento la scelta viene effettuata alla cieca andando semplicemente ascegliere l’individuo che minimizza la WMAE media sul validation set).

In conclusione si crede che la Genetic Programming possa rappresen-tare una buona scelta per la stima dei consumi e dei prezzi dell’elettricita,a maggior ragione se non si e alla ricerca della prestazione numericamenteottima, ma, magari, solo a stimatori ottenuti senza necessita di troppeassunzioni a priori sui fattori che influenzano l’evoluzione della grandezzasotto esame.

Page 156: Tesi

Bibliografia e siti webconsultati

[1] Notes on r: A programming environment for data analysis andgraphics. [citato a p. 7]

[2] UCEI frequently used data code description.http://www.ucei.berkeley.edu/CSEM/datamine/uceidata/code description.txt.[citato a p. 7]

[3] Anon. Public holidays in the united states - wikipedia, the freeencyclopedia. [citato a p. 9, 12]

[4] W. Banzhaf. Genetic Programming: An Introduction on the Auto-matic Evolution of computer programs and its Applications. MorganKaufmann, 1998. [citato a p. 13]

[5] C. Darwin. On the origin of species by means of natural selection, orthe preservation of favoured races in the struggle for life. New York:D. Appleton, 1859. [citato a p. 13]

[6] S. Fan and L. Chen. Short-term load forecasting based on anadaptive hybrid method. IEEE Transactions on Power Systems,21(1):392–401, 2006. [citato a p. xii, 11, 15, 53, 63, 127, 128, 139]

[7] Chris Gathercole, Peter Ross, and South Bridge. Small populationsover many generations can beat large populations over few genera-tions in genetic programming. GENETIC PROGRAMMING 1997:PROCEEDINGS OF THE SECOND ANNUAL CONFERENCE,pages 111—118, 1997. [citato a p. 16]

141

Page 157: Tesi

142 BIBLIOGRAFIA E SITI WEB CONSULTATI

[8] J. R Koza. Genetic programming: on the programming of computersby means of natural selection. The MIT press, 1992. [citato a p. 13]

[9] J. R Koza. Genetic Programming II: Automatic Discovery of ReusableSubprograms. MIT press, 1994. [citato a p. 13]

[10] F. J Nogales, J. Contreras, A. J Conejo, and R. Espınola. Forecastingnext-day electricity prices by time series models. IEEE Transactionson Power Systems, 17(2):342–348, 2002. [citato a p. 53]

[11] State of California. Official state holidays for the 1999-2000 fi-scal year. http://www.dpa.ca.gov/textdocs/freepmls/PML99024.txt.[citato a p. 9]

[12] State of California. Saturday holiday.http://www.dpa.ca.gov/textdocs/freepmls/PML98023.txt.[citato a p. 9]

[13] Toshiyuki Sueyoshi. Beyond economics for guiding large public policyissues: Lessons from the bell system divestiture and the californiaelectricity crisis. Decision Support Systems, 48(3):457–469, February2010. [citato a p. 6]

[14] UCEI. UCEI frequently used data.http://www.ucei.berkeley.edu/datamine/uceidata/. [citato a p. 6]

[15] R. Weron and A. Misiorek. Forecasting spot electricity prices: Acomparison of parametric and semiparametric time series models. In-ternational Journal of Forecasting, 24(4):744–763, 2008. [citato a p. xi,

15, 52, 63, 64, 93, 94, 107, 112, 122, 139]


Recommended