SlideShare ist ein Scribd-Unternehmen logo
1 von 157
Downloaden Sie, um offline zu lesen
1
`
    UNIVERSITA DEGLI STUDI DI TRIESTE
                      `
                FACOLTA DI INGEGNERIA

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




                     Tesi di laurea in
                 RETI DI CALCOLATORI

   PROGETTO E REALIZZAZIONE DI
STIMATORI PREDITTIVI CON TECNICHE
    DI GENETIC PROGRAMMING



Laureando:                                 Relatore:
Gabriele DEL PRETE                         Prof. Alberto BARTOLI

                                           Correlatore:
                                           Ing. Giorgio DAVANZO




                Anno Accademico 2008-2009
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’elettricit` degli Stati Uniti
                              a                                                              5
  2.1 Il mercato dell’elettricit` degli Stati Uniti .
                                a                       .   .   .   .   .   .   .   .   .    5
  2.2 Il mercato della California . . . . . . . . . .   .   .   .   .   .   .   .   .   .    6
  2.3 Il dataset della California . . . . . . . . . .   .   .   .   .   .   .   .   .   .    6
  2.4 Dataset-C: elaborazioni . . . . . . . . . . .     .   .   .   .   .   .   .   .   .    7
  2.5 Festivit` per lo Stato della California . . . .
              a                                         .   .   .   .   .   .   .   .   .    9
  2.6 Mercato e dataset di New York . . . . . . .       .   .   .   .   .   .   .   .   .   10
  2.7 Dataset-N: elaborazioni . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   11
  2.8 Festivit` per lo Stato di New York . . . . .
              a                                         .   .   .   .   .   .   .   .   .   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
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 densit` di probabilit`
                            a               a    .   .   .   .   .   .   .   .   .   .   .   .   .   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 + festivit`” .
                                              a              .   .   .   .   .   .   .   .   .   .   81
INDICE                                                                      v

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

8 Stimatori: prezzi California                                             93
  8.1 Stimatori per i prezzi della California . . . . . . . . . . . . .    93
  8.2 California, prezzi: profilo base . . . . . . . . . . . . . . . . .    95
  8.3 California, prezzi: profilo “base + pop. 1000” . . . . . . . .        99
  8.4 California, prezzi: profilo “base + pop. 1000 + gen. 1200” .         103
  8.5 California, prezzi: profilo “lungo” . . . . . . . . . . . . . . .    107
  8.6 California, prezzi: profilo “lungo + pop. 1000 + gen. 1200”          112
  8.7 California, prezzi: profilo “lungo + gen. 1200” . . . . . . .        116
  8.8 California, prezzi: profilo “lungo + gen. 1200 + notte” . . .        121

9 Stimatori: consumi New York                                      127
  9.1 Stimatori per i consumi di New York . . . . . . . . . . . . . 127
  9.2 New York, consumi, Gennaio 2004: profilo “base” . . . . . . 130
  9.3 New York, consumi, Luglio 2004: profilo “base” . . . . . . . 134

10 Conclusioni                                                           139
   10.1 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Bibliografia e siti web consultati                                         141
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: densit` di probabilit` del carico . . . . . . .
                          a              a                                           .   .   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: densit` di probabilit` dei prezzi . . . . . . .
                          a              a                                           .   .   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: densit` di probabilit` del carico . . . . . . .
                          a              a                                           .   .   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 e
        WMAE di validation . . . . . . . . . . . . . . . . . . . . . 55

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

                                   vii
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 individuo
              best su training set e validation set . . . . . . . . . . . . .    . 71
       7.5    California, consumi DA, profilo base: andamento individuo
              best su long testing set . . . . . . . . . . . . . . . . . . . .   . 72
       7.6    California, consumi DA, profilo base + DAE: andamento
              individuo best su training set e validation set . . . . . . .      . 75
       7.7    California, consumi DA, profilo base + DAE: andamento
              individuo best su long testing set . . . . . . . . . . . . . .     . 76
       7.8    California, consumi DA, profilo base + sin e cos: andamento
              individuo best su training set e validation set . . . . . . .      . 79
       7.9    California, consumi DA, profilo base + sin e cos: andamento
              individuo best su long testing set . . . . . . . . . . . . . .     . 80
       7.10   California, consumi DA, profilo base + festivit`: andamen-
                                                                a
              to individuo best su training set e validation set . . . . . .     . 83
       7.11   California, consumi DA, profilo base + festivit`: andamen-
                                                                a
              to individuo best su long testing set . . . . . . . . . . . .      . 84
       7.12   California, consumi DA, profilo base + 12 ore: andamento
              individuo best su training set e validation set . . . . . . .      . 87
       7.13   California, consumi DA, profilo base + 12 ore: andamento
              individuo best su long testing set . . . . . . . . . . . . . .     . 88
       7.14   California, consumi DA, profilo base + 7 giorni: andamento
              individuo best su training set e validation set . . . . . . .      . 91
       7.15   California, consumi DA, profilo base + 7 giorni: andamento
              individuo 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 best
              su training set e validation set . . . . . . . . . . . . . . . .   . 97
       8.3    California, prezzi, profilo base: andamento individuo best
              su long testing set . . . . . . . . . . . . . . . . . . . . . .    . 98
       8.4    California, prezzi, profilo “base + pop. 1000”: andamento
              individuo best su training set e validation set . . . . . . .      . 101
ELENCO DELLE FIGURE                                                            ix

  8.5    California, prezzi, profilo “base + pop. 1000”: andamento
         individuo 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-C
         con training lungo . . . . . . . . . . . . . . . . . . . . . .     . 107
  8.9    California, prezzi, profilo “lungo”: andamento individuo
         best su training set e validation set . . . . . . . . . . . . .    . 110
  8.10   California, prezzi, profilo “lungo”: andamento individuo
         best 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”: andamento
         individuo best su training set e validation set . . . . . . .      . 119
  8.14   California, prezzi, profilo “lungo + gen. 1200”: andamento
         individuo 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 . . . . . . . . . . . . . . . .      . 129
  9.2    New York, consumi, Gennaio 2004, profilo “base”: anda-
         mento individuo best su training set e validation set . . .        . 132
  9.3    New York, consumi, Gennaio 2004, profilo “base”: anda-
         mento individuo best su long testing set . . . . . . . . . .       . 133
  9.4    New York, consumi, Luglio 2004, profilo “base”: andamen-
         to individuo best su training set e validation set . . . . . .     . 136
  9.5    New York, consumi, Luglio 2004, profilo “base”: andamen-
         to individuo best su long testing set . . . . . . . . . . . .      . 137
Elenco delle tabelle

 2.1   Festivit` nello Stato della California . . . . . . . . . . . . . 9
               a
 2.2   Festivit` nello Stato di New York . . . . . . . . . . . . . . . 12
               a

 6.1   Parametri costanti nelle esecuzioni di ED . . . . . . . . . . 50
 6.2   Macchine disponibili per la computazione . . . . . . . . . . 61
 6.3   Gruppi di macchine utilizzati . . . . . . . . . . . . . . . . . 61

 7.1   California, consumi HA, profilo unico: parametri del run e
       statistiche per l’individuo best generato . . . . . . . . . .   . 66
 7.2   California, consumi DA, profilo base: parametri del run e
       statistiche per l’individuo best generato . . . . . . . . . .   . 70
 7.3   California, consumi DA, profilo base + DAE: parametri del
       run e statistiche per l’individuo best generato . . . . . . .   . 74
 7.4   California, consumi DA, profilo base + sin e cos: parametri
       del run e statistiche per l’individuo best generato . . . . .   . 78
 7.5   California, consumi DA, profilo base + festivit`: parametri
                                                       a
       del run e statistiche per l’individuo best generato . . . . .   . 82
 7.6   California, consumi DA, profilo base + 12 ore: parametri
       del run e statistiche per l’individuo best generato . . . . .   . 86
 7.7   California, consumi DA, profilo base + 7 giorni: parametri
       del run e statistiche per l’individuo best generato . . . . .   . 90

 8.1   California, prezzi: risultati per il testing set del paper [15] . 94
 8.2   California, prezzi, profilo base: parametri del run e statisti-
       che per l’individuo best generato . . . . . . . . . . . . . . . 96
 8.3   California, prezzi, profilo “base + pop. 1000”: parametri
       del run e statistiche per l’individuo best generato . . . . . . 100

                                   xi
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”: parametri
            del 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] . . . 128
      9.2   New York, consumi, Gennaio 2004, profilo “base”: parame-
            tri del run e statistiche per l’individuo best generato . . . . 131
      9.3   New York, consumi, Luglio 2004, profilo “base”: parametri
            del run e statistiche per l’individuo best generato . . . . . . 135
Capitolo 1

Introduzione

1.1     La Genetic Programming per predirre il mer-
        cato elettrico

In questa tesi si ` affrontato il problema della realizzazione di stimatori
                   e
predittivi per i consumi ed i prezzi dell’elettricit` mediante la tecnica
                                                      a
della Genetic Programming. La Genetic Programming ` un paradigma di
                                                           e
calcolo per la generazione automatica di algoritmi fortemente ispirato ai
meccanismi della selezione naturale.
    La letteratura scientifica generalmente si basa su approcci di carattere
statistico per la realizzazione di stimatori predittivi per i consumi ed i
prezzi dell’elettricit`. In questo lavoro si vuole mostrare che la Genetic
                      a
Programming permette di ottenere stimatori con prestazioni paragonabili
agli stimatori tradizionali ma che possono essere generati ed utilizzati in
modo molto pi` semplice, in particolare, senza effettuare preelaborazioni
                u
sui dati storici, senza ricorrere a variabili esogene e senza necessit` dia
creare e gestire una molteplicit` di modelli calibrati in modo diverso.
                                  a
    La motivazione di questo lavoro nasce dalla considerazione che, a se-
guito della liberalizzazione del mercato dell’energia elettrica attuato negli
ultimi anni in molti paesi, in cui produttori e consumatori si scambiano l’e-
lettricit` mediante asta, ` diventato importante predirre l’andamento della
         a                e
quantit` e dei prezzi dell’elettricit` per ottimizzare i costi di acquisto o di
         a                           a
produzione e ridurre gli sprechi.

                                      1
2                                        CAPITOLO 1. INTRODUZIONE

     La comunit` scientifica studia da anni questo problema, e le soluzioni
                 a
proposte generalmente fanno uso di metodi ricadenti nelle pure scienze
statistiche (modellazione parametrica di serie temporali). Questi meto-
di per` fanno spesso uso di pre-processing sui dati iniziali (ad esempio,
        o
sostituzione dei valori da stimare con il loro logaritmo, identificazione
ed eliminazione di outlier, eliminazione di giornate “particolarmente pro-
blematiche”), o utilizzano variabili esogene (dati ambientali o finanziari
esterni), o scelgono di creare molteplici modelli invece di uno singolo (ad
esempio, un modello differente per ogni ora del giorno), e risultano quindi
meno immediati nella fase di utilizzo perch´ la ricalibrazione del modello
                                              e
risulta pi` complessa.
           u
     Il lavoro che qui si descrive ` stato realizzato dallo scrivente pres-
                                    e
so il Laboratorio di Reti di Calcolatori del Dipartimento di Elettronica,
Elettrotecnica ed Informatica dell’Universit` di Trieste.
                                              a
     Il framework per la Genetic Programming che ` stato utilizzato, Evo-
                                                     e
lutionary Design, ` stato sviluppato negli ultimi anni presso il Laboratorio
                   e
ed ` gi` stato utilizzato con successo su problemi dalla natura pi` varia:
    e a                                                              u
dalla stima della disponibilit` di contante da assicurare presso uno sportel-
                              a
lo Bancomat, passando alla stima della distribuzione del calore all’interno
di forni, per giungere alla stima dei tempi di ri-trasmissione dei pacchetti
all’interno del protocollo TCP.
     Tutto il restante lavoro di implementazione di script bash e R di
elaborazione dati ` stato svolto dallo scrivente.
                   e


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 modo
per quanto riguarda la regressione simbolica di serie temporali.
    Il capitolo 4 descrive Evolutionary Design e documenta l’uso del plugin
di valutazione DAEScalarEvaluation realizzato con questo lavoro.
    Il capitolo 2 descrive gli archivi dei dati di consumo elettrico e dei
prezzi dell’elettricit` utilizzati.
                      a
    Il capitolo 5 descrive alcune semplici analisi statistiche realizzate sugli
archivi del capitolo precedente.
1.3. CONVENZIONI                                                            3

    Il capitolo 6 descrive la metodologia seguita nelle prove per la ricerca
con la Genetic Programming degli stimatori.
    Il capitolo 7 documenta la ricerca degli stimatori per i consumi elettrici
della California.
    Il capitolo 8 documenta la ricerca degli stimatori per i prezzi dell’elet-
tricit` della California.
      a
    Il capitolo 9 documenta la ricerca degli stimatori per i consumi elettrici
della citt` di New York.
          a
    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 abbrevier` il termine “Genetic Programming” con GP e il nome di
                 a
“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 user` il corsivo.
                                                   a
   I nomi delle funzioni statistiche che verranno usate per analizzare le
prestazioni degli stimatori saranno in maiuscoletto.
Capitolo 2

Il mercato dell’elettricit`
                          a
degli Stati Uniti

2.1     Il mercato dell’elettricit` degli Stati Uniti
                                  a
Negli anni 90 dello scorso secolo gli Stati Uniti d’America hanno attuato
un processo di liberalizzazione e deregulation del mercato elettrico interno.
     A tale scopo ` stata creata un’agenzia federale indipendente, la Fede-
                   e
ral Energy Regulation Commission (FERC ), che ha lo scopo di supervi-
sionare il mercato elettrico liberalizzato per quanto riguarda—tra le altre
cose—i prezzi di alcune materie prime e i prezzi dello scambio wholesale
dell’elettricit`.
               a
     Oltre alla FERC, sono state create da parte dei singoli Stati dell’Unione
altre agenzie di controllo del mercato dell’elettricit`, che operano solo
                                                         a
all’interno del mercato del relativo stato, o tutto al pi` in parti di quelli
                                                           u
delle regioni o stati confinanti; tali agenzie statali sono note con il nome
di Independent System Operator (ISO). La FERC infine ha ordinato la
creazione (e a tutt’oggi supervisiona) di un sistema informativo pubblico e
accessibile tramite il web, chiamato Open Access Same-Time Information
System (OASIS ), che fornisce servizi utili a venditori ed acquirenti di
energia elettrica in maniera aperta, equa e non discriminatoria.
     In questo lavoro sono stati utilizzati due archivi, pubblicati dai due
differenti OASIS di due differenti ISO: quello per l’intero Stato della Cali-
fornia e quello relativo alla sola area metropolitana della citt` di New York.
                                                                a

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

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


2.2     Il mercato della California
`
E opportuno aprire una breve parentesi sul funzionamento del mercato
liberalizzato 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 perch´ di natura diffe-
                                                         e
rente:
   • il mercato Day-Ahead (DA) ` un mercato, gestito da un ente ester-
                                    e
     no all’ISO della California, il California Power Exchange (PX ), a
     carattere speculativo/finanziario: i partecipanti dell’asta lanciano le
     offerte di acquisto e di vendita allo scopo di massimizzare il profitto,
     e tutte le transazioni si fermano un giorno prima della vera consegna
     dell’elettricit`;
                    a

   • il mercato Hour-Ahead (HA) invece ` il mercato direttamente gestito
                                          e
     dall’ISO della California (CAISO), in cui i lanci per le offerte di
     acquisto e di vendita di ripetono ogni ora e riguardano i prezzi e
     i consumi dell’ora successiva: le possibilit` di speculazioni su un
                                                  a
     intervallo di tempo cos` corto sono ovviamente molto pi` limitate e i
                             ı                              u
     prezzi del mercato HA sono molto pi` dipendenti dalle reali necessit`
                                          u                              a
     di 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 ) ` disponibile e libera-
                                                       e
mente utilizzabile da chiunque per scopi didattici e di ricerca ed ` pubbli-
                                                                    e
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 per
analisi statistiche STATA. I dati contenuti sono identici. In entrambi i
2.4. DATASET-C: ELABORAZIONI                                                  7

casi, si pu` considerare come una tabella di record, in cui ogni record
            o
fornisce valori veri e stime per i consumi elettrici ed i prezzi di scambio
relativi, oltre ovviamente alle informazioni temporali (ora, giorno, mese,
anno cui si riferiscono i valori del record) proprie del record. Dei singoli
campi nel file esiste sono una breve descrizione presente sempre sul sito
della UCEI[2].
    Nel file le stime di quasi tutte le grandezze sono doppie in quanto
vengono fornite per entrambi i mercati di scambio attivi.
    I campi di ogni record del file sono identici per le due versioni CSV e
STATA 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 della
     settimana cui appartiene il giorno relativo al record;

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

   • il prezzo orario misurato dell’elettricit` per il sotto-mercato DA, nel
                                              a
     campo PPXSYS (descritto come Price in PX for Unconstrained
     System);

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


2.4     Dataset-C: elaborazioni
`
E stato necessario elaborare il dataset-C per renderlo utilizzabile con il
framework 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 in
formata STATA (gestibile da R tramite un package di libreria aggiunti-
vo) scaricato dal sito UCEI. Dalla serie di dati originali vengono quindi
eliminati 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
`
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 contiene
la serie di dati per quasi 6 anni interi): l’anno scelto ` quello che va dal 5
                                                         e
Luglio 1999 al 4 Luglio 2000 (per un totale di 366 giorni, e 366 ∗ 24 = 8784
record orari). Vengono quindi estratti, per ogni record, solo i campi di
interesse: 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 giorno
della settimana (SUNDAY, MONDAY,. . . , SATURDAY), il campo
dei consumi orari osservati QASYS e il campo dei prezzi orari osservati
per il sotto-mercato DA PPXSYS.
    Durante le prime analisi si ` notato che, all’interno dell’anno scelto,
                                    e
due valori del campo QASYS e un valore del campo PPXSYS erano
mancanti: il problema ` stato risolto sostituendo ai valori mancanti una
                          e
interpolazione data dai valori vicini.
    Ai campi estratti, nel file di output, ne vengono aggiunti altri, calcolati
dallo script:

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

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

   • il campo ISHOLISATSUN, booleano, che assume valore 1 se il
     giorno cui appartiene il record orario ` un giorno festivo (campo
                                            e
     ISHOLIDAY pari a 1) oppure ` un sabato o una domenica (quindi:
                                    e
     ISHOLISAT SU N := ISHOLIDAY or SAT U RDAY or SU N DAY );

   • il campo ISNIGHT, booleano, che assume valore 1 per le ore del
     giorno (campo HOUR) che si vogliono considerare notte profonda
     (la scelta fatta per questo lavoro considera come notte fonda le ore
`
2.5. FESTIVITA PER LO STATO DELLA CALIFORNIA                                9

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

   • il campo DAE, reale, che assume identicamente il valore 0.0 e la cui
     utilit` verr` descritta nel capitolo 4.
           a     a

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


2.5     Festivit` per lo Stato della California
                a
Le festivit` per lo Stato della California sono state ricavate da Wikipedia
           a
(vedi [3]) e dal sito del Dipartimento per l’Amministrazione del Personale
dello Stato della California (vedi [11]).
    Le festivit` pubbliche osservate in California sono:
               a

 Festivit`a                       Ricorrenza
 1 Gennaio                        Capodanno
 Terzo luned` di Gennaio
            ı                     Compleanno di Martin Luther King
 Terzo luned` di Febbraio
            ı                     Giorno dei Presidenti
 Ultimo luned` di Maggio
               ı                  Memorial Day
 4 Luglio                         Festa dell’Indipendenza
 Primo luned` di Settembre
             ı                    Festa del Lavoro
 11 Novembre                      Giorno dei Veterani
 Quarto gioved` di Novembre
                 ı                Thanksgiving
 Quarto venerd` di Novembre
                  ı               Giorno dopo il Thanksgiving
 25 Dicembre                      Natale

              Tabella 2.1: Festivit` nello Stato della California
                                   a

   In California, se una festivit` pubblica cade di domenica, di norma vie-
                                 a
ne portata al luned` successivo[3]; analogamente, se una festivit` pubblica
                    ı                                            a
cade di sabato, la legge permetterebbe di portarla al venerd` immediata-
                                                              ı
mente precedente[12]: mentre per` nel primo caso lo spostamento avviene
                                   o
sempre, nel secondo caso questo accade raramente (le aziende possono
decidere se farlo o no, e in genere scelgono di no)[3].
`
10CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI

    Lo script R per la California tiene conto di queste convenzioni e marca
quindi come festivo un giorno se e solo se il giorno appartiene ad una
festivit` e non ` domenica, o se il giorno ` luned` e il giorno precedente
        a       e                           e       ı
era un giorno di festa.
    Per l’intervallo di tempo considerato per il dataset-C l’eccezione di
spostamento a luned` della festivit` domenicale accade solo per la Festa
                      ı              a
dell’Indipendenza del 1999—4 Luglio 1999, una domenica—che viene spo-
stata a luned` 5 Luglio 1999 (incidentalmente, il primo giorno del dataset
              ı
estratto).


2.6       Mercato e dataset di New York
Si noti innanzitutto che al contrario del caso della California, non esiste un
equivalente per la citt` di New York del mercato (e dell’asta) Day-Ahead
                        a
(n´ un ente equivalente al California Power Exchange): l’unico mercato `
   e                                                                         e
quello Hour-Ahead1 . Per coerenza con gli stimatori realizzati per il caso
precedente, per`, si ignorer` questa differenza e ci si limiter` a realizzare,
                 o            a                                a
con i dati orari del NYISO, degli stimatori DA.
     Il dataset orario per lo Stato di New York (d’ora in poi, dataset-N ) ` e
disponibile e liberamente utilizzabile da chiunque per scopi didattici e di
ricerca ed ` pubblicato sul sito delNew York ISO (NYISO).
             e
     Viene fornito sotto forma di serie di file CSV, uno per ogni mese degli
anni disponibili. Ogni file contiene unicamente le informazioni di data e
ora cui il record si riferisce, e il consumo elettrico misurato nonch´—ine
aggiunta rispetto al caso del dataset-C—la stima del consumo elettrico
che era stata prevista dallo stesso NYISO per la medesima data e ora.
     Sia il consumo reale misurato che la stima vengono forniti disaggregati
per macro-regioni dello stato; per questa tesi si sono considerate solo le
due colonne per la macro-regione comprendente l’area metropolitana di
New York.
     I campi interessanti del dataset-N sono:

      • date e time, che indicano la data e l’ora del record, ed il giorno
        della settimana cui appartiene il giorno relativo al record;
  1
   In effetti, questa ` la situazione pi` comune: ` la California che, con i suoi due
                      e                u         e
mercati, rappresenta un caso particolare.
2.7. DATASET-N: ELABORAZIONI                                                 11

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

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


2.7     Dataset-N: elaborazioni
Le elaborazioni applicate al dataset-N sono analoghe a quelle per il dataset-
C: sono per` realizzate in due passi, per comodit` di implementazione:
           o                                      a
   • un primo semplice script Bash build newyork single csv.sh aggrega
     tutti i file CSV mensili scaricati dal sito del NYISO presenti nella
     directory corrente del processo in un singolo file CSV;

   • successivamente uno script per R, make csv newyork.r, del tutto
     analogo a quello per la California, estrae i campi di interesse so-
     pra riportati per il sottointervallo voluto dei dati e aggiunge i campi
     WEEKDAY, ISHOLIDAY e ISHOLISATSUN per la gestione
     delle festivit` nonch´ il campo DAE; questi campi hanno significa-
                   a       e
     to identico a quelli del dataset-C (a parte ovviamente le date delle
     festivit` che sono state adattate a quelle dello Stato di New York).
             a
    L’unica altra elaborazione effettuata sul dataset-N da parte dello script
per R ` la rinominazione dei campi date in DATE, time in HOUR,
        e
J NYC Actual in ACTUAL e J NYC Forecast in FORECAST,
principalmente per uniformit` con il dataset-C.
                                a
    Per la costruzione degli stimatori per il consumo di New York si `         e
estratto l’intero intervallo 1 Gennaio 2003 - 30 Agosto 2004, coerentemente
al lavoro descritto in [6] (nelle prove sono stati poi utilizzati intervalli pi`
                                                                               u
corti). Si fa notare che dal sito del NYISO non risulta pi` scaricabile il
                                                               u
file del mese di Ottobre 2003: si ` quindi scelto semplicemente di omettere
                                   e
i dati relativi a questo mese dal dataset utilizzato per le simulazioni con
la GP. A parte il mese di Ottobre 2003, nel dataset-N non esistono altri
dati mancanti, quindi non c’` stata la necessit` di interpolazione dei dati
                                e                 a
come fatto per il caso della California.
    Il dataset risultante dall’elaborazione dello script R viene salvato dallo
script nel formato CSV (Comma Separated Values) richiesto da ED.
`
12CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI

2.8    Festivit` per lo Stato di New York
               a
Le festivit` per lo Stato di New York sono state ricavate da Wikipedia
            a
(vedi [3]).
   Le festivit` pubbliche osservate a New York sono:
              a

 Festivit`a                      Ricorrenza
 1 Gennaio                       Capodanno
 Terzo luned` di Gennaio
             ı                   Compleanno di Martin Luther King
 12 Febbraio                     Compleanno di Lincoln
 Terzo luned` di Febbraio
             ı                   Compleanno di Washington
 Ultimo luned` di Maggio
                ı                Memorial Day
 4 Luglio                        Festa dell’Indipendenza
 Primo luned` di Settembre
              ı                  Festa del Lavoro
 Secondo luned` di Ottobre
                   ı             Columbus Day
 Primo marted` di Novembre
                  ı              Election Day
 11 Novembre                     Giorno dei Veterani
 Quarto gioved` di Novembre
                  ı              Thanksgiving
 25 Dicembre                     Natale

               Tabella 2.2: Festivit` nello Stato di New York
                                    a

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

Cenni sulla Genetic
Programming

3.1     GP per la regressione simbolica di serie tem-
        porali

La Genetic Programming (GP )[8][4][9] ` un metodo automatico per creare
                                         e
algoritmi per computer tramite un approccio simile a quello dell’evoluzione
delle specie basata sulla selezione naturale, descritta da Darwin in [5]. Il
funzionamento della GP ` iterativo e si basa principalmente su un ciclo
                           e
di selezione artificiale applicato ad un insieme di algoritmi generati in
maniera pseudo-casuale (individui ), che vengono ricombinati fra di loro
in modo da convergere verso una soluzione ottima secondo una metrica
decisa a priori.
    Per regressione simbolica di serie temporali si intende invece il proble-
ma di trovare una espressione matematica in forma simbolica che fornisca
una buona o perfetta corrispondenza ad una serie di valori misurati di
una grandezza, eventualmente influenzata da un insieme di variabili indi-
pendenti di cui si possiede lo storico. Nel campo dell’analisi numerica si
parla di curve fitting, ovvero l’obiettivo ` quello di trovare un modello che
                                          e
aderisca meglio possibile ad un certo insieme di dati o punti. La regres-
sione simbolica si differenzia dagli altri tipi di regressione in quanto non
si devono semplicemente trovare dei coefficienti numerici da applicare ad

                                     13
14         CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING

una funzione con una forma prestabilita, ma si vuole trovare la funzione
stessa.
    Se si utilizza la GP per risolvere un problema di regressione simbolica
di serie temporali, si ha che gli individui sono algoritmi che prendono
in ingresso i valori delle variabili indipendenti e producono i valori della
variabile dipendente; la GP, applicando il suo ciclo evolutivo, perverr` ad
                                                                       a
individui che massimizzano l’aderenza della curva prodotta dagli individui
a quella dei valori veri misurati.


3.2      Insiemi di dati per stimatori di serie tempo-
         rali
`
E opportuno innanzitutto definire alcuni termini relativamente agli insiemi
di dati usati solitamente nella ricerca di stimatori per serie temporali (non
solo tramite regressione simbolica usando la GP, ma tramite qualunque
metodo).
    La ricerca di uno stimatore per serie temporali si pu` pensare suddivisa
                                                          o
in due fasi:

     • la prima si occupa della generazione dello stimatore, ci` di una
                                                               o
       soluzione candidata al problema;

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

    La seconda fase si chiama testing e l’insieme di dati su cui si testano
le performance si chiama testing set.
    Per la GP la prima fase, in cui si creano gli individui/soluzioni, fa uso
di due insiemi distinti: il primo ` detto training set e il secondo validation
                                  e
set. La GP lavora creando gli individui facendo uso del training set e
misurando la bont` degli stessi sul validation set. Si noti che la soluzione
                    a
viene 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 delle
performance.
moderate or variable size (e.g. [
           Fig. 1.   Deep Groove Ball Bearing


                                                                            B. Representation
           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        The programs are usually re
3.3. GENETIC the Genetic Programming BREVE we will consider
           present PROGRAMMING IN approach                                          15
                                                                             trees, where a branch node is
           only the three first elements on the diagonal of the matrix,       set which may contain arithmeti
           those corresponding to the force component. Furthermore the
    In altri metodi che non siano la regressione simbolica basata          sulla GP, with at least one argum
                                                                             functions
                                                                             instead an element from a termin
la prima fase possiede is the same solo all elements datithe stiffness
           methodology invece un for insieme di of che si dice             anch’esso
           matrix.                                                           variables, constants and functio
generalmente training set.                                                   and leaves of the tree can on
    In questo lavoro si ` scelto di usare la GP, quindi ci si trover`provided by the user.
                           e                                                a sempre
nel caso dei tre III. G ENETIC P ROGRAMMING IN A N UTSHELL
                  insiemi di dati:                                              Identification of the element
                                                                             set and terminal set should be
    • il training set e il validation set, in fase di creazione degli individui;
              Genetic Programming (GP) is an automatic method for cre- order to provide terminals and
           ating set, nella fase esterna di misura delle performanceexpress a solution to the prob
    • il testing computer programs by means of artificial evolution [9].
                                                                             to
                                                                                  degli
           A population of computer programs are generated at random. should be the most significant
      individui selezionati quali migliori.
           Then, each program is associated with a fitness value which domain considered. When the d
                                                                             and involves a wide number of
    In pi`,quantifies its ability to si ` utilizzato ancheIts application to set, che
          u in questo lavoro, solve a given problem. un long testing
                                       e
           a given problem requires the definition of a fitness function for strategies may be employed to
` un’estensione opportuna del testing set (comprende il testing set esat-
e
           that problem, that is, the definition of a quantitative measure process [5].
tamente all’inizio). Si ` introdotto il long testing setdetailsvedere come symbolic regression pro
                           e
           of the performance of a candidate solution (more
                                                                 per will       For si
conportasse lo stimatore oltre il testing set, che `recombination to consist of the arithmetic operato
           follow). Fitter programs are selected for   e stato generalmente scelto
in modo da coincidere con quelloby using geneticpaper di riferimento[15][6].
           produce a new population riportato nei operators, such as The terminal set may consist
           crossover and mutation. This step is iterated for some number and constants fixed according t
           of generations until the termination criterion of the run has of the problem, or randomly ge
3.3 Genetic Programming in illustrated in Figure Constants ERC) [9]. An exampl
           been satisfied. The evolutionary cycle is breve
           2.                                                                mathematical expression is pres




                                                                            Fig. 3.   A tree representation of x × y

           Fig. 2.   Basic scheme for artificial evolution
            Figura 3.1: Schema di base della Genetic Programming            In the stiffness problem we
                                                                         and the constants 0, 1, 0.1 as ele
    Un cicloThe Genetic di GP inizia process shares some popolazioni di al- four basic mathema
               evolutivo Programming col generare una working we selected
           principles with the other variants of Evolutionary Algorithms elements of the function set.
goritmi in maniera casuale (si veda la figura 3.1). Poi, ad ognuno degli
           (EA) [2], and is closely related to Genetic Algorithms (GAs)     Other representations such as
algoritmi—chiamati main difference lies in the per mantenere ilthe [3] and grammatical evolution [
           since their anche individui proprio interpretation of parallelo con
la selezione naturale darwiniana—viene associato un valore di fitness che to the abstract synta
           representation [20].                                          alternatives
misura la sua abilit` a risolvere il problema scelto. La fitness viene cal-
                    a
colata tramite una funzione di fitness che viene implementata nel motore
16        CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING

di GP ; deve essere scelta in modo da essere adatta al problema che si
vuole risolvere, e deve fornire come risultato una misura quantitativa di
quanto 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 una
nuova popolazione; questa fase fa uso di operatori genetici, quali crossover
e mutazioni. Alla nuova popolazione viene applicato il criterio di scelta
basato sulla fitness, e in ciclo ricomincia.
       Il ciclo viene ripetuto per un certo numero di generazioni, finch´ non
                                                                        e
viene soddisfatto il criterio di terminazione prescelto (tempo massimo di
calcolo da non oltrepassare, scoperta di un individuo con fitness ottima,
. . . ).
       Nei prossimi sottocapitoli si analizzano in maggior dettaglio i singoli
passi 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 ogni
algoritmo viene chiamato individuo. La dimensione della popolazione vie-
ne specificata dall’utente e dipende dalla difficolt` attesa del problema.
                                                     a
Storicamente, si ` sempre reputato che per migliorare le performance del
                  e
processo di GP ` necessario utilizzare popolazioni molto numerose; po-
                  e
polazioni molto numerose vengono considerate una scelta opportuna in
quanto dovrebbero mantenere la diversit` e dovrebbero prevenire rischi di
                                           a
convergenza prematura verso massimi locali. Di recente, per`, ci si sta
                                                                 o
orientando verso altri approcci che permettono di utilizzare popolazioni
di dimensione moderata o variabile nel tempo[7].


3.5     Rappresentazione degli individui
Gli individui vengono solitamente rappresentati come alberi di sintassi
astratta (Abstract Syntax Tree, AST ), nei quali i nodi interni sono ele-
menti di un insieme di funzioni che pu` contenere funzioni aritmetiche o
                                        o
elementari o operatori logici che accettano almeno un argomento, mentre
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]).

               3.5. RAPPRESENTAZIONE DEGLI INDIVIDUI                                             17
                           B. Representation
 o moments. We obtain a
                 i nodi foglia The programs elementi direpresented as di terminali, che solita-
  pose of this paper is to        sono invece are usually un insieme abstract syntax
 proach we will mente ` composto da a branch costanti e element senza function
                         e
                  consider    trees, where variabili, node is an funzionifrom a argomenti. I nodi
  diagonal of the matrix,e le foglie dell’albero possono essere operators, elementaryquesti due
                 interni      set which may contain arithmetic, logic solo elementi di
 ponent. Furthermore the che sono stabilitileast one argument. A leaf node of the tree is
                 insiemi, functions with at a priori dall’utente.
  ements of the stiffness instead an element from a terminal set, which usually contains
                     L’identificazione degli elementi da includere arguments. Nodes funzioni e
                              variables, constants and functions with no nell’insieme di
                 nell’insieme di leaves of the tree essere scelto elements of these sets in modo
                              and terminali deve can only be con cura dall’utente,
                              provided by the user.
                 che le funzioni ed i terminali scelti siano sufficienti per esprimere la solu-
G IN A N UTSHELL zione del problema; inoltre, the possibile,to include in the function in modo
                                 Identification of se elements dovrebbero essere scelti
                              set and terminal set should be done carefully by the user in
                 siano i pi` significativi per il dominio del problema considerato.
                             u
utomatic method for cre- order to provide terminals and functions which are sufficient
 f artificial evolution [9]. caso express a solution to the problem. simbolica, l’insieme di funzioni
                     Nel to di problemi di regressione Moreover these elements
are generated atconsiste solitamentethe most significant as possible efor the problem
                  random. should be nelle funzioni aritmetiche in quelle trigonometri-
 th a fitness value which domain considered. When the consiste in variabili indipendenti, in
                 che, mentre l’insieme dei terminali domain is not well understood
roblem. Its application to scelteinvolves a wide number of functions and terminals, new generate
                 costanti
                              and
                                     considerando il problema da risolvere, o costanti
n of a fitness function for strategies may be employed to improve efficiency of the GP
                 casualmente (Ephemeral Random Constants, ERC )1 .
 f a quantitative measure process [5].
 lution (more detailsIn figura For symbolic regression problems, the function set may
                       will       3.2 si mostra un albero di sintassi astratta d’esempio; viene
 d for recombination to consist of per arithmetic operators, or trigonometric functions.
                 raffigurato l’albero the l’espressione matematica ((x×y)×(1+0.3))−(x∗1).
enetic operators, such as Theformula rappresentata ` piuttosto grezza; come si pu` intuire
                 Si noti che la
                                    terminal set may consist of the independent variables
                                                             e                              o
 terated for some number and constants fixed according to the preliminary knowledge
                 questo risultato rappresenta la normalit` per la GP, a causa della casualit`
                                                                 a                                 a
 criterion of the run has of the problem, or randomly generated (Ephemeral Random
                 nella creazione ed evoluzioneAn example of abstract syntax tree for a
e is illustrated in Figure Constants ERC) [9].        degli individui.
                              mathematical expression is presented in Figure 3.




                           Fig. 3.   A tree representation of x × y × 1.3 − x
                               Figura 3.2: Esempio di albero di sintassi astratta
                                In the stiffness problem we selected the variables Fr , Fz
                             and the constants 0, 1, 0.1 as elements of the terminal set and
 s shares some working we selected four basic mathematical operators +, −, ×, ÷ as
Evolutionary Algorithms elements of the function set.
                    1
                      Le ERC sono valori scelti casualmenteas linear genetic programming GP ma che
enetic Algorithms (GAs)         Other representations such all’inizio dell’esecuzione della
                 restano poi costanti per tutta l’evoluzione
 he interpretation of the [3] and grammatical evolution [15] are also used and provide
                             alternatives to the abstract syntax tree.
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 ` anche il criterio per selezionare gli
                                       e
individui che verranno usati per generare una nuova popolazione. La fun-
zione di fitness da scegliere dipende dal problema considerato ed ` scelta
                                                                      e
dall’utente.
    La fitness generalmente non viene calcolata su tutti i valori possibili
per le variabili indipendenti, ma viene solitamente limitata ad un sottoin-
sieme dei valori; questo sottoinsieme deve essere sufficientemente grande
da rappresentare un insieme rappresentativo di tutti i valori possibili. Ge-
neralmente quindi si sceglie un sottoinsieme finito dell’intero dominio del
problema che si sta analizzando, che viene chiamato validation set.
    Le funzioni che si possono scegliere come fitness sono molte; una delle
pi` comuni per i problemi di regressione simbolica ` la varianza dell’errore
  u                                                    e
(Mean Square Error, MSE ), cio` la media dei quadrati delle differenze fra i
                                  e
valori attesi θ (ad esempio, la serie storica reale misurata di una grandezza
                                                                  ˆ
fisica) e quelli ottenuti dall’algoritmo/individuo sotto esame θ (la stima):
                                        n
                                    1          ˆ
                           M SE =             (θ − θ)2 .
                                    n
                                        i=1

    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 fornire
a GP per la ricerca della soluzione del problema considerato: a questo
punto il ciclo evolutivo pu` essere avviato.
                            o
    Nei prossimi sottocapitoli si descriveranno singolarmente i quattro
passi dell’algoritmo di evoluzione della Genetic Programming.


3.7     Generazione della popolazione iniziale
La popolazione iniziale ` composta da individui generati combinando ca-
                        e
sualmente elementi dell’insieme di funzioni con quelli dell’insieme dei ter-
minali.
    Esistono principalmente tre metodi di generazione della popolazione
iniziale, che si differenziano per la dimensione e la forma degli alberi
3.8. VALUTAZIONE DELLA FITNESS                                            19

di sintassi astratta generati, ma che partono tutti e tre dal nodo radice
dell’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 procede
     iterativamente attaccando ad ogni nodo solo nodi di tipo funzione, e
     mai nodi terminali; quando si ` raggiunta la profondit` massima im-
                                     e                       a
     postata dall’utente, si completa l’albero scegliendo come nodi foglia
     solo elementi dell’insieme dei terminali. Questo metodo crea alberi
     tutti della stessa profondit` e che hanno la caratteristica di essere
                                  a
     perfettamente bilanciati;

   • metodo grow : scelto a caso il nodo radice in modo che appartenga
     all’insieme delle funzioni, si procede iterativamente attaccando ad
     ogni nodo sia elementi terminali (foglie) che elementi funzionali (no-
     di interni); se un ramo raggiunge la profondit` massima, si scelgono
                                                    a
     solo nodi terminali. La distribuzione di probabilit` con cui si sce-
                                                          a
     glie i nodi pu` essere uniforme o scelta in modo che certi elementi
                    o
     degli insiemi abbiano probabilit` maggiore di essere scelti. Gli albe-
                                      a
     ri realizzati con questa tecnica risultano sbilanciati e di profondit`
                                                                          a
     diversa;

   • metodo ramped half-and-half : si utilizza il metodo full per met` della
                                                                     a
     popolazione iniziale, e il metodo grow per l’altra met`; l’obiettivo `
                                                             a             e
     quello di garantire una eterogeneit` pi` alta nella composizione della
                                        a u
     popolazione iniziale.
     Sperimentalmente, si mostra che il metodo che fornisce migliori risulta-
ti ` l’ultimo, perch´ aumenta la “bio-diversit`” della popolazione iniziale.
   e                e                          a
Talvolta inoltre si controlla, durante la creazione degli individui, che non
venga creato un individuo completamente identico ad uno gi` creato, nel
                                                                a
qual caso si procede a sostituirlo con uno nuovo.


3.8     Valutazione della fitness
Dopo la generazione della popolazione iniziale, o dopo la generazione di
una nuova popolazione, ogni individuo viene valutato secondo la funzione
di fitness. Questo passo ` computazionalmente costoso, e dipende inoltre
                        e
20         CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING

dal numero di dati del validation set, dalle funzioni scelte, e dalle variabili
indipendenti scelte. Poich´ per` questa fase ` intrinsicamente parallela
                             e     o              e
(la valutazione di un individuo non dipende dalla valutazione degli altri
individui), viene spesso implementata in modo da sfruttare la presenza
eventuale di architetture di calcolo parallelo.
    Per la fitness si possono scegliere molteplici funzioni; generalmente si
tratta di statistiche che pervengono ad una stima dell’errore fra valori
misurati e stimati, quali ad esempio l’errore quadratico medio o la radice
dell’errore quadratico medio, l’errore percentuale medio, lo scarto medio
assoluto, e cos` via, o anche medie di loro restrizioni temporali (es. media
                ı
delle serie degli errori quadratico medi sulle singole settimane o sul singolo
giorno).


3.9      Selezione degli individui
La fase di selezione si basa sull’applicazione del principio della “sopravvi-
venza del pi` adatto” sulle soluzioni candidate, in analogia con la selezione
             u
naturale darwiniana. Esistono molti metodi per implementare la selezione,
i pi` usati sono:
    u
     • Fitness Proportionate o Roulette-wheel : la probabilit` che ogni in-
                                                             a
                                                                        `
       dividuo venga selezionato ` pari alla sua fitness (normalizzata). E il
                                    e
       metodo proposto originariamente, ma ` stato man mano estromesso
                                              e
       a 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 il
       vantaggio di ridurre il predominio assoluto degli individui dotati di
       fitness particolarmente alte rispetto agli altri, in modo da limitare
       la possibilit` che si diminuisca la bio-diversit` e si evolva anticipata-
                    a                                  a
       mente verso un soluzione ottima solo localmente; allo stesso tempo,
       questo metodo esagera la differenza tra due elementi dotati di fitness
       molto simile ma tuttavia differenti nella posizione che hanno assunto
       nella lista;
     • Tournament: un numero prefissato di elementi viene estratto in mo-
       do casuale tra la popolazione; fra questi, viene scelto quello con
       fitness pi` alta; questa ` la tecnica di selezione pi` utilizzata;
                u              e                           u
oi − ei )              (4)
                                •   elitism, the main idea of elitism is to copy the best or the
                                    few best individuals in the next generation. Elitism can
t Mean Square Error,                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.
     (oi − ei )   3.10. (5)
                          VARIAZIONE DEGLI INDIVIDUI                                               21
 1

d terminal set according G. Variation
                    • con Elitism: copia semplicemente l’individuo o gli individui migliori
 cted, and when a fitness       Variation or genetic operators act on the structure of the
 date programs from bad trees and on the content of the nodes or leaves, by combining applica-
                       nella successiva generazione, mentre per i i rimanenti viene
  solutions can evolve to uno modifying two or more parental questo permette dinew,
                       as or dei tre metodi precedenti; individuals to create aumentare le
rt we will describe each possibly better solutions (i.e., offsprings). The non si rischia mai di
                       performance dell’evoluzione complessiva perch´ goal is to
                                                                              e
approach.              perdere le migliori soluzioni trovate finoobtain an individual
                            combine parental traits with the hope to a quell’istante.
                            with an improved fitness. The simplest variation operator in
                            GP is duplication since it does only an exact copy of an
                 3.10 Variazione degli individui allows to keep
 of individuals randomly
                            individual without any change. This operator
                            a copy of some selected individuals in the population during
nction and terminal sets.
                            artificial evolution.
  generate trees La GP is
                 in variazione o applicazione delle operazioni genetiche agisce sulla strut-
 . This method tura degli alberi e recombination of two due o pi` individuioperated (genitori )
                 generate      In GP, sui singoli nodi di parents individuals is diversi
                                                                     u
                            by subtree-crossover. This genetic operator use two individuals
nterval specified bycrearne nuovi (figli ), nella speranza che i nuovi individui siano migliori.
                 per the
and-half produces trees fase segna by passaggio fra una generazione e la operation
                            provided      the selection procedure. The crossover
                 Questa starts withiltwo parental trees and produces two offsprings.
                                                                                  successiva.
ethod and for the second
 w algorithm, a tree of
ng terminals or functions
 stribution. With the full
   generated by selecting
  tree size approaches a
 inals are selected.
 hm are presented which
 ilities of appearance of




 ation, each individual is
ction. Fitness evaluation
gh it’s highly dependent
o speed up the evaluation
n proposed to exploit the
 ary algorithms: master-
ed or cellular model [6]     Fig. 4.    Subtree crossover
                                       Figura 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 probabilit`
                                                                                              a
                  stabilite a priori:

                     • duplicazione: effettua semplicemente una copia di un individuo esi-
                       stente della generazione attuale nella popolazione della nuova gene-
mutation change locally a single individual. For the one        We indicate functions
             point-mutation an individual is chosen from the population in Table I. Ephemeral R
             according to the selection algorithm. The mutation operation randomly chosen in the
             begins by selecting a point at random within the tree, then the
             mutation operation replace the function or the terminal node
                                                                                           T ERMINA
22           with the same type of element. This operation is useful to
             CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING
             introduce diversity without modify the shape of the tree.                      Termin
                                                                                             Fr , Fz , 0, 0.


                                                                               we used our own Genet
                                                                               the Java language. This
                                                                               where each step of th
                                                                               III is implemented in a
                                                                               tree generation, fitness e
                                                                               provided. Moreover this
                                                                               approach [14] in order t
                                                                                  The parameters comm
                                                                               the Table II.

                                                                                                       PAR

                                                                                  Parameter
                                                                                  Population size
              Fig. 5.   One point mutation
                                                                                  Initialization method
                       Figura 3.4: Esempio di mutazione di nodo                   Initialization depths
                 There are many variations of mutation and crossover [4][13]      Maximum depth for tree
                                                                                  Selection
              available in the litterature. The probability rate to use crossover Elitism
         razione;variation is currently higher than for mutation since it is
              for   ` un analogo della selezione con elitism; la duplicazione ha node bias for cr
                    e                                                             Internal
         l’effetto di dare crossover operator convergenza; convergence
              believed the un impulso alla allow a quicker                        Duplication rate
                                                                                  Crossover rate
              than mutation but importance of crossover versus mutation is        Mutation rate
     •        still an open debate.
         crossover (vedi figura 3.3): ` l’operatore principe della GP, e di gran of runs
                                             e                                    Number
         lunga The steps u usato; il crossover lavora scambiando due sotto-
                 quello pi`fitness evaluation, selection and variation are
         alberi degli either until to obtain creare solution or until to
              repeatedindividui genitori peran ideal due individui figli; il nodo ra- is the result
                                                                              Each test
              reach a number of cycle called generation.                    execution started with a
         dice di ognuno dei due sotto-alberi da “staccare” viene scelto con pro-
         babilit` uniforme indipendentemente per ognuno dei due individui;
                 a                                                          generator.
                           IV. E XPERIMENTAL PROCEDURE                        We ran all simulation
         l’operazione di crossover tende a preservare la bio-diversit`;   a
                                                                           on a processor Intel Ce
               We calculate the stiffness values for our training set with
                                                                           GB of RAM.
     • mutazione di singolo nodosoftware. Bearing beacon allows the
            the SKF bearing beacon (vedi figura 3.4): questo operatore lavora
       su un solo albero3D graphic environment of generic mechanical cambiare
            modelling in a alla volta, e consiste semplicemente nel
            systems like gear boxes with a precise bearing model for
       un nodo selezionato casualmente all’intero dell’albero con un To assess the results o
                                                                             nuovo
            an in-depth analysis of the system behaviour in a virtual
       nodo dello stesso tipodetails on this se il nodo originale era funziona- on the followin
            environment. More     (funzionale product can be found on we focus
       le, terminale se il nodo originale era terminale); questo operatore
            the web at http://www.skf.com/portal/skf/home/products.          • Standard deviation
       introduce bio-diversit` raw stiffness matrixes provided by the
               We transform the senza alterare la forma degli alberi;
                                a                                               function which eval
            software in three training sets. Each of them is composed of        tifies the difference
     • mutazione di Koza: questo operatore
            1201 fitness cases corresponding to all analogamente al precedente
                                                      combinations of the       response predicted b
            integer values taken in the interval [0, 1000] by in modo casualewhether the model
       seleziona un singolo individuo genitore, sceglie         step of 20        un
                                                                             • Correlation coefficie
       suo nodo, che poi viene sostituito con un interoFr , Fz and
            assigned to each combination of input’s variables nuovo sotto-albero,
            the output associated with one element of the stiffness matrix      of a linear relations
       generato all’istante, analogamente a quanto fatto nella fase della
            diagonal. The fitness function computes the error standard We report in Table III th
            deviation on the training set i.e. the root of the mean of tion of each element of
            the squared distances between the desired values and those       To gain further insigh
            obtained with the program considered (cf. Equation 5).         particular regarding the
3.11. TERMINAZIONE E SCELTA DELL’INDIVIDUO MIGLIORE 23

     creazione della popolazione iniziale; anche questo operatore tende a
     introdurre bio-diversit`.
                            a

    Si noti che crossover e mutazione di Koza potrebbero generare individui
di profondit` superiore a quella massima impostata in fase di creazione
              a
della popolazione iniziale. Generalmente si sceglie di tenere conto della
profondit` massima impostata inizialmente anche nelle fasi successive, e
          a
quindi si applicano opportuni accorgimenti per assicurarsi che essa non
venga mai superata (troncamento dell’albero, in genere).
    Ad oggi rimane aperta la questione se l’evoluzione del sistema venga
influenzata maggiormente dal crossover o dalle mutazioni, bench´ molti
                                                                    e
propendano per una maggiore importanza del crossover.


3.11     Terminazione e scelta dell’individuo miglio-
         re
La terminazione di un ciclo evolutivo di GP pu` avvenire con vari crite-
                                                  o
ri; i tre pi` comuni sono: impostare un numero massimo di generazioni,
            u
impostare un timeout temporale di elaborazione, e impostare una fitness
obiettivo, per la quale l’elaborazione si interrompe quando un individuo
                                               `
mostra una fitness migliore di quest’ultima. E anche possibile impostare
una combinazione di questi tre criteri.
     Al termine dell’evoluzione viene selezionato l’individuo appartenente
all’ultima generazione che possiede la fitness migliore. Questo individuo
rappresenta il risultato del processo evolutivo.
Capitolo 4

Evolutionary Design

4.1     Evolutionary Design
Evolutionary Design (ED) ` un framework realizzato in linguaggio Java
                               e
che mette a disposizione un’implementazione espandibile di un kernel per
la soluzione di problemi di regressione simbolica tramite Genetic Program-
ming. La GP e quindi ED ben si prestano a realizzare stimatori predittivi
di questo tipo perch´ non richiedono di avere una conoscenza a priori di
                       e
come si combinano nella realt` i vari fattori in gioco per ottenere uno
                                  a
stimatore 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, ` dotato di
                                                                  e
un insieme ben strutturato di file di log che vengono registrati durante
l’esecuzione e riportano informazioni dettagliate sull’evoluzione svolta.
    Il framework presenta un’architettura di tipo modulare basata sull’idea
di plugin ed ` dunque facilmente espandibile.
              e
    Le sue principali caratteristiche sono:

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

   • implementa le funzionalit` necessarie per trattare problemi di re-
                                a
     gressione simbolica di serie temporali;

                                     25
26                                 CAPITOLO 4. EVOLUTIONARY DESIGN

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

         • fornisce come nodi di tipo funzionale operatori matematici, funzioni
           trigonometriche e trascendentali, comparatori, operatori booleani e
           operatori 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 (fornite
           sotto forma di colonne di un file CSV di input); il tipo di ognuna di
           queste pu` essere booleano o floating point (double);
                     o

         • le parti di valutazione e costruzione degli alberi seguono un approc-
           cio strongly-typed : gli alberi vengono costruiti solo se i nodi terminali
           coinvolti 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 di
           ridurre sensibilmente lo spazio delle soluzioni possibili e velocizzare
           la 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 gi` implementate.
                                                    a

    Come si ` detto ED ` realizzato secondo un’architettura modulare. Il
             e             e
codice ` distribuito in vari plugin al fine di ottenere un’indipendenza netta
        e
tra la parte del core e le parti implementate nei moduli. Esistono 8 tipi
differenti di plugin, ognuno dei quali si preoccupa di una parte del processo
evolutivo: 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 objective
plugin), e cos` via.
              ı
     1
     Si ricordi, come detto nel capitolo 3, che le ERC sono valori scelti casualmente
all’inizio dell’esecuzione della GP e che restano poi costanti per tutta l’evoluzione
4.2. EVOLUTIONARY DESIGN: REGRESSIONE SIMBOLICA                            27

4.2     Evolutionary Design: regressione simbolica
Giova descrivere pi` in dettaglio il funzionamento di ED, dal punto di
                     u
vista della regressione simbolica di serie temporali.
    Nei problemi di regressione simbolica di serie temporali si ha in input
una sequenza di valori osservati per una certa grandezza:

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

che ` la variabile dipendente (con valori osservati della variabile dipenden-
    e
te) sotto esame. Si hanno poi altre sequenze (pi` lunghe) di altre variabili
                                                  u
che 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 delle
variabili indipendenti α, β, γ, . . .:
                                ˆ
                                θ = f (α, β, γ, . . .).

                                                         ˆ
Abbiamo indicato la nuova θ con un “cappellino” (θ) per rimarcare che
la f sar` una funzione approssimante, e che quindi i valori da θ a θn
         a                                                             ˆ    ˆ
              ˆ , detti valori stimati della variabile dipendente, saranno
e quelli da θn+1
ovviamente diversi da quelli originali misurati (ma di poco, se la f ` une
buon stimatore).
    Di f alla fine si otterr` l’albero di sintassi astratta che la descrive.
                           a


4.3     Evolutionary Design: backshift
`
E spesso utile considerare, nel calcolo della funzione di regressione, non
solo le serie di variabili indipendenti sincrone alla variabile dipendente, ma
anche magari serie di valori delle variabili indipendenti posticipate rispetto
28                                CAPITOLO 4. EVOLUTIONARY DESIGN

alla variabile dipendente: ad esempio, l’umidit` dell’aria attuale—la si
                                                 a
supponga variabile dipendente—dipende non solo dalla temperatura—la
variabile indipendente—attuale, ma anche dall’avvicinarsi o meno di un
fronte, che si pu` rilevare guardando alla temperatura dell’ora precedente
                 o
o di due ore prima.
    I sistemi di calcolo per regressioni simboliche di serie temporali, quin-
di, offrono solitamente l’opportunit` di usare come variabili indipendenti
                                      a
anche serie ritardate delle stesse, che vengono dette serie con backshift.
    Addirittura, spesso si ha che la variabile dipendente ` influenzata, oltre
                                                          e
che dalla variabili indipendenti o loro valori precedenti, anche dai suoi
stessi valori passati2 : sempre nell’esempio, si pu` pensare che l’umidit`
                                                    o                       a
attuale abbia una certa dipendenza anche dall’umidit` dell’ora precedente.
                                                       a
Anche in questo caso si ha backshift e si noti che cos` facendo la serie
                                                           ı
ritardata della variabile dipendente diventa a tutti gli effetti una nuova
variabile indipendente.
         Si ha insomma che lo stimatore si pu` pensare cos` fatto:
                                             o            ı

                           ˆ
                           θ(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 ` stata sem-
                                                                e
pre usata in questo lavoro nell’opera di ricerca dei uno stimatore simbo-
lico per i consumi e i prezzi dell’elettricit` in California o a New York,
                                             a
perch´, come si vedr`, le serie di consumi e prezzi mostrano evidente
      e               a
autocorrelazione.

     2
     La variabile dipendente ha cio` una alta autocorrelazione dei suoi valori.
                                   e
     3
     Una curiosit`: quando ED si trova a gestire i backshift, sia quelli di variabile in-
                  a
dipendente che a maggior ragione quelli per la variabile dipendente, duplica la serie
originale 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 pu` dire
                                                                                  o
letteralmente che un backshift introduce sempre una nuova variabile indipendente.
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 job
` configurato alla medesima maniera degli altri, ma la popolazione di indi-
e
vidui iniziali di ogni job viene ogni volta generata casualmente utilizzando
un seed univoco. Il seed di ogni job pu` essere scelto in maniera casua-
                                             o
le, oppure fissato in partenza; quest’ultima scelta ` opportuna in quanto
                                                       e
in questo modo il run diventa deterministico e pu` essere rieseguito per
                                                        o
ottenere gli stessi identici risultati nel caso ce ne fosse la necessit`4 .
                                                                       a
     Alla fine dell’esecuzione, per ogni job si ottiene un individuo migliore,
che ` quello che all’ultima generazione del job possiede il migliore indice di
     e
fitness cos` come calcolato dalla funzione di fitness impostata. A questo
             ı
punto, fra gli individui migliori di ogni job, ` generalmente necessario se-
                                                 e
lezionarne uno mediante una qualche metrica; per questo lavoro si ` scelto
                                                                        e
sempre quello che fra tutti minimizzasse l’indice della fitness calcolata sul
solo validation set.
     Si noti che ED supporta nativamente l’elaborazione parallela all’inter-
no di un run; infatti ogni job ` indipendente dagli altri, quindi l’elabora-
                                 e
zione ` parallelizzabile sui job; questo fatto ` stato sfruttato a fondo in
        e                                          e
questo lavoro perch´ le esecuzioni sono state condotte su macchine multi-
                       e
core (8 core o 4 core), cosa che ha permesso di ridurre significativamente
il tempo di attesa totale.


4.5      Evolutionary Design: configurazione
La configurazione di ED avviene tramite un unico file XML che specifica
tutti i parametri necessari ad un run.
    Vanno indicati in questo file XML:

    • il numero di job voluti;
   4
     In ED se si sceglie di usare un seed fissato, si fornisce in realt` un seed iniziale
                                                                         a
che poi viene incrementato di un delta per ognuno dei job che vengono istanziati. Nel
nostro caso il seed iniziale ` 190000000, il delta ` 1000 e quindi i seed dei job andranno
                             e                     e
da 190000000 a 190000000+N*1000.
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 di
       input);

     • l’indicazione degli intervalli di record nel file CSV da considerare
       come 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 nodi
       terminali;

     • la colonna del file CSV che rappresenta la variabile dipendente da
       stimare;

     • gli eventuali backshift della variabile dipendente;

     • le operazioni matematiche che possono essere utilizzate come nodi
       non terminali;

     • il numero di generazioni massimo da permettere in ogni job e la
       durata massima (in secondi) di ogni job, come criterio per termina-
       re l’elaborazione nel caso non si raggiunga mai la fitness massima
       all’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
4.7. DAESCALAREVALUATION                                                             31

Programming ma deriva da una scelta architetturale fatta in EDper au-
mentarne la flessibilit`.a
    Infatti, la parte computazionalmente preponderante in una evoluzione
di GP ` la fase di valutazione della fitness sugli individui. Poich´ per` le
        e                                                             e    o
variabili indipendenti con i loro backshift non sono mai modificate dalla
procedura, n´ lo ` la serie di valori osservati per la variabile dipendente
               e    e
(con i suoi backshift), e le valutazioni della fitness per i diversi individui
come detto sono assolutamente slegate, ` generalmente possibile portare
                                           e
avanti la fase di valutazione in maniera parallela sui vari individui. Per tale
motivo in ED il plugin standard di strategia per la valutazione degli indi-
vidui, detto VectorizedEvaluation, opera in modo parallelo ed accede alle
variabili 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 dei
tempi di calcolo), nel caso ci sia necessit` di usare questo approccio. Si
                                            a
noti che in entrambi i casi il risultato dell’evoluzione ` uguale, a parte la
                                                          e
differenza nei tempi di calcolo.
    La strategia generalmente utilizzata per le prove di questa ricerca `     e
ovviamente la VectorizedEvaluation. La ScalarEvaluation ` stata utiliz-
                                                                e
zata in un solo caso mediante una sua sottoclasse, DAEScalarEvaluation,
che ` stata creata per l’occasione, e che si descrive nel prossimo punto.
     e


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 generalmente
peggiori rispetto a quelli ottenuti nel caso del mercato Hour-Ahead.
    Ci si ` allora chiesto se si poteva utilizzare, nella fase di valutazione
          e
di ogni individuo, al fine di migliorare gli stimatori ottenuti, una stima
dell’errore in cui ogni individuo ` in corso per la giornata immediatamente
                                  e
precedente a quella cui appartiene l’istante corrente di valutazione5 .
   5
     Si noti infatti che nella stima del mercato Day-Ahead, le cui aste si chiudono un
giorno prima dell’istante in cui l’energia elettrica battuta dovr` essere fornita o con-
                                                                    a
sumata, non si pu` considerare fra i backshift della variabile dipendente ore posteriori
                    o
all’ora corrispondente alla stessa ora del giorno precedente—detto in altro modo, sono
illegali backshift inferiori (in valore assoluto) al backshift −24.
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi

Weitere ähnliche Inhalte

Was ist angesagt?

Progettare artefatti cognitivi
Progettare artefatti cognitiviProgettare artefatti cognitivi
Progettare artefatti cognitiviStefano Bussolon
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistraleDomenico Caputi
 
Pattern Recognition Lecture Notes
Pattern Recognition Lecture NotesPattern Recognition Lecture Notes
Pattern Recognition Lecture NotesRobertoMelfi
 
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...danielenicassio
 
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Davide Ciambelli
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisGuido Colangiuli
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Alberto Scotto
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Myrteza Kertusha
 
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 AmmLibera AL
 
Regolamento concorso completo - Vers. 1.5
Regolamento concorso completo - Vers. 1.5Regolamento concorso completo - Vers. 1.5
Regolamento concorso completo - Vers. 1.5Ancce
 
Tesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaTesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaSergio Taddia
 
mastertesi
mastertesimastertesi
mastertesiReply
 
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...maik_o
 

Was ist angesagt? (20)

Progettare artefatti cognitivi
Progettare artefatti cognitiviProgettare artefatti cognitivi
Progettare artefatti cognitivi
 
domenicoCaputiTriennale
domenicoCaputiTriennaledomenicoCaputiTriennale
domenicoCaputiTriennale
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistrale
 
Pattern Recognition Lecture Notes
Pattern Recognition Lecture NotesPattern Recognition Lecture Notes
Pattern Recognition Lecture Notes
 
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
 
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
 
Tesi
TesiTesi
Tesi
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
 
Compas Project
Compas ProjectCompas Project
Compas Project
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
 
a4_centrata
a4_centrataa4_centrata
a4_centrata
 
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
 
Regolamento concorso completo - Vers. 1.5
Regolamento concorso completo - Vers. 1.5Regolamento concorso completo - Vers. 1.5
Regolamento concorso completo - Vers. 1.5
 
Tesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaTesi Laurea Sergio Taddia
Tesi Laurea Sergio Taddia
 
mastertesi
mastertesimastertesi
mastertesi
 
Aqfa probabilita
Aqfa   probabilitaAqfa   probabilita
Aqfa probabilita
 
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
 
Teoria probabilità 4
Teoria probabilità 4Teoria probabilità 4
Teoria probabilità 4
 
My Thesis
My ThesisMy Thesis
My Thesis
 

Andere mochten auch

/Users/svenjajessen/documents/museumsopgavepp
/Users/svenjajessen/documents/museumsopgavepp/Users/svenjajessen/documents/museumsopgavepp
/Users/svenjajessen/documents/museumsopgaveppSvenja Jessen
 
Everyone Deserves A Professional Coach
Everyone Deserves A Professional CoachEveryone Deserves A Professional Coach
Everyone Deserves A Professional CoachSHUPE PLANS
 
Reception lisa joe
Reception lisa joeReception lisa joe
Reception lisa joepolaselm
 
Presentazione Pre Laurea Finale
Presentazione Pre Laurea FinalePresentazione Pre Laurea Finale
Presentazione Pre Laurea Finalegdelprete
 
Becoming A Star Learner
Becoming A Star LearnerBecoming A Star Learner
Becoming A Star LearnerSHUPE PLANS
 
вступ до Java script
вступ до Java scriptвступ до Java script
вступ до Java scriptAnia Paliukh
 
Maco Media Slideshare
Maco Media SlideshareMaco Media Slideshare
Maco Media Slideshareguest83c29f
 
LAVC Opening Day power pt.
LAVC Opening Day power pt.LAVC Opening Day power pt.
LAVC Opening Day power pt.polaselm
 
Bringing About Better Health Dreams & Realities
Bringing About Better Health   Dreams & RealitiesBringing About Better Health   Dreams & Realities
Bringing About Better Health Dreams & Realitiesadelesarah1
 
Energie Rinnovabili Morena
Energie Rinnovabili MorenaEnergie Rinnovabili Morena
Energie Rinnovabili Morenaguest12c69ae
 

Andere mochten auch (17)

/Users/svenjajessen/documents/museumsopgavepp
/Users/svenjajessen/documents/museumsopgavepp/Users/svenjajessen/documents/museumsopgavepp
/Users/svenjajessen/documents/museumsopgavepp
 
Museumsopgave1
Museumsopgave1Museumsopgave1
Museumsopgave1
 
Studmco
StudmcoStudmco
Studmco
 
Vn tbiotop 5
Vn tbiotop 5Vn tbiotop 5
Vn tbiotop 5
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Everyone Deserves A Professional Coach
Everyone Deserves A Professional CoachEveryone Deserves A Professional Coach
Everyone Deserves A Professional Coach
 
Vnt biotopopgave 4
Vnt biotopopgave 4Vnt biotopopgave 4
Vnt biotopopgave 4
 
Light Box Maker - DSA Phototech
Light Box Maker - DSA PhototechLight Box Maker - DSA Phototech
Light Box Maker - DSA Phototech
 
Reception lisa joe
Reception lisa joeReception lisa joe
Reception lisa joe
 
Presentazione Pre Laurea Finale
Presentazione Pre Laurea FinalePresentazione Pre Laurea Finale
Presentazione Pre Laurea Finale
 
Becoming A Star Learner
Becoming A Star LearnerBecoming A Star Learner
Becoming A Star Learner
 
вступ до Java script
вступ до Java scriptвступ до Java script
вступ до Java script
 
Maco Media Slideshare
Maco Media SlideshareMaco Media Slideshare
Maco Media Slideshare
 
LAVC Opening Day power pt.
LAVC Opening Day power pt.LAVC Opening Day power pt.
LAVC Opening Day power pt.
 
Bringing About Better Health Dreams & Realities
Bringing About Better Health   Dreams & RealitiesBringing About Better Health   Dreams & Realities
Bringing About Better Health Dreams & Realities
 
Energie Rinnovabili Morena
Energie Rinnovabili MorenaEnergie Rinnovabili Morena
Energie Rinnovabili Morena
 
Tesi peiretti
Tesi peirettiTesi peiretti
Tesi peiretti
 

Ähnlich wie Tesi

Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Daniele Ciriello
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMDavide Ciambelli
 
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...maaske
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPFabio Pustetto
 
[Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System [Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System Stefano Bonetta
 
Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Maurizio Cacace
 
Il Linux OpenSound System
Il Linux OpenSound SystemIl Linux OpenSound System
Il Linux OpenSound SystemAntonioTringali
 
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYMARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYvantasso
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxCe.Se.N.A. Security
 
Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiPietro Corona
 
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...Ce.Se.N.A. Security
 
Tesi Zorzin
Tesi ZorzinTesi Zorzin
Tesi Zorzinshadow82
 
Monitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di MarkovMonitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di Markovrkjp
 
Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Fulvio Corno
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di PythonAmmLibera AL
 
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Andrea Bidinost
 

Ähnlich wie Tesi (20)

Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
 
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
 
Thesis marco de_marco
Thesis marco de_marcoThesis marco de_marco
Thesis marco de_marco
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMP
 
[Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System [Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System
 
Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques
 
Il Linux OpenSound System
Il Linux OpenSound SystemIl Linux OpenSound System
Il Linux OpenSound System
 
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYMARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linux
 
Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzati
 
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
 
Monitoraggio di rete con nagios
Monitoraggio di rete con nagiosMonitoraggio di rete con nagios
Monitoraggio di rete con nagios
 
LINEE GUIDA PER IL DISASTER RECOVERY
LINEE GUIDA PER IL DISASTER RECOVERYLINEE GUIDA PER IL DISASTER RECOVERY
LINEE GUIDA PER IL DISASTER RECOVERY
 
Tesi Zorzin
Tesi ZorzinTesi Zorzin
Tesi Zorzin
 
Monitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di MarkovMonitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di Markov
 
Tesi
TesiTesi
Tesi
 
Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di Python
 
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
 

Tesi

  • 1. 1
  • 2.
  • 3. ` UNIVERSITA DEGLI STUDI DI TRIESTE ` FACOLTA DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica Dipartimento di Elettronica, Elettrotecnica ed Informatica Tesi di laurea in RETI DI CALCOLATORI PROGETTO E REALIZZAZIONE DI STIMATORI PREDITTIVI CON TECNICHE DI GENETIC PROGRAMMING Laureando: Relatore: Gabriele DEL PRETE Prof. Alberto BARTOLI Correlatore: Ing. Giorgio DAVANZO Anno Accademico 2008-2009
  • 4.
  • 5.
  • 6. 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’elettricit` degli Stati Uniti a 5 2.1 Il mercato dell’elettricit` degli Stati Uniti . a . . . . . . . . . 5 2.2 Il mercato della California . . . . . . . . . . . . . . . . . . . 6 2.3 Il dataset della California . . . . . . . . . . . . . . . . . . . 6 2.4 Dataset-C: elaborazioni . . . . . . . . . . . . . . . . . . . . 7 2.5 Festivit` per lo Stato della California . . . . a . . . . . . . . . 9 2.6 Mercato e dataset di New York . . . . . . . . . . . . . . . . 10 2.7 Dataset-N: elaborazioni . . . . . . . . . . . . . . . . . . . . 11 2.8 Festivit` per lo Stato di New York . . . . . a . . . . . . . . . 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
  • 7. 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 densit` di probabilit` a a . . . . . . . . . . . . . 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 + festivit`” . a . . . . . . . . . . 81
  • 8. INDICE v 7.7 California, DA: profilo “base + 12 ore” . . . . . . . . . . . . 85 7.8 California, DA: profilo “base + 7 giorni” . . . . . . . . . . . 89 8 Stimatori: prezzi California 93 8.1 Stimatori per i prezzi della California . . . . . . . . . . . . . 93 8.2 California, prezzi: profilo base . . . . . . . . . . . . . . . . . 95 8.3 California, prezzi: profilo “base + pop. 1000” . . . . . . . . 99 8.4 California, prezzi: profilo “base + pop. 1000 + gen. 1200” . 103 8.5 California, prezzi: profilo “lungo” . . . . . . . . . . . . . . . 107 8.6 California, prezzi: profilo “lungo + pop. 1000 + gen. 1200” 112 8.7 California, prezzi: profilo “lungo + gen. 1200” . . . . . . . 116 8.8 California, prezzi: profilo “lungo + gen. 1200 + notte” . . . 121 9 Stimatori: consumi New York 127 9.1 Stimatori per i consumi di New York . . . . . . . . . . . . . 127 9.2 New York, consumi, Gennaio 2004: profilo “base” . . . . . . 130 9.3 New York, consumi, Luglio 2004: profilo “base” . . . . . . . 134 10 Conclusioni 139 10.1 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Bibliografia e siti web consultati 141
  • 9.
  • 10. 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: densit` di probabilit` del carico . . . . . . . a a . . 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: densit` di probabilit` dei prezzi . . . . . . . a a . . 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: densit` di probabilit` del carico . . . . . . . a a . . 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 e WMAE di validation . . . . . . . . . . . . . . . . . . . . . 55 7.1 California, consumi: posizione degli intervalli sul dataset . . 64 vii
  • 11. 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 individuo best su training set e validation set . . . . . . . . . . . . . . 71 7.5 California, consumi DA, profilo base: andamento individuo best su long testing set . . . . . . . . . . . . . . . . . . . . . 72 7.6 California, consumi DA, profilo base + DAE: andamento individuo best su training set e validation set . . . . . . . . 75 7.7 California, consumi DA, profilo base + DAE: andamento individuo best su long testing set . . . . . . . . . . . . . . . 76 7.8 California, consumi DA, profilo base + sin e cos: andamento individuo best su training set e validation set . . . . . . . . 79 7.9 California, consumi DA, profilo base + sin e cos: andamento individuo best su long testing set . . . . . . . . . . . . . . . 80 7.10 California, consumi DA, profilo base + festivit`: andamen- a to individuo best su training set e validation set . . . . . . . 83 7.11 California, consumi DA, profilo base + festivit`: andamen- a to individuo best su long testing set . . . . . . . . . . . . . 84 7.12 California, consumi DA, profilo base + 12 ore: andamento individuo best su training set e validation set . . . . . . . . 87 7.13 California, consumi DA, profilo base + 12 ore: andamento individuo best su long testing set . . . . . . . . . . . . . . . 88 7.14 California, consumi DA, profilo base + 7 giorni: andamento individuo best su training set e validation set . . . . . . . . 91 7.15 California, consumi DA, profilo base + 7 giorni: andamento individuo 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 best su training set e validation set . . . . . . . . . . . . . . . . . 97 8.3 California, prezzi, profilo base: andamento individuo best su long testing set . . . . . . . . . . . . . . . . . . . . . . . 98 8.4 California, prezzi, profilo “base + pop. 1000”: andamento individuo best su training set e validation set . . . . . . . . 101
  • 12. ELENCO DELLE FIGURE ix 8.5 California, prezzi, profilo “base + pop. 1000”: andamento individuo 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-C con training lungo . . . . . . . . . . . . . . . . . . . . . . . 107 8.9 California, prezzi, profilo “lungo”: andamento individuo best su training set e validation set . . . . . . . . . . . . . . 110 8.10 California, prezzi, profilo “lungo”: andamento individuo best 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”: andamento individuo best su training set e validation set . . . . . . . . 119 8.14 California, prezzi, profilo “lungo + gen. 1200”: andamento individuo 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 . . . . . . . . . . . . . . . . . 129 9.2 New York, consumi, Gennaio 2004, profilo “base”: anda- mento individuo best su training set e validation set . . . . 132 9.3 New York, consumi, Gennaio 2004, profilo “base”: anda- mento individuo best su long testing set . . . . . . . . . . . 133 9.4 New York, consumi, Luglio 2004, profilo “base”: andamen- to individuo best su training set e validation set . . . . . . . 136 9.5 New York, consumi, Luglio 2004, profilo “base”: andamen- to individuo best su long testing set . . . . . . . . . . . . . 137
  • 13.
  • 14. Elenco delle tabelle 2.1 Festivit` nello Stato della California . . . . . . . . . . . . . 9 a 2.2 Festivit` nello Stato di New York . . . . . . . . . . . . . . . 12 a 6.1 Parametri costanti nelle esecuzioni di ED . . . . . . . . . . 50 6.2 Macchine disponibili per la computazione . . . . . . . . . . 61 6.3 Gruppi di macchine utilizzati . . . . . . . . . . . . . . . . . 61 7.1 California, consumi HA, profilo unico: parametri del run e statistiche per l’individuo best generato . . . . . . . . . . . 66 7.2 California, consumi DA, profilo base: parametri del run e statistiche per l’individuo best generato . . . . . . . . . . . 70 7.3 California, consumi DA, profilo base + DAE: parametri del run e statistiche per l’individuo best generato . . . . . . . . 74 7.4 California, consumi DA, profilo base + sin e cos: parametri del run e statistiche per l’individuo best generato . . . . . . 78 7.5 California, consumi DA, profilo base + festivit`: parametri a del run e statistiche per l’individuo best generato . . . . . . 82 7.6 California, consumi DA, profilo base + 12 ore: parametri del run e statistiche per l’individuo best generato . . . . . . 86 7.7 California, consumi DA, profilo base + 7 giorni: parametri del run e statistiche per l’individuo best generato . . . . . . 90 8.1 California, prezzi: risultati per il testing set del paper [15] . 94 8.2 California, prezzi, profilo base: parametri del run e statisti- che per l’individuo best generato . . . . . . . . . . . . . . . 96 8.3 California, prezzi, profilo “base + pop. 1000”: parametri del run e statistiche per l’individuo best generato . . . . . . 100 xi
  • 15. 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”: parametri del 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] . . . 128 9.2 New York, consumi, Gennaio 2004, profilo “base”: parame- tri del run e statistiche per l’individuo best generato . . . . 131 9.3 New York, consumi, Luglio 2004, profilo “base”: parametri del run e statistiche per l’individuo best generato . . . . . . 135
  • 16. Capitolo 1 Introduzione 1.1 La Genetic Programming per predirre il mer- cato elettrico In questa tesi si ` affrontato il problema della realizzazione di stimatori e predittivi per i consumi ed i prezzi dell’elettricit` mediante la tecnica a della Genetic Programming. La Genetic Programming ` un paradigma di e calcolo per la generazione automatica di algoritmi fortemente ispirato ai meccanismi della selezione naturale. La letteratura scientifica generalmente si basa su approcci di carattere statistico per la realizzazione di stimatori predittivi per i consumi ed i prezzi dell’elettricit`. In questo lavoro si vuole mostrare che la Genetic a Programming permette di ottenere stimatori con prestazioni paragonabili agli stimatori tradizionali ma che possono essere generati ed utilizzati in modo molto pi` semplice, in particolare, senza effettuare preelaborazioni u sui dati storici, senza ricorrere a variabili esogene e senza necessit` dia creare e gestire una molteplicit` di modelli calibrati in modo diverso. a La motivazione di questo lavoro nasce dalla considerazione che, a se- guito della liberalizzazione del mercato dell’energia elettrica attuato negli ultimi anni in molti paesi, in cui produttori e consumatori si scambiano l’e- lettricit` mediante asta, ` diventato importante predirre l’andamento della a e quantit` e dei prezzi dell’elettricit` per ottimizzare i costi di acquisto o di a a produzione e ridurre gli sprechi. 1
  • 17. 2 CAPITOLO 1. INTRODUZIONE La comunit` scientifica studia da anni questo problema, e le soluzioni a proposte generalmente fanno uso di metodi ricadenti nelle pure scienze statistiche (modellazione parametrica di serie temporali). Questi meto- di per` fanno spesso uso di pre-processing sui dati iniziali (ad esempio, o sostituzione dei valori da stimare con il loro logaritmo, identificazione ed eliminazione di outlier, eliminazione di giornate “particolarmente pro- blematiche”), o utilizzano variabili esogene (dati ambientali o finanziari esterni), o scelgono di creare molteplici modelli invece di uno singolo (ad esempio, un modello differente per ogni ora del giorno), e risultano quindi meno immediati nella fase di utilizzo perch´ la ricalibrazione del modello e risulta pi` complessa. u Il lavoro che qui si descrive ` stato realizzato dallo scrivente pres- e so il Laboratorio di Reti di Calcolatori del Dipartimento di Elettronica, Elettrotecnica ed Informatica dell’Universit` di Trieste. a Il framework per la Genetic Programming che ` stato utilizzato, Evo- e lutionary Design, ` stato sviluppato negli ultimi anni presso il Laboratorio e ed ` gi` stato utilizzato con successo su problemi dalla natura pi` varia: e a u dalla stima della disponibilit` di contante da assicurare presso uno sportel- a lo Bancomat, passando alla stima della distribuzione del calore all’interno di forni, per giungere alla stima dei tempi di ri-trasmissione dei pacchetti all’interno del protocollo TCP. Tutto il restante lavoro di implementazione di script bash e R di elaborazione dati ` stato svolto dallo scrivente. e 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 modo per quanto riguarda la regressione simbolica di serie temporali. Il capitolo 4 descrive Evolutionary Design e documenta l’uso del plugin di valutazione DAEScalarEvaluation realizzato con questo lavoro. Il capitolo 2 descrive gli archivi dei dati di consumo elettrico e dei prezzi dell’elettricit` utilizzati. a Il capitolo 5 descrive alcune semplici analisi statistiche realizzate sugli archivi del capitolo precedente.
  • 18. 1.3. CONVENZIONI 3 Il capitolo 6 descrive la metodologia seguita nelle prove per la ricerca con la Genetic Programming degli stimatori. Il capitolo 7 documenta la ricerca degli stimatori per i consumi elettrici della California. Il capitolo 8 documenta la ricerca degli stimatori per i prezzi dell’elet- tricit` della California. a Il capitolo 9 documenta la ricerca degli stimatori per i consumi elettrici della citt` di New York. a 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 abbrevier` il termine “Genetic Programming” con GP e il nome di a “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 user` il corsivo. a I nomi delle funzioni statistiche che verranno usate per analizzare le prestazioni degli stimatori saranno in maiuscoletto.
  • 19.
  • 20. Capitolo 2 Il mercato dell’elettricit` a degli Stati Uniti 2.1 Il mercato dell’elettricit` degli Stati Uniti a Negli anni 90 dello scorso secolo gli Stati Uniti d’America hanno attuato un processo di liberalizzazione e deregulation del mercato elettrico interno. A tale scopo ` stata creata un’agenzia federale indipendente, la Fede- e ral Energy Regulation Commission (FERC ), che ha lo scopo di supervi- sionare il mercato elettrico liberalizzato per quanto riguarda—tra le altre cose—i prezzi di alcune materie prime e i prezzi dello scambio wholesale dell’elettricit`. a Oltre alla FERC, sono state create da parte dei singoli Stati dell’Unione altre agenzie di controllo del mercato dell’elettricit`, che operano solo a all’interno del mercato del relativo stato, o tutto al pi` in parti di quelli u delle regioni o stati confinanti; tali agenzie statali sono note con il nome di Independent System Operator (ISO). La FERC infine ha ordinato la creazione (e a tutt’oggi supervisiona) di un sistema informativo pubblico e accessibile tramite il web, chiamato Open Access Same-Time Information System (OASIS ), che fornisce servizi utili a venditori ed acquirenti di energia elettrica in maniera aperta, equa e non discriminatoria. In questo lavoro sono stati utilizzati due archivi, pubblicati dai due differenti OASIS di due differenti ISO: quello per l’intero Stato della Cali- fornia e quello relativo alla sola area metropolitana della citt` di New York. a 5
  • 21. ` 6CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI Tali archivi sono stati scelti in quanto utilizzati anche dalle pubblicazio- ni analizzate durante l’attivit` di preparazione del lavoro qui descritto: a offrono quindi la possibilit` di poter confrontare i risultati ottenuti. a 2.2 Il mercato della California ` E opportuno aprire una breve parentesi sul funzionamento del mercato liberalizzato 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 perch´ di natura diffe- e rente: • il mercato Day-Ahead (DA) ` un mercato, gestito da un ente ester- e no all’ISO della California, il California Power Exchange (PX ), a carattere speculativo/finanziario: i partecipanti dell’asta lanciano le offerte di acquisto e di vendita allo scopo di massimizzare il profitto, e tutte le transazioni si fermano un giorno prima della vera consegna dell’elettricit`; a • il mercato Hour-Ahead (HA) invece ` il mercato direttamente gestito e dall’ISO della California (CAISO), in cui i lanci per le offerte di acquisto e di vendita di ripetono ogni ora e riguardano i prezzi e i consumi dell’ora successiva: le possibilit` di speculazioni su un a intervallo di tempo cos` corto sono ovviamente molto pi` limitate e i ı u prezzi del mercato HA sono molto pi` dipendenti dalle reali necessit` u a di 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 ) ` disponibile e libera- e mente utilizzabile da chiunque per scopi didattici e di ricerca ed ` pubbli- e 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 per analisi statistiche STATA. I dati contenuti sono identici. In entrambi i
  • 22. 2.4. DATASET-C: ELABORAZIONI 7 casi, si pu` considerare come una tabella di record, in cui ogni record o fornisce valori veri e stime per i consumi elettrici ed i prezzi di scambio relativi, oltre ovviamente alle informazioni temporali (ora, giorno, mese, anno cui si riferiscono i valori del record) proprie del record. Dei singoli campi nel file esiste sono una breve descrizione presente sempre sul sito della UCEI[2]. Nel file le stime di quasi tutte le grandezze sono doppie in quanto vengono fornite per entrambi i mercati di scambio attivi. I campi di ogni record del file sono identici per le due versioni CSV e STATA 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 della settimana cui appartiene il giorno relativo al record; • il carico elettrico misurato per l’istante descritto dal record, nel campo QASYS (descritto come Actual System-wide Load ); • il prezzo orario misurato dell’elettricit` per il sotto-mercato DA, nel a campo PPXSYS (descritto come Price in PX for Unconstrained System); • e infine, moltissimi altri indici, sia di prezzo che di consumo, che non sono d’interesse per i fini di questo lavoro. 2.4 Dataset-C: elaborazioni ` E stato necessario elaborare il dataset-C per renderlo utilizzabile con il framework 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 in formata STATA (gestibile da R tramite un package di libreria aggiunti- vo) scaricato dal sito UCEI. Dalla serie di dati originali vengono quindi eliminati 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
  • 23. ` 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 contiene la serie di dati per quasi 6 anni interi): l’anno scelto ` quello che va dal 5 e Luglio 1999 al 4 Luglio 2000 (per un totale di 366 giorni, e 366 ∗ 24 = 8784 record orari). Vengono quindi estratti, per ogni record, solo i campi di interesse: 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 giorno della settimana (SUNDAY, MONDAY,. . . , SATURDAY), il campo dei consumi orari osservati QASYS e il campo dei prezzi orari osservati per il sotto-mercato DA PPXSYS. Durante le prime analisi si ` notato che, all’interno dell’anno scelto, e due valori del campo QASYS e un valore del campo PPXSYS erano mancanti: il problema ` stato risolto sostituendo ai valori mancanti una e interpolazione data dai valori vicini. Ai campi estratti, nel file di output, ne vengono aggiunti altri, calcolati dallo script: • il campo WEEKDAY, che assume valori da 1 a 7 e indica il giorno della settimana cui appartiene il record orario (con 1 equivalente a domenica e 7 equivalente a sabato); questo campo ` ridondante ri- e spetto ai campi SUNDAY, . . . , SATURDAY ma potrebbe essere pi` comodo per alcune elaborazioni rispetto ai sette campi booleani; u • il campo ISHOLIDAY, booleano, che assume valore 1 se il giorno cui appartiene il record orario ` uno dei giorno festivi dello Stato e della California; tale campo viene calcolato dallo script utilizzando alcune funzioni di un package esterno per R che ritornano le date per le feste della California, assegnato un anno; • il campo ISHOLISATSUN, booleano, che assume valore 1 se il giorno cui appartiene il record orario ` un giorno festivo (campo e ISHOLIDAY pari a 1) oppure ` un sabato o una domenica (quindi: e ISHOLISAT SU N := ISHOLIDAY or SAT U RDAY or SU N DAY ); • il campo ISNIGHT, booleano, che assume valore 1 per le ore del giorno (campo HOUR) che si vogliono considerare notte profonda (la scelta fatta per questo lavoro considera come notte fonda le ore
  • 24. ` 2.5. FESTIVITA PER LO STATO DELLA CALIFORNIA 9 dalle 1 antimeridiane alle 5 antimeridiane, comprese); questo campo ` stato utile solo alla creazione dello stimatore dei prezzi e non viene e utilizzato per lo stimatore dei consumi; • il campo DAE, reale, che assume identicamente il valore 0.0 e la cui utilit` verr` descritta nel capitolo 4. a a Infine il dataset risultante viene salvato dallo script nel formato CSV (Comma Separated Values), che ` il formato richiesto in ingresso da ED. e 2.5 Festivit` per lo Stato della California a Le festivit` per lo Stato della California sono state ricavate da Wikipedia a (vedi [3]) e dal sito del Dipartimento per l’Amministrazione del Personale dello Stato della California (vedi [11]). Le festivit` pubbliche osservate in California sono: a Festivit`a Ricorrenza 1 Gennaio Capodanno Terzo luned` di Gennaio ı Compleanno di Martin Luther King Terzo luned` di Febbraio ı Giorno dei Presidenti Ultimo luned` di Maggio ı Memorial Day 4 Luglio Festa dell’Indipendenza Primo luned` di Settembre ı Festa del Lavoro 11 Novembre Giorno dei Veterani Quarto gioved` di Novembre ı Thanksgiving Quarto venerd` di Novembre ı Giorno dopo il Thanksgiving 25 Dicembre Natale Tabella 2.1: Festivit` nello Stato della California a In California, se una festivit` pubblica cade di domenica, di norma vie- a ne portata al luned` successivo[3]; analogamente, se una festivit` pubblica ı a cade di sabato, la legge permetterebbe di portarla al venerd` immediata- ı mente precedente[12]: mentre per` nel primo caso lo spostamento avviene o sempre, nel secondo caso questo accade raramente (le aziende possono decidere se farlo o no, e in genere scelgono di no)[3].
  • 25. ` 10CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI Lo script R per la California tiene conto di queste convenzioni e marca quindi come festivo un giorno se e solo se il giorno appartiene ad una festivit` e non ` domenica, o se il giorno ` luned` e il giorno precedente a e e ı era un giorno di festa. Per l’intervallo di tempo considerato per il dataset-C l’eccezione di spostamento a luned` della festivit` domenicale accade solo per la Festa ı a dell’Indipendenza del 1999—4 Luglio 1999, una domenica—che viene spo- stata a luned` 5 Luglio 1999 (incidentalmente, il primo giorno del dataset ı estratto). 2.6 Mercato e dataset di New York Si noti innanzitutto che al contrario del caso della California, non esiste un equivalente per la citt` di New York del mercato (e dell’asta) Day-Ahead a (n´ un ente equivalente al California Power Exchange): l’unico mercato ` e e quello Hour-Ahead1 . Per coerenza con gli stimatori realizzati per il caso precedente, per`, si ignorer` questa differenza e ci si limiter` a realizzare, o a a con i dati orari del NYISO, degli stimatori DA. Il dataset orario per lo Stato di New York (d’ora in poi, dataset-N ) ` e disponibile e liberamente utilizzabile da chiunque per scopi didattici e di ricerca ed ` pubblicato sul sito delNew York ISO (NYISO). e Viene fornito sotto forma di serie di file CSV, uno per ogni mese degli anni disponibili. Ogni file contiene unicamente le informazioni di data e ora cui il record si riferisce, e il consumo elettrico misurato nonch´—ine aggiunta rispetto al caso del dataset-C—la stima del consumo elettrico che era stata prevista dallo stesso NYISO per la medesima data e ora. Sia il consumo reale misurato che la stima vengono forniti disaggregati per macro-regioni dello stato; per questa tesi si sono considerate solo le due colonne per la macro-regione comprendente l’area metropolitana di New York. I campi interessanti del dataset-N sono: • date e time, che indicano la data e l’ora del record, ed il giorno della settimana cui appartiene il giorno relativo al record; 1 In effetti, questa ` la situazione pi` comune: ` la California che, con i suoi due e u e mercati, rappresenta un caso particolare.
  • 26. 2.7. DATASET-N: ELABORAZIONI 11 • J NYC Actual il carico elettrico misurato per l’istante descritto dal record; • J NYC Forecast il carico elettrico precedentemente stimato per l’istante descritto dal record. 2.7 Dataset-N: elaborazioni Le elaborazioni applicate al dataset-N sono analoghe a quelle per il dataset- C: sono per` realizzate in due passi, per comodit` di implementazione: o a • un primo semplice script Bash build newyork single csv.sh aggrega tutti i file CSV mensili scaricati dal sito del NYISO presenti nella directory corrente del processo in un singolo file CSV; • successivamente uno script per R, make csv newyork.r, del tutto analogo a quello per la California, estrae i campi di interesse so- pra riportati per il sottointervallo voluto dei dati e aggiunge i campi WEEKDAY, ISHOLIDAY e ISHOLISATSUN per la gestione delle festivit` nonch´ il campo DAE; questi campi hanno significa- a e to identico a quelli del dataset-C (a parte ovviamente le date delle festivit` che sono state adattate a quelle dello Stato di New York). a L’unica altra elaborazione effettuata sul dataset-N da parte dello script per R ` la rinominazione dei campi date in DATE, time in HOUR, e J NYC Actual in ACTUAL e J NYC Forecast in FORECAST, principalmente per uniformit` con il dataset-C. a Per la costruzione degli stimatori per il consumo di New York si ` e estratto l’intero intervallo 1 Gennaio 2003 - 30 Agosto 2004, coerentemente al lavoro descritto in [6] (nelle prove sono stati poi utilizzati intervalli pi` u corti). Si fa notare che dal sito del NYISO non risulta pi` scaricabile il u file del mese di Ottobre 2003: si ` quindi scelto semplicemente di omettere e i dati relativi a questo mese dal dataset utilizzato per le simulazioni con la GP. A parte il mese di Ottobre 2003, nel dataset-N non esistono altri dati mancanti, quindi non c’` stata la necessit` di interpolazione dei dati e a come fatto per il caso della California. Il dataset risultante dall’elaborazione dello script R viene salvato dallo script nel formato CSV (Comma Separated Values) richiesto da ED.
  • 27. ` 12CAPITOLO 2. IL MERCATO DELL’ELETTRICITA DEGLI STATI UNITI 2.8 Festivit` per lo Stato di New York a Le festivit` per lo Stato di New York sono state ricavate da Wikipedia a (vedi [3]). Le festivit` pubbliche osservate a New York sono: a Festivit`a Ricorrenza 1 Gennaio Capodanno Terzo luned` di Gennaio ı Compleanno di Martin Luther King 12 Febbraio Compleanno di Lincoln Terzo luned` di Febbraio ı Compleanno di Washington Ultimo luned` di Maggio ı Memorial Day 4 Luglio Festa dell’Indipendenza Primo luned` di Settembre ı Festa del Lavoro Secondo luned` di Ottobre ı Columbus Day Primo marted` di Novembre ı Election Day 11 Novembre Giorno dei Veterani Quarto gioved` di Novembre ı Thanksgiving 25 Dicembre Natale Tabella 2.2: Festivit` nello Stato di New York a Per quanto riguarda le feste che vengono a cadere di domenica o sabato, valgono le stesse regole della California sopra riportate, quindi lo script applica l’algoritmo di scelta descritto per il caso della California.
  • 28. Capitolo 3 Cenni sulla Genetic Programming 3.1 GP per la regressione simbolica di serie tem- porali La Genetic Programming (GP )[8][4][9] ` un metodo automatico per creare e algoritmi per computer tramite un approccio simile a quello dell’evoluzione delle specie basata sulla selezione naturale, descritta da Darwin in [5]. Il funzionamento della GP ` iterativo e si basa principalmente su un ciclo e di selezione artificiale applicato ad un insieme di algoritmi generati in maniera pseudo-casuale (individui ), che vengono ricombinati fra di loro in modo da convergere verso una soluzione ottima secondo una metrica decisa a priori. Per regressione simbolica di serie temporali si intende invece il proble- ma di trovare una espressione matematica in forma simbolica che fornisca una buona o perfetta corrispondenza ad una serie di valori misurati di una grandezza, eventualmente influenzata da un insieme di variabili indi- pendenti di cui si possiede lo storico. Nel campo dell’analisi numerica si parla di curve fitting, ovvero l’obiettivo ` quello di trovare un modello che e aderisca meglio possibile ad un certo insieme di dati o punti. La regres- sione simbolica si differenzia dagli altri tipi di regressione in quanto non si devono semplicemente trovare dei coefficienti numerici da applicare ad 13
  • 29. 14 CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING una funzione con una forma prestabilita, ma si vuole trovare la funzione stessa. Se si utilizza la GP per risolvere un problema di regressione simbolica di serie temporali, si ha che gli individui sono algoritmi che prendono in ingresso i valori delle variabili indipendenti e producono i valori della variabile dipendente; la GP, applicando il suo ciclo evolutivo, perverr` ad a individui che massimizzano l’aderenza della curva prodotta dagli individui a quella dei valori veri misurati. 3.2 Insiemi di dati per stimatori di serie tempo- rali ` E opportuno innanzitutto definire alcuni termini relativamente agli insiemi di dati usati solitamente nella ricerca di stimatori per serie temporali (non solo tramite regressione simbolica usando la GP, ma tramite qualunque metodo). La ricerca di uno stimatore per serie temporali si pu` pensare suddivisa o in due fasi: • la prima si occupa della generazione dello stimatore, ci` di una o soluzione candidata al problema; • la seconda si occupa della prova dello stimatore su di un insieme di dati che in fase di creazione non gli era stato sottoposto, al fine di misurarne le prestazioni (a tal fine deve esistere la serie di valori reali misurati della grandezza stimata dallo stimatore per questo secondo insieme di dati). La seconda fase si chiama testing e l’insieme di dati su cui si testano le performance si chiama testing set. Per la GP la prima fase, in cui si creano gli individui/soluzioni, fa uso di due insiemi distinti: il primo ` detto training set e il secondo validation e set. La GP lavora creando gli individui facendo uso del training set e misurando la bont` degli stessi sul validation set. Si noti che la soluzione a viene 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 delle performance.
  • 30. moderate or variable size (e.g. [ Fig. 1. Deep Groove Ball Bearing B. Representation 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 The programs are usually re 3.3. GENETIC the Genetic Programming BREVE we will consider present PROGRAMMING IN approach 15 trees, where a branch node is only the three first elements on the diagonal of the matrix, set which may contain arithmeti those corresponding to the force component. Furthermore the In altri metodi che non siano la regressione simbolica basata sulla GP, with at least one argum functions instead an element from a termin la prima fase possiede is the same solo all elements datithe stiffness methodology invece un for insieme di of che si dice anch’esso matrix. variables, constants and functio generalmente training set. and leaves of the tree can on In questo lavoro si ` scelto di usare la GP, quindi ci si trover`provided by the user. e a sempre nel caso dei tre III. G ENETIC P ROGRAMMING IN A N UTSHELL insiemi di dati: Identification of the element set and terminal set should be • il training set e il validation set, in fase di creazione degli individui; Genetic Programming (GP) is an automatic method for cre- order to provide terminals and ating set, nella fase esterna di misura delle performanceexpress a solution to the prob • il testing computer programs by means of artificial evolution [9]. to degli A population of computer programs are generated at random. should be the most significant individui selezionati quali migliori. Then, each program is associated with a fitness value which domain considered. When the d and involves a wide number of In pi`,quantifies its ability to si ` utilizzato ancheIts application to set, che u in questo lavoro, solve a given problem. un long testing e a given problem requires the definition of a fitness function for strategies may be employed to ` un’estensione opportuna del testing set (comprende il testing set esat- e that problem, that is, the definition of a quantitative measure process [5]. tamente all’inizio). Si ` introdotto il long testing setdetailsvedere come symbolic regression pro e of the performance of a candidate solution (more per will For si conportasse lo stimatore oltre il testing set, che `recombination to consist of the arithmetic operato follow). Fitter programs are selected for e stato generalmente scelto in modo da coincidere con quelloby using geneticpaper di riferimento[15][6]. produce a new population riportato nei operators, such as The terminal set may consist crossover and mutation. This step is iterated for some number and constants fixed according t of generations until the termination criterion of the run has of the problem, or randomly ge 3.3 Genetic Programming in illustrated in Figure Constants ERC) [9]. An exampl been satisfied. The evolutionary cycle is breve 2. mathematical expression is pres Fig. 3. A tree representation of x × y Fig. 2. Basic scheme for artificial evolution Figura 3.1: Schema di base della Genetic Programming In the stiffness problem we and the constants 0, 1, 0.1 as ele Un cicloThe Genetic di GP inizia process shares some popolazioni di al- four basic mathema evolutivo Programming col generare una working we selected principles with the other variants of Evolutionary Algorithms elements of the function set. goritmi in maniera casuale (si veda la figura 3.1). Poi, ad ognuno degli (EA) [2], and is closely related to Genetic Algorithms (GAs) Other representations such as algoritmi—chiamati main difference lies in the per mantenere ilthe [3] and grammatical evolution [ since their anche individui proprio interpretation of parallelo con la selezione naturale darwiniana—viene associato un valore di fitness che to the abstract synta representation [20]. alternatives misura la sua abilit` a risolvere il problema scelto. La fitness viene cal- a colata tramite una funzione di fitness che viene implementata nel motore
  • 31. 16 CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING di GP ; deve essere scelta in modo da essere adatta al problema che si vuole risolvere, e deve fornire come risultato una misura quantitativa di quanto 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 una nuova popolazione; questa fase fa uso di operatori genetici, quali crossover e mutazioni. Alla nuova popolazione viene applicato il criterio di scelta basato sulla fitness, e in ciclo ricomincia. Il ciclo viene ripetuto per un certo numero di generazioni, finch´ non e viene soddisfatto il criterio di terminazione prescelto (tempo massimo di calcolo da non oltrepassare, scoperta di un individuo con fitness ottima, . . . ). Nei prossimi sottocapitoli si analizzano in maggior dettaglio i singoli passi 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 ogni algoritmo viene chiamato individuo. La dimensione della popolazione vie- ne specificata dall’utente e dipende dalla difficolt` attesa del problema. a Storicamente, si ` sempre reputato che per migliorare le performance del e processo di GP ` necessario utilizzare popolazioni molto numerose; po- e polazioni molto numerose vengono considerate una scelta opportuna in quanto dovrebbero mantenere la diversit` e dovrebbero prevenire rischi di a convergenza prematura verso massimi locali. Di recente, per`, ci si sta o orientando verso altri approcci che permettono di utilizzare popolazioni di dimensione moderata o variabile nel tempo[7]. 3.5 Rappresentazione degli individui Gli individui vengono solitamente rappresentati come alberi di sintassi astratta (Abstract Syntax Tree, AST ), nei quali i nodi interni sono ele- menti di un insieme di funzioni che pu` contenere funzioni aritmetiche o o elementari o operatori logici che accettano almeno un argomento, mentre
  • 32. 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]). 3.5. RAPPRESENTAZIONE DEGLI INDIVIDUI 17 B. Representation o moments. We obtain a i nodi foglia The programs elementi direpresented as di terminali, che solita- pose of this paper is to sono invece are usually un insieme abstract syntax proach we will mente ` composto da a branch costanti e element senza function e consider trees, where variabili, node is an funzionifrom a argomenti. I nodi diagonal of the matrix,e le foglie dell’albero possono essere operators, elementaryquesti due interni set which may contain arithmetic, logic solo elementi di ponent. Furthermore the che sono stabilitileast one argument. A leaf node of the tree is insiemi, functions with at a priori dall’utente. ements of the stiffness instead an element from a terminal set, which usually contains L’identificazione degli elementi da includere arguments. Nodes funzioni e variables, constants and functions with no nell’insieme di nell’insieme di leaves of the tree essere scelto elements of these sets in modo and terminali deve can only be con cura dall’utente, provided by the user. che le funzioni ed i terminali scelti siano sufficienti per esprimere la solu- G IN A N UTSHELL zione del problema; inoltre, the possibile,to include in the function in modo Identification of se elements dovrebbero essere scelti set and terminal set should be done carefully by the user in siano i pi` significativi per il dominio del problema considerato. u utomatic method for cre- order to provide terminals and functions which are sufficient f artificial evolution [9]. caso express a solution to the problem. simbolica, l’insieme di funzioni Nel to di problemi di regressione Moreover these elements are generated atconsiste solitamentethe most significant as possible efor the problem random. should be nelle funzioni aritmetiche in quelle trigonometri- th a fitness value which domain considered. When the consiste in variabili indipendenti, in che, mentre l’insieme dei terminali domain is not well understood roblem. Its application to scelteinvolves a wide number of functions and terminals, new generate costanti and considerando il problema da risolvere, o costanti n of a fitness function for strategies may be employed to improve efficiency of the GP casualmente (Ephemeral Random Constants, ERC )1 . f a quantitative measure process [5]. lution (more detailsIn figura For symbolic regression problems, the function set may will 3.2 si mostra un albero di sintassi astratta d’esempio; viene d for recombination to consist of per arithmetic operators, or trigonometric functions. raffigurato l’albero the l’espressione matematica ((x×y)×(1+0.3))−(x∗1). enetic operators, such as Theformula rappresentata ` piuttosto grezza; come si pu` intuire Si noti che la terminal set may consist of the independent variables e o terated for some number and constants fixed according to the preliminary knowledge questo risultato rappresenta la normalit` per la GP, a causa della casualit` a a criterion of the run has of the problem, or randomly generated (Ephemeral Random nella creazione ed evoluzioneAn example of abstract syntax tree for a e is illustrated in Figure Constants ERC) [9]. degli individui. mathematical expression is presented in Figure 3. Fig. 3. A tree representation of x × y × 1.3 − x Figura 3.2: Esempio di albero di sintassi astratta In the stiffness problem we selected the variables Fr , Fz and the constants 0, 1, 0.1 as elements of the terminal set and s shares some working we selected four basic mathematical operators +, −, ×, ÷ as Evolutionary Algorithms elements of the function set. 1 Le ERC sono valori scelti casualmenteas linear genetic programming GP ma che enetic Algorithms (GAs) Other representations such all’inizio dell’esecuzione della restano poi costanti per tutta l’evoluzione he interpretation of the [3] and grammatical evolution [15] are also used and provide alternatives to the abstract syntax tree.
  • 33. 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 ` anche il criterio per selezionare gli e individui che verranno usati per generare una nuova popolazione. La fun- zione di fitness da scegliere dipende dal problema considerato ed ` scelta e dall’utente. La fitness generalmente non viene calcolata su tutti i valori possibili per le variabili indipendenti, ma viene solitamente limitata ad un sottoin- sieme dei valori; questo sottoinsieme deve essere sufficientemente grande da rappresentare un insieme rappresentativo di tutti i valori possibili. Ge- neralmente quindi si sceglie un sottoinsieme finito dell’intero dominio del problema che si sta analizzando, che viene chiamato validation set. Le funzioni che si possono scegliere come fitness sono molte; una delle pi` comuni per i problemi di regressione simbolica ` la varianza dell’errore u e (Mean Square Error, MSE ), cio` la media dei quadrati delle differenze fra i e valori attesi θ (ad esempio, la serie storica reale misurata di una grandezza ˆ fisica) e quelli ottenuti dall’algoritmo/individuo sotto esame θ (la stima): n 1 ˆ M SE = (θ − θ)2 . n i=1 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 fornire a GP per la ricerca della soluzione del problema considerato: a questo punto il ciclo evolutivo pu` essere avviato. o Nei prossimi sottocapitoli si descriveranno singolarmente i quattro passi dell’algoritmo di evoluzione della Genetic Programming. 3.7 Generazione della popolazione iniziale La popolazione iniziale ` composta da individui generati combinando ca- e sualmente elementi dell’insieme di funzioni con quelli dell’insieme dei ter- minali. Esistono principalmente tre metodi di generazione della popolazione iniziale, che si differenziano per la dimensione e la forma degli alberi
  • 34. 3.8. VALUTAZIONE DELLA FITNESS 19 di sintassi astratta generati, ma che partono tutti e tre dal nodo radice dell’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 procede iterativamente attaccando ad ogni nodo solo nodi di tipo funzione, e mai nodi terminali; quando si ` raggiunta la profondit` massima im- e a postata dall’utente, si completa l’albero scegliendo come nodi foglia solo elementi dell’insieme dei terminali. Questo metodo crea alberi tutti della stessa profondit` e che hanno la caratteristica di essere a perfettamente bilanciati; • metodo grow : scelto a caso il nodo radice in modo che appartenga all’insieme delle funzioni, si procede iterativamente attaccando ad ogni nodo sia elementi terminali (foglie) che elementi funzionali (no- di interni); se un ramo raggiunge la profondit` massima, si scelgono a solo nodi terminali. La distribuzione di probabilit` con cui si sce- a glie i nodi pu` essere uniforme o scelta in modo che certi elementi o degli insiemi abbiano probabilit` maggiore di essere scelti. Gli albe- a ri realizzati con questa tecnica risultano sbilanciati e di profondit` a diversa; • metodo ramped half-and-half : si utilizza il metodo full per met` della a popolazione iniziale, e il metodo grow per l’altra met`; l’obiettivo ` a e quello di garantire una eterogeneit` pi` alta nella composizione della a u popolazione iniziale. Sperimentalmente, si mostra che il metodo che fornisce migliori risulta- ti ` l’ultimo, perch´ aumenta la “bio-diversit`” della popolazione iniziale. e e a Talvolta inoltre si controlla, durante la creazione degli individui, che non venga creato un individuo completamente identico ad uno gi` creato, nel a qual caso si procede a sostituirlo con uno nuovo. 3.8 Valutazione della fitness Dopo la generazione della popolazione iniziale, o dopo la generazione di una nuova popolazione, ogni individuo viene valutato secondo la funzione di fitness. Questo passo ` computazionalmente costoso, e dipende inoltre e
  • 35. 20 CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING dal numero di dati del validation set, dalle funzioni scelte, e dalle variabili indipendenti scelte. Poich´ per` questa fase ` intrinsicamente parallela e o e (la valutazione di un individuo non dipende dalla valutazione degli altri individui), viene spesso implementata in modo da sfruttare la presenza eventuale di architetture di calcolo parallelo. Per la fitness si possono scegliere molteplici funzioni; generalmente si tratta di statistiche che pervengono ad una stima dell’errore fra valori misurati e stimati, quali ad esempio l’errore quadratico medio o la radice dell’errore quadratico medio, l’errore percentuale medio, lo scarto medio assoluto, e cos` via, o anche medie di loro restrizioni temporali (es. media ı delle serie degli errori quadratico medi sulle singole settimane o sul singolo giorno). 3.9 Selezione degli individui La fase di selezione si basa sull’applicazione del principio della “sopravvi- venza del pi` adatto” sulle soluzioni candidate, in analogia con la selezione u naturale darwiniana. Esistono molti metodi per implementare la selezione, i pi` usati sono: u • Fitness Proportionate o Roulette-wheel : la probabilit` che ogni in- a ` dividuo venga selezionato ` pari alla sua fitness (normalizzata). E il e metodo proposto originariamente, ma ` stato man mano estromesso e a 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 il vantaggio di ridurre il predominio assoluto degli individui dotati di fitness particolarmente alte rispetto agli altri, in modo da limitare la possibilit` che si diminuisca la bio-diversit` e si evolva anticipata- a a mente verso un soluzione ottima solo localmente; allo stesso tempo, questo metodo esagera la differenza tra due elementi dotati di fitness molto simile ma tuttavia differenti nella posizione che hanno assunto nella lista; • Tournament: un numero prefissato di elementi viene estratto in mo- do casuale tra la popolazione; fra questi, viene scelto quello con fitness pi` alta; questa ` la tecnica di selezione pi` utilizzata; u e u
  • 36. oi − ei ) (4) • elitism, the main idea of elitism is to copy the best or the few best individuals in the next generation. Elitism can t Mean Square Error, 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. (oi − ei ) 3.10. (5) VARIAZIONE DEGLI INDIVIDUI 21 1 d terminal set according G. Variation • con Elitism: copia semplicemente l’individuo o gli individui migliori cted, and when a fitness Variation or genetic operators act on the structure of the date programs from bad trees and on the content of the nodes or leaves, by combining applica- nella successiva generazione, mentre per i i rimanenti viene solutions can evolve to uno modifying two or more parental questo permette dinew, as or dei tre metodi precedenti; individuals to create aumentare le rt we will describe each possibly better solutions (i.e., offsprings). The non si rischia mai di performance dell’evoluzione complessiva perch´ goal is to e approach. perdere le migliori soluzioni trovate finoobtain an individual combine parental traits with the hope to a quell’istante. with an improved fitness. The simplest variation operator in GP is duplication since it does only an exact copy of an 3.10 Variazione degli individui allows to keep of individuals randomly individual without any change. This operator a copy of some selected individuals in the population during nction and terminal sets. artificial evolution. generate trees La GP is in variazione o applicazione delle operazioni genetiche agisce sulla strut- . This method tura degli alberi e recombination of two due o pi` individuioperated (genitori ) generate In GP, sui singoli nodi di parents individuals is diversi u by subtree-crossover. This genetic operator use two individuals nterval specified bycrearne nuovi (figli ), nella speranza che i nuovi individui siano migliori. per the and-half produces trees fase segna by passaggio fra una generazione e la operation provided the selection procedure. The crossover Questa starts withiltwo parental trees and produces two offsprings. successiva. ethod and for the second w algorithm, a tree of ng terminals or functions stribution. With the full generated by selecting tree size approaches a inals are selected. hm are presented which ilities of appearance of ation, each individual is ction. Fitness evaluation gh it’s highly dependent o speed up the evaluation n proposed to exploit the ary algorithms: master- ed or cellular model [6] Fig. 4. Subtree crossover Figura 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 probabilit` a stabilite a priori: • duplicazione: effettua semplicemente una copia di un individuo esi- stente della generazione attuale nella popolazione della nuova gene-
  • 37. mutation change locally a single individual. For the one We indicate functions point-mutation an individual is chosen from the population in Table I. Ephemeral R according to the selection algorithm. The mutation operation randomly chosen in the begins by selecting a point at random within the tree, then the mutation operation replace the function or the terminal node T ERMINA 22 with the same type of element. This operation is useful to CAPITOLO 3. CENNI SULLA GENETIC PROGRAMMING introduce diversity without modify the shape of the tree. Termin Fr , Fz , 0, 0. we used our own Genet the Java language. This where each step of th III is implemented in a tree generation, fitness e provided. Moreover this approach [14] in order t The parameters comm the Table II. PAR Parameter Population size Fig. 5. One point mutation Initialization method Figura 3.4: Esempio di mutazione di nodo Initialization depths There are many variations of mutation and crossover [4][13] Maximum depth for tree Selection available in the litterature. The probability rate to use crossover Elitism razione;variation is currently higher than for mutation since it is for ` un analogo della selezione con elitism; la duplicazione ha node bias for cr e Internal l’effetto di dare crossover operator convergenza; convergence believed the un impulso alla allow a quicker Duplication rate Crossover rate than mutation but importance of crossover versus mutation is Mutation rate • still an open debate. crossover (vedi figura 3.3): ` l’operatore principe della GP, e di gran of runs e Number lunga The steps u usato; il crossover lavora scambiando due sotto- quello pi`fitness evaluation, selection and variation are alberi degli either until to obtain creare solution or until to repeatedindividui genitori peran ideal due individui figli; il nodo ra- is the result Each test reach a number of cycle called generation. execution started with a dice di ognuno dei due sotto-alberi da “staccare” viene scelto con pro- babilit` uniforme indipendentemente per ognuno dei due individui; a generator. IV. E XPERIMENTAL PROCEDURE We ran all simulation l’operazione di crossover tende a preservare la bio-diversit`; a on a processor Intel Ce We calculate the stiffness values for our training set with GB of RAM. • mutazione di singolo nodosoftware. Bearing beacon allows the the SKF bearing beacon (vedi figura 3.4): questo operatore lavora su un solo albero3D graphic environment of generic mechanical cambiare modelling in a alla volta, e consiste semplicemente nel systems like gear boxes with a precise bearing model for un nodo selezionato casualmente all’intero dell’albero con un To assess the results o nuovo an in-depth analysis of the system behaviour in a virtual nodo dello stesso tipodetails on this se il nodo originale era funziona- on the followin environment. More (funzionale product can be found on we focus le, terminale se il nodo originale era terminale); questo operatore the web at http://www.skf.com/portal/skf/home/products. • Standard deviation introduce bio-diversit` raw stiffness matrixes provided by the We transform the senza alterare la forma degli alberi; a function which eval software in three training sets. Each of them is composed of tifies the difference • mutazione di Koza: questo operatore 1201 fitness cases corresponding to all analogamente al precedente combinations of the response predicted b integer values taken in the interval [0, 1000] by in modo casualewhether the model seleziona un singolo individuo genitore, sceglie step of 20 un • Correlation coefficie suo nodo, che poi viene sostituito con un interoFr , Fz and assigned to each combination of input’s variables nuovo sotto-albero, the output associated with one element of the stiffness matrix of a linear relations generato all’istante, analogamente a quanto fatto nella fase della diagonal. The fitness function computes the error standard We report in Table III th deviation on the training set i.e. the root of the mean of tion of each element of the squared distances between the desired values and those To gain further insigh obtained with the program considered (cf. Equation 5). particular regarding the
  • 38. 3.11. TERMINAZIONE E SCELTA DELL’INDIVIDUO MIGLIORE 23 creazione della popolazione iniziale; anche questo operatore tende a introdurre bio-diversit`. a Si noti che crossover e mutazione di Koza potrebbero generare individui di profondit` superiore a quella massima impostata in fase di creazione a della popolazione iniziale. Generalmente si sceglie di tenere conto della profondit` massima impostata inizialmente anche nelle fasi successive, e a quindi si applicano opportuni accorgimenti per assicurarsi che essa non venga mai superata (troncamento dell’albero, in genere). Ad oggi rimane aperta la questione se l’evoluzione del sistema venga influenzata maggiormente dal crossover o dalle mutazioni, bench´ molti e propendano per una maggiore importanza del crossover. 3.11 Terminazione e scelta dell’individuo miglio- re La terminazione di un ciclo evolutivo di GP pu` avvenire con vari crite- o ri; i tre pi` comuni sono: impostare un numero massimo di generazioni, u impostare un timeout temporale di elaborazione, e impostare una fitness obiettivo, per la quale l’elaborazione si interrompe quando un individuo ` mostra una fitness migliore di quest’ultima. E anche possibile impostare una combinazione di questi tre criteri. Al termine dell’evoluzione viene selezionato l’individuo appartenente all’ultima generazione che possiede la fitness migliore. Questo individuo rappresenta il risultato del processo evolutivo.
  • 39.
  • 40. Capitolo 4 Evolutionary Design 4.1 Evolutionary Design Evolutionary Design (ED) ` un framework realizzato in linguaggio Java e che mette a disposizione un’implementazione espandibile di un kernel per la soluzione di problemi di regressione simbolica tramite Genetic Program- ming. La GP e quindi ED ben si prestano a realizzare stimatori predittivi di questo tipo perch´ non richiedono di avere una conoscenza a priori di e come si combinano nella realt` i vari fattori in gioco per ottenere uno a stimatore 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, ` dotato di e un insieme ben strutturato di file di log che vengono registrati durante l’esecuzione e riportano informazioni dettagliate sull’evoluzione svolta. Il framework presenta un’architettura di tipo modulare basata sull’idea di plugin ed ` dunque facilmente espandibile. e Le sue principali caratteristiche sono: • rappresenta gli individui/formule mediante alberi di sintassi astrat- ta; • implementa le funzionalit` necessarie per trattare problemi di re- a gressione simbolica di serie temporali; 25
  • 41. 26 CAPITOLO 4. EVOLUTIONARY DESIGN • lavora suddividendo il dataset di input con le variabili indipendenti nei due intervalli di training set e validation set, per permettere la validazione incrociata dei risultati ottenuti; • fornisce come nodi di tipo funzionale operatori matematici, funzioni trigonometriche e trascendentali, comparatori, operatori booleani e operatori 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 (fornite sotto forma di colonne di un file CSV di input); il tipo di ognuna di queste pu` essere booleano o floating point (double); o • le parti di valutazione e costruzione degli alberi seguono un approc- cio strongly-typed : gli alberi vengono costruiti solo se i nodi terminali coinvolti 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 di ridurre sensibilmente lo spazio delle soluzioni possibili e velocizzare la 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 gi` implementate. a Come si ` detto ED ` realizzato secondo un’architettura modulare. Il e e codice ` distribuito in vari plugin al fine di ottenere un’indipendenza netta e tra la parte del core e le parti implementate nei moduli. Esistono 8 tipi differenti di plugin, ognuno dei quali si preoccupa di una parte del processo evolutivo: 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 objective plugin), e cos` via. ı 1 Si ricordi, come detto nel capitolo 3, che le ERC sono valori scelti casualmente all’inizio dell’esecuzione della GP e che restano poi costanti per tutta l’evoluzione
  • 42. 4.2. EVOLUTIONARY DESIGN: REGRESSIONE SIMBOLICA 27 4.2 Evolutionary Design: regressione simbolica Giova descrivere pi` in dettaglio il funzionamento di ED, dal punto di u vista della regressione simbolica di serie temporali. Nei problemi di regressione simbolica di serie temporali si ha in input una sequenza di valori osservati per una certa grandezza: θ = θ1 , θ2 , θ3 , . . . , θn che ` la variabile dipendente (con valori osservati della variabile dipenden- e te) sotto esame. Si hanno poi altre sequenze (pi` lunghe) di altre variabili u che 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 delle variabili indipendenti α, β, γ, . . .: ˆ θ = f (α, β, γ, . . .). ˆ Abbiamo indicato la nuova θ con un “cappellino” (θ) per rimarcare che la f sar` una funzione approssimante, e che quindi i valori da θ a θn a ˆ ˆ ˆ , detti valori stimati della variabile dipendente, saranno e quelli da θn+1 ovviamente diversi da quelli originali misurati (ma di poco, se la f ` une buon stimatore). Di f alla fine si otterr` l’albero di sintassi astratta che la descrive. a 4.3 Evolutionary Design: backshift ` E spesso utile considerare, nel calcolo della funzione di regressione, non solo le serie di variabili indipendenti sincrone alla variabile dipendente, ma anche magari serie di valori delle variabili indipendenti posticipate rispetto
  • 43. 28 CAPITOLO 4. EVOLUTIONARY DESIGN alla variabile dipendente: ad esempio, l’umidit` dell’aria attuale—la si a supponga variabile dipendente—dipende non solo dalla temperatura—la variabile indipendente—attuale, ma anche dall’avvicinarsi o meno di un fronte, che si pu` rilevare guardando alla temperatura dell’ora precedente o o di due ore prima. I sistemi di calcolo per regressioni simboliche di serie temporali, quin- di, offrono solitamente l’opportunit` di usare come variabili indipendenti a anche serie ritardate delle stesse, che vengono dette serie con backshift. Addirittura, spesso si ha che la variabile dipendente ` influenzata, oltre e che dalla variabili indipendenti o loro valori precedenti, anche dai suoi stessi valori passati2 : sempre nell’esempio, si pu` pensare che l’umidit` o a attuale abbia una certa dipendenza anche dall’umidit` dell’ora precedente. a Anche in questo caso si ha backshift e si noti che cos` facendo la serie ı ritardata della variabile dipendente diventa a tutti gli effetti una nuova variabile indipendente. Si ha insomma che lo stimatore si pu` pensare cos` fatto: o ı ˆ θ(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 ` stata sem- e pre usata in questo lavoro nell’opera di ricerca dei uno stimatore simbo- lico per i consumi e i prezzi dell’elettricit` in California o a New York, a perch´, come si vedr`, le serie di consumi e prezzi mostrano evidente e a autocorrelazione. 2 La variabile dipendente ha cio` una alta autocorrelazione dei suoi valori. e 3 Una curiosit`: quando ED si trova a gestire i backshift, sia quelli di variabile in- a dipendente che a maggior ragione quelli per la variabile dipendente, duplica la serie originale 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 pu` dire o letteralmente che un backshift introduce sempre una nuova variabile indipendente.
  • 44. 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 job ` configurato alla medesima maniera degli altri, ma la popolazione di indi- e vidui iniziali di ogni job viene ogni volta generata casualmente utilizzando un seed univoco. Il seed di ogni job pu` essere scelto in maniera casua- o le, oppure fissato in partenza; quest’ultima scelta ` opportuna in quanto e in questo modo il run diventa deterministico e pu` essere rieseguito per o ottenere gli stessi identici risultati nel caso ce ne fosse la necessit`4 . a Alla fine dell’esecuzione, per ogni job si ottiene un individuo migliore, che ` quello che all’ultima generazione del job possiede il migliore indice di e fitness cos` come calcolato dalla funzione di fitness impostata. A questo ı punto, fra gli individui migliori di ogni job, ` generalmente necessario se- e lezionarne uno mediante una qualche metrica; per questo lavoro si ` scelto e sempre quello che fra tutti minimizzasse l’indice della fitness calcolata sul solo validation set. Si noti che ED supporta nativamente l’elaborazione parallela all’inter- no di un run; infatti ogni job ` indipendente dagli altri, quindi l’elabora- e zione ` parallelizzabile sui job; questo fatto ` stato sfruttato a fondo in e e questo lavoro perch´ le esecuzioni sono state condotte su macchine multi- e core (8 core o 4 core), cosa che ha permesso di ridurre significativamente il tempo di attesa totale. 4.5 Evolutionary Design: configurazione La configurazione di ED avviene tramite un unico file XML che specifica tutti i parametri necessari ad un run. Vanno indicati in questo file XML: • il numero di job voluti; 4 In ED se si sceglie di usare un seed fissato, si fornisce in realt` un seed iniziale a che poi viene incrementato di un delta per ognuno dei job che vengono istanziati. Nel nostro caso il seed iniziale ` 190000000, il delta ` 1000 e quindi i seed dei job andranno e e da 190000000 a 190000000+N*1000.
  • 45. 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 di input); • l’indicazione degli intervalli di record nel file CSV da considerare come 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 nodi terminali; • la colonna del file CSV che rappresenta la variabile dipendente da stimare; • gli eventuali backshift della variabile dipendente; • le operazioni matematiche che possono essere utilizzate come nodi non terminali; • il numero di generazioni massimo da permettere in ogni job e la durata massima (in secondi) di ogni job, come criterio per termina- re l’elaborazione nel caso non si raggiunga mai la fitness massima all’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
  • 46. 4.7. DAESCALAREVALUATION 31 Programming ma deriva da una scelta architetturale fatta in EDper au- mentarne la flessibilit`.a Infatti, la parte computazionalmente preponderante in una evoluzione di GP ` la fase di valutazione della fitness sugli individui. Poich´ per` le e e o variabili indipendenti con i loro backshift non sono mai modificate dalla procedura, n´ lo ` la serie di valori osservati per la variabile dipendente e e (con i suoi backshift), e le valutazioni della fitness per i diversi individui come detto sono assolutamente slegate, ` generalmente possibile portare e avanti la fase di valutazione in maniera parallela sui vari individui. Per tale motivo in ED il plugin standard di strategia per la valutazione degli indi- vidui, detto VectorizedEvaluation, opera in modo parallelo ed accede alle variabili 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 dei tempi di calcolo), nel caso ci sia necessit` di usare questo approccio. Si a noti che in entrambi i casi il risultato dell’evoluzione ` uguale, a parte la e differenza nei tempi di calcolo. La strategia generalmente utilizzata per le prove di questa ricerca ` e ovviamente la VectorizedEvaluation. La ScalarEvaluation ` stata utiliz- e zata in un solo caso mediante una sua sottoclasse, DAEScalarEvaluation, che ` stata creata per l’occasione, e che si descrive nel prossimo punto. e 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 generalmente peggiori rispetto a quelli ottenuti nel caso del mercato Hour-Ahead. Ci si ` allora chiesto se si poteva utilizzare, nella fase di valutazione e di ogni individuo, al fine di migliorare gli stimatori ottenuti, una stima dell’errore in cui ogni individuo ` in corso per la giornata immediatamente e precedente a quella cui appartiene l’istante corrente di valutazione5 . 5 Si noti infatti che nella stima del mercato Day-Ahead, le cui aste si chiudono un giorno prima dell’istante in cui l’energia elettrica battuta dovr` essere fornita o con- a sumata, non si pu` considerare fra i backshift della variabile dipendente ore posteriori o all’ora corrispondente alla stessa ora del giorno precedente—detto in altro modo, sono illegali backshift inferiori (in valore assoluto) al backshift −24.