Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

180
Università degli Studi di Milano-Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Laurea Magistrale in Informatica APPRENDIMENTO DI RETI BAYESIANE NON OMOGENEE A TEMPO CONTINUO Relatore: Prof. Fabio STELLA Co-relatore: Prof. Enrico FAGIUOLI Tesi di Laurea Magistrale di Guido COLANGIULI Matricola 768987 Anno Accademico 2013-2014

Transcript of Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Page 1: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Università degli Studi di Milano-Bicocca

Dipartimento di Informatica, Sistemistica eComunicazione

Corso di Laurea Magistrale in Informatica

APPRENDIMENTO DI RETI BAYESIANE NON

OMOGENEE A TEMPO CONTINUO

Relatore: Prof. Fabio STELLA

Co-relatore: Prof. Enrico FAGIUOLI

Tesi di Laurea Magistrale di

Guido COLANGIULI

Matricola 768987

Anno Accademico 2013-2014

Page 2: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

I

Ai miei genitori,ai miei amici.

Page 3: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Indice

Indice V

Elenco delle figure IX

Elenco delle tabelle XVI

Elenco degli algoritmi XVI

Introduzione XVII

Contributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVIII

1 BN e modelli omogenei 1

1.1 BN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Apprendimento . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.2 Inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 DBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Processo di Markov . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Processi di Markov condizionali . . . . . . . . . . . . . . . . . . 9

1.5 CTBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Modelli non omogenei 13

2.1 Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 NSDBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.1 Apprendimento NSDBN . . . . . . . . . . . . . . . . . . 16

2.2.1.1 Score . . . . . . . . . . . . . . . . . . . . . . . 18

3 NHCTBN 20

3.1 NHCTBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Statistiche sufficienti e likelihood . . . . . . . . . . . . . . . . . 22

II

Page 4: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Indice

3.2.1 Statistiche sufficienti . . . . . . . . . . . . . . . . . . . . 22

3.2.2 Likelihood di un singolo nodo . . . . . . . . . . . . . . . 23

3.2.3 Likelihood di una struttura . . . . . . . . . . . . . . . . 23

3.3 Apprendimento di una NHCTBN . . . . . . . . . . . . . . . . . 25

3.3.1 Apprendimento dei parametri . . . . . . . . . . . . . . . 26

3.3.1.1 Approccio Maximum-Likelihood . . . . . . . . 26

3.3.1.2 Approccio Bayesiano . . . . . . . . . . . . . . . 27

3.3.2 Apprendimento della struttura . . . . . . . . . . . . . . 28

3.3.2.1 Funzione di scoring . . . . . . . . . . . . . . . 29

3.3.2.2 Ricerca della struttura . . . . . . . . . . . . . . 32

3.3.3 Apprendimento della sequenza . . . . . . . . . . . . . . 32

3.3.4 Apprendimento della sequenza: Approccio SA . . . . . 34

3.3.4.1 Informazione completa . . . . . . . . . . . . . . 36

3.3.4.2 Informazione parziale . . . . . . . . . . . . . . 38

3.3.4.3 Nessuna informazione . . . . . . . . . . . . . . 41

4 MapReduce 45

4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1.1 Funzionamento . . . . . . . . . . . . . . . . . . . . . . . 46

4.1.2 Esempio Word-Count . . . . . . . . . . . . . . . . . . . 47

4.2 Apache Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.3 Apprendimento Non-Homogeneous Continuous Time Bayesian

Network (NHCTBN) in MapReduce . . . . . . . . . . . . . . . . 50

5 Esperimenti 54

5.1 Dataset sintetici . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.1.1 Descrizione esperimenti caso A: Confronto modelli omo-

genei e modelli non omogenei . . . . . . . . . . . . . . . 55

5.1.2 Descrizione esperimenti caso B . . . . . . . . . . . . . . 55

5.1.3 Descrizione esperimenti caso C . . . . . . . . . . . . . . 55

5.1.4 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . 56

5.1.5 Analisi dei tempi di esecuzione MapReduce . . . . . . . 58

5.2 Dataset SongBird . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.2.1 Descrizione degli esperimenti . . . . . . . . . . . . . . . 59

5.2.2 Risultati Netork1 - Caso B . . . . . . . . . . . . . . . . 60

5.2.3 Risultati Netork1 - Caso C . . . . . . . . . . . . . . . . 64

Laurea Magistrale in Informatica III

Page 5: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Indice

5.2.4 Risultati Netork2 - Caso B . . . . . . . . . . . . . . . . 69

5.2.5 Risultati Netork2 - Caso C . . . . . . . . . . . . . . . . 73

5.2.6 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . 78

6 Conclusioni 79

Appendici 82

A Dettaglio esperimenti caso A 82

A.1 Confronto modelli omogenei e modelli non omogenei . . . . . . 83

B Dettaglio esperimenti caso B 96

B.1 Dataset1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

B.2 Dataset2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

B.3 Dataset3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

B.4 Dataset4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

B.5 Dataset5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

B.6 Dataset6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

B.7 Dataset7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

B.8 Dataset8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

B.9 Dataset9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

B.10 Dataset10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

B.11 Dataset11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

B.12 Dataset12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

B.13 Dataset13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

C Dettaglio esperimenti caso C 105

C.1 Dataset1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

C.2 Dataset2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

C.3 Dataset3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

C.4 Dataset4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

C.5 Dataset5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

C.6 Dataset6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

C.7 Dataset7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

C.8 Dataset8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

C.9 Dataset9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

C.10 Dataset10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Laurea Magistrale in Informatica IV

Page 6: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Indice

C.11 Dataset11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

C.12 Dataset12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

C.13 Dataset13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Bibliografia 158

Acronimi 161

Laurea Magistrale in Informatica V

Page 7: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenco delle figure

1.1 Bayesian Network (BN) di esempio con relative tabella di pro-

babilità condizionale (CPT) . . . . . . . . . . . . . . . . . . . . 3

1.2 Esempio di Dynamic Bayesian Network (DBN) . . . . . . . . . . 7

1.3 Continuous Time Bayesian Network (CTBN) che rappresenta

l’effetto di un farmaco . . . . . . . . . . . . . . . . . . . . . . . 12

4.1 Panoramica dell’esecuzione di un programma MapReduce. Im-

magine tratta da (Dean & Ghemawat, 2004, p. 3) . . . . . . . . 46

5.1 SongBird Network1- Caso B - τ = 120 - α = 0.1 . . . . . . . . 60

5.2 SongBird Network1- Caso B - τ = 120 - α = 0.1 . . . . . . . . 60

5.3 SongBird Network1- Caso B - τ = 120 - α = 0.1 . . . . . . . . 61

5.4 SongBird Network1- Caso B - τ = 120 - α = 0.1 . . . . . . . . 61

5.5 SongBird Network1- Caso B - τ = 120 - α = 0.1 . . . . . . . . 62

5.6 SongBird Network1- Caso B - τ = 120 - α = 0.1 . . . . . . . . 62

5.7 SongBird Network1- Caso B - τ = 120 - α = 0.1 . . . . . . . . 63

5.8 SongBird Network1- Caso B - τ = 120 - α = 0.1 . . . . . . . . 63

5.9 SongBird Network1- Caso C - τ = 120 - α = 0.1 . . . . . . . . 64

5.10 SongBird Network1- Caso C - τ = 120 - α = 0.1 . . . . . . . . 65

5.11 SongBird Network1- Caso C - τ = 120 - α = 0.1 . . . . . . . . 65

5.12 SongBird Network1- Caso C - τ = 120 - α = 0.1 . . . . . . . . 66

5.13 SongBird Network1- Caso C - τ = 120 - α = 0.1 . . . . . . . . 66

5.14 SongBird Network1- Caso C - τ = 120 - α = 0.1 . . . . . . . . 67

5.15 SongBird Network1- Caso C - τ = 120 - α = 0.1 . . . . . . . . 68

5.16 SongBird Network1- Caso C - τ = 120 - α = 0.1 . . . . . . . . 68

5.17 SongBird Network2- Caso B - τ = 135 - α = 0.1 . . . . . . . . 69

5.18 SongBird Network2- Caso B - τ = 135 - α = 0.1 . . . . . . . . 70

VI

Page 8: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Indice

5.19 SongBird Network2- Caso B - τ = 135 - α = 0.1 . . . . . . . . 70

5.20 SongBird Network2- Caso B - τ = 135 - α = 0.1 . . . . . . . . 71

5.21 SongBird Network2- Caso B - τ = 135 - α = 0.1 . . . . . . . . 71

5.22 SongBird Network2- Caso B - τ = 135 - α = 0.1 . . . . . . . . 72

5.23 SongBird Network2- Caso B - τ = 135 - α = 0.1 . . . . . . . . 72

5.24 SongBird Network2- Caso B - τ = 135 - α = 0.1 . . . . . . . . 73

5.25 SongBird Network2- Caso C - τ = 135 - α = 0.1 . . . . . . . . 74

5.26 SongBird Network2- Caso C - τ = 135 - α = 0.1 . . . . . . . . 74

5.27 SongBird Network2- Caso C - τ = 135 - α = 0.1 . . . . . . . . 75

5.28 SongBird Network2- Caso C - τ = 135 - α = 0.1 . . . . . . . . 75

5.29 SongBird Network2- Caso C - τ = 135 - α = 0.1 . . . . . . . . 76

5.30 SongBird Network2- Caso C - τ = 135 - α = 0.1 . . . . . . . . 76

5.31 SongBird Network2- Caso C - τ = 135 - α = 0.1 . . . . . . . . 77

5.32 SongBird Network2- Caso C - τ = 135 - α = 0.1 . . . . . . . . 77

A.1 Modello omogeneo - Dataset1 - 50 traiettorie - 4495 osservazioni 83

A.2 Modello non omogeneo - Dataset1 - 50 traiettorie - 4495 osser-

vazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

A.3 Modello omogeneo - Dataset2 - 50 traiettorie - 9882 osservazioni 84

A.4 Modello non omogeneo - Dataset2 - 50 traiettorie - 9882 osser-

vazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

A.5 Modello omogeneo - Dataset3 - 100 traiettorie - 12452 osservazioni 85

A.6 Modello non omogeneo - Dataset3 - 100 traiettorie - 12452 os-

servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

A.7 Modello omogeneo - Dataset4 - 100 traiettorie - 12601 osservazioni 86

A.8 Modello non omogeneo - Dataset4 - 100 traiettorie - 12601 os-

servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

A.9 Modello omogeneo - Dataset5 - 40 traiettorie - 4519 osservazioni 87

A.10 Modello non omogeneo - Dataset5 - 40 traiettorie - 4519 osser-

vazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

A.11 Modello omogeneo - Dataset6 - 150 traiettorie - 40246 osservazioni 88

A.12 Modello non omogeneo - Dataset6 - 150 traiettorie - 40246 os-

servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

A.13 Modello omogeneo - Dataset7 - 180 traiettorie - 110415 osserva-

zioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Laurea Magistrale in Informatica VII

Page 9: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.14 Modello non omogeneo - Dataset7 - 180 traiettorie - 110415

osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

A.15 Modello omogeneo - Dataset8 - 100 traiettorie - 22827 osservazioni 90

A.16 Modello non omogeneo - Dataset8 - 100 traiettorie - 22827 os-

servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

A.17 Modello omogeneo - Dataset9 - 600 traiettorie - 202186 osserva-

zioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

A.18 Modello non omogeneo - Dataset9 - 600 traiettorie - 202186

osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

A.19 Modello omogeneo - Dataset10 - 50 traiettorie - 62996 osservazioni 92

A.20 Modello non omogeneo - Dataset10 - 50 traiettorie - 62996 os-

servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

A.21 Modello omogeneo - Dataset11 - 50 traiettorie - 10396 osservazioni 93

A.22 Modello non omogeneo - Dataset11 - 50 traiettorie - 10396 os-

servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

A.23 Modello omogeneo - Dataset12 - 200 traiettorie - 103110 osser-

vazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

A.24 Modello non omogeneo - Dataset12 - 200 traiettorie - 103110

osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

A.25 Modello omogeneo - Dataset13 - 70 traiettorie - 10867 osservazioni 95

A.26 Modello non omogeneo - Dataset13 - 70 traiettorie - 10867 os-

servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Elenco delle tabelle

5.1 Configurazioni di parametri per esperimenti caso B . . . . . . . 55

5.2 Configurazioni di parametri per esperimenti caso C . . . . . . . 56

5.3 Tempi di esecuzione implementazione MapReduce su Dataset9 . 58

VIII

Page 10: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenchi

5.4 Configurazioni di parametri per esperimenti caso B e C su da-

taset SongBird . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

B.1 Dataset1 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

B.2 Dataset1 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

B.3 Dataset2 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

B.4 Dataset2 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

B.5 Dataset3 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

B.6 Dataset3 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

B.7 Dataset4 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

B.8 Dataset4 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

B.9 Dataset5 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

B.10 Dataset5 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Laurea Magistrale in Informatica IX

Page 11: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenchi

B.11 Dataset6 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

B.12 Dataset6 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

B.13 Dataset7 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

B.14 Dataset7 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

B.15 Dataset8 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

B.16 Dataset8 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

B.17 Dataset9 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

B.18 Dataset9 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

B.19 Dataset10 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

B.20 Dataset10 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

B.21 Dataset11 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Laurea Magistrale in Informatica X

Page 12: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenchi

B.22 Dataset11 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

B.23 Dataset12 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

B.24 Dataset12 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

B.25 Dataset13 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

B.26 Dataset13 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

C.1 Dataset1 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 106

C.2 Dataset1 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 107

C.3 Dataset1 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 108

C.4 Dataset1 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 109

C.5 Dataset2 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 110

C.6 Dataset2 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 111

Laurea Magistrale in Informatica XI

Page 13: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenchi

C.7 Dataset2 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 112

C.8 Dataset2 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 113

C.9 Dataset3 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 114

C.10 Dataset3 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 115

C.11 Dataset3 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 116

C.12 Dataset3 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 117

C.13 Dataset4 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 118

C.14 Dataset4 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 119

C.15 Dataset4 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 120

C.16 Dataset4 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 121

C.17 Dataset5 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 122

Laurea Magistrale in Informatica XII

Page 14: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenchi

C.18 Dataset5 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 123

C.19 Dataset5 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 124

C.20 Dataset5 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 125

C.21 Dataset6 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 126

C.22 Dataset6 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 127

C.23 Dataset6 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 128

C.24 Dataset6 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 129

C.25 Dataset7 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 8; . . . . . . . 130

C.26 Dataset7 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 4 ; Epoche Max = 8; . . . . . . . 131

C.27 Dataset7 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 8; . . . . . . . . 132

C.28 Dataset7 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 4 ; Epoche Max = 8; . . . . . . . . 133

Laurea Magistrale in Informatica XIII

Page 15: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenchi

C.29 Dataset8 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 134

C.30 Dataset8 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 135

C.31 Dataset8 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 136

C.32 Dataset8 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 137

C.33 Dataset9 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 138

C.34 Dataset9 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 139

C.35 Dataset9 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 140

C.36 Dataset9 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 141

C.37 Dataset10 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 142

C.38 Dataset10 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 143

C.39 Dataset10 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 144

Laurea Magistrale in Informatica XIV

Page 16: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenchi

C.40 Dataset10 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 145

C.41 Dataset11 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 146

C.42 Dataset11 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 147

C.43 Dataset11 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 148

C.44 Dataset11 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 149

C.45 Dataset12 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 150

C.46 Dataset12 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 151

C.47 Dataset12 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . . . 152

C.48 Dataset12 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . . . 153

C.49 Dataset13 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . 154

C.50 Dataset13 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDeu; Pesatura

= Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . 155

Laurea Magistrale in Informatica XV

Page 17: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.51 Dataset13 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . . . 156

C.52 Dataset13 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;

Tipologia operatori = Proporzionali; Score = BDe; Pesatura =

Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . . . 157

Elenco degli algoritmi

1 ARTIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Apprendimento sequenza NHCTBN - SA - Informazione completa 38

3 Apprendimento sequenza NHCTBN - SA - Informazione parziale 41

4 Apprendimento sequenza NHCTBN - SA - Nessuna informazione 44

5 Word-Count in MapReduce . . . . . . . . . . . . . . . . . . . . 48

6 Apprendimento NHCTBN MapReduce: Funzione Map . . . . . . 51

7 Apprendimento NHCTBN MapReduce: Funzione Reduce . . . . 53

XVI

Page 18: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Introduzione

Una Bayesian Network (BN) è un modello grafico probabilistico che permette

di rappresentare le dipendenze condizionali tra variabili aleatorie, e consente di

fare previsioni su di esse, calcolando la probabilità che una variabile si trovi in

un determinato stato conoscendo lo stato di altre variabili; tuttavia nella loro

formulazione base le BN permettono di modellare solamente i sistemi statici,

ovvero solamente quelli che non mutano con il passare del tempo.

Proseguiamo con una estensione delle BN, le Dynamic Bayesian Network

(DBN) (Dean & Kanazawa, 1989), che permettono di rappresentare sistemi

dinamici a tempo discreto.

Le DBN modellano la distribuzione delle transizioni dal tempo t al tempo

t+ ∆t attraverso una BN, per una determinata granularità ∆t; si può dire che

le DBN fotografano il comportamento di un sistema in diversi istanti temporali

equidistanti tra loro, tuttavia portando con sé una limitazione non indifferente,

poiché la granularità scelta è unica per l’intero sistema. Tale situazione implica

che le variabili contenute nel sistema sono costrette ad evolvere con tassi o

velocità simili, anche se questo non necessariamente avviene nella realtà.

Un superamento delle DBN sono le Continuous Time Bayesian Network

(CTBN) (Nodelman et al. , 2002a) in cui l’evoluzione dello stato del sistema

modellato è rappresentata in modo esplicito rispetto al tempo. Questo modello

si basa sulle BN e sui processi di Markov, prestandosi molto bene a modellare

un sistema in cui le dipendenze condizionali tra le variabili in esso contenute

sono fisse.

Evoluzione di quanto detto sono le Non-Homogeneous Continuous Time

Bayesian Network (NHCTBN) che sono delle CTBN in cui le dipendenze condi-

zionali tra le variabili nel sistema che si sta modellando non sono fissate ma

variano nel tempo: questo si traduce nella la rappresentazione di più strutture

per modellare le dipendenze, una per ogni epoca che si vuole modellare.

XVII

Page 19: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Elenchi

Lo scopo di questa tesi è la progettazione, realizzazione e validazione di

un framework che permette l’apprendimento delle NHCTBN, rendendo possibile

l’utilizzo di questo nuovo modello in ambito applicativo.

La tesi è strutturata nel seguente modo:

• primo capitolo descrizione dei modelli omogenei, quindi BN, DBN, pro-

cessi di Markov e CTBN, necessari ad introdurre formalmente le NHCTBN.

• secondo capitolo panoramica e problematiche dei modelli non omogenei

attualmente presenti in letteratura;

• terzo capitolo definizione formale dell’apprendimento strutturale delle

NHCTBN e relativa rappresentazione;

• quarto capitolo si introduce il framework MapReduce, con relativa ar-

chitettura e funzionamento. Successivamente si illustra l’implementazio-

ne Apache Hadoop. Infine, si presenta l’algoritmo di apprendimento di

una NHCTBN per questo framework;

• quinto capitolo esperimenti sia su dataset creati in laboratorio che reali;

• sesto capitolo conclusioni e sviluppi futuri.

Contributi

I contributi innovativi di questo lavoro di tesi sono i seguenti:

• Progettazione di algoritmi che permettono l’apprendimento di NHCTBN;

• Implementazione mediante framework Hadoop MapReduce dei nuovi al-

goritmi, utile in caso di grandi quantità di dati.

• Implementazione dei nuovi algoritmi per il funzionamento su singola mac-

china (server), per l’esecuzione efficiente su medie e piccole quantità di

dati;

• Validazione del modulo software tramite una ricca campagna sperimen-

tale, con l’utilizzo di dataset simulati e reali presenti nella letteratura

specializzata.

Laurea Magistrale in Informatica XVIII

Page 20: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Capitolo 1

BN e modelli omogenei

In questo primo capitolo si discute dei modelli omogenei, ovvero quelli la cui

struttura non varia nel tempo. Si inizia definendo le Bayesian Network (BN) e si

forniscono le nozioni fondamentali che le caratterizzano. Le BN permettono di

modellare solo sistemi statici, tuttavia introducono concetti molto importanti,

come quelli di genitore e di indipendenza condizionale, che sono alla base dei

modelli trattati in questa tesi. Successivamente viene presentata un’evoluzione

delle BN, le Dynamic Bayesian Network (DBN), che introducono una prima

trattazione del tempo seppure in maniera discreta. Infine, si presentano le

Continuous Time Bayesian Network (CTBN), che permettono la trattazione

del tempo in maniera continua.

1.1 BN

Una Bayesian Network (BN) è un modello grafico che rappresenta un insieme di

variabili stocastiche e le loro relazioni mediante l’uso di un grafo aciclico orien-

tato (DAG), in cui ogni nodo rappresenta una variabile e gli archi rappresentano

le relazioni di dipendenza.

Per poter procedere con la definizione delle BN è necessario introdurre il

concetto di indipendenza condizionale e ancor prima fornire la definizione di

Indipendenza tra variabili casuali.

Definizione 1.1. Due variabili casuali A e B sono indipendenti se ∀x, y si ha

che:

P (x ∈ A|y ∈ B) = P (x ∈ A) (1.1)

1

Page 21: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.1. BN

L’indipendenza condizionale è una proprietà più debole di quella di indi-

pendenza, ma più comune e realistica se si parla dei sistemi complessi.

Definizione 1.2 (Indipendenza Condizionale). (Whitt, 2006) Due variabili

casuali A e B sono Condizionalmente Indipendenti rispetto a una variabile

casuale C se

P (A |C,B) = P (A |C) (1.2)

Questo significa che quando è noto il valore della variabile C, le variabili A

e B sono indipendenti.

A questo punto è possibile fornire la definizione di BN:

Definizione 1.3 (Bayesian Network). (Pearl, 1988) Una BN rispetto a un

insieme di variabili casuali {X1, ..,Xn} è costituita da:

• G: un DAG, dove ogni nodo è associato ad una variabile casuale Xi ∈ X

• Una CPT per ogni Xi, che rappresenta la distribuzione condizionata

P (Xi |PaG(Xi)) come funzione dei suoi genitori in G. 1

Osservazione. Se nel grafo G non è presente un arco che collega due nodi,

allora i suddetti nodi sono condizionalmente indipendenti.

Rappresentiamo la probabilità che una variabile X ∈ X assuma valore

x, dati i valori u dei genitori U ∈ X, con il simbolo θx|u, che equivale alla

probabilità condizionata P (x | u).

Le BN si possono considerare la rappresentazione grafica di una distribuzio-

ne di probabilità congiunta, è infatti possibile rappresentare tale distribuzione

mediante la chain rule:

P (X1, . . . , XN ) =

N∏i=1

P (Xi | PaG(Xi)) (1.3)

Osservazione. Mediante la chain rule le BN sono in grado di rappresentare la

distribuzione di probabilità congiunta in modo molto efficace. Non c’è infatti

bisogno di rappresentare le probabilità di tutte le combinazioni di stati delle

variabili ma solo la probabilità di ogni variabile condizionata ai suoi genitori.

In Figura 1.1 è riportato un esempio di BN. Si evidenzia come i nodi

radice abbiano associata una tabella di probabilità marginale che rappresenta

la probabilità a priori della variabile ad essi associata.1PaG(Xi) rappresenta l’insieme dei genitori del nodo Xi in G

Laurea Magistrale in Informatica 2

Page 22: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.1. BN

Figura 1.1: BN di esempio con relative CPT

1.1.1 Apprendimento

L’apprendimento di una BN si attua tramite due fasi:

1. Ricerca del grafo - Apprendimento della struttura;

2. Stima delle probabilità condizionate - Apprendimento dei parametri.

Esistono tre metodi principali per l’apprendimento delle BN:

1. Modellare la conoscenza degli esperti, cioè definire la struttura e i para-

metri sulla base delle valutazioni (soggettive) da parte di studiosi, esperti

del problema oggetto di studio;

2. Imparare dai dati (sia la struttura che i parametri);

3. Combinare i due metodi precedenti, usando la conoscenza dell’esperto

come conoscenza a priori, in modo tale da imporre la presenza o l’as-

senza di alcuni archi nella struttura o definire distribuzioni a priori sui

parametri e/o sulla struttura.

In questa tesi si assume di essere nel caso 3, quindi si focalizza l’apprendimento

della BN a partire dai dati (completi), lasciando comunque la possibilità di

inserire della conoscenza a priori sulla struttura (conoscenza dell’esperto).

Laurea Magistrale in Informatica 3

Page 23: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.1. BN

Inoltre, per quanto riguarda l’apprendimento della struttura si utilizza

l’Approccio Search & Score, dove si usano funzioni di score per confrontare

la bontà delle possibili strutture della rete e selezionare quella che meglio si

adatta ai dati. Questo approccio, nel nostro caso, viene descritto in dettaglio

nell’apprendimento strutturale delle NHCTBN nel capitolo successivo.

Mentre, per quanto riguarda l’apprendimento dei parametri, si adotta il

caso in cui si conosce già la struttura, quindi l’apprendimento dai dati avviene

attraverso una stima a partire da una serie di osservazioni. Per fare questo si

ricorre al concetto di Statisticha Sufficiente.

Definizione 1.4 (Statistica Sufficiente). (Fisher, 1922) Una statistica T si

dice sufficiente se qualsiasi altra statistica che può essere calcolata dallo stesso

campione non fornisce maggiori informazioni circa il valore del parametro da

stimare.

Una statistica sufficiente che può essere usata per le BN è il numero di

osservazioni nelle quali la variabile X ∈ X assume valore x, e i suoi genitori U

assumono valori u, e si indica con M [x|u].

Quindi, data la struttura G, il likelihood dei dati D si può scrivere come

prodotto di likelihood locali, uno per ogni variabile X

LX(θ : D) =∏u∈U

∏x∈X

θM [x|u]x|u

dove θ è l’insieme dei parametri delle distribuzione di probabilità condizionale

(CPD). Per questioni numeriche viene di norma computato il log-likelihood

`X(θ : D) =∑u∈U

∑x∈X

M [x|u] ln(θx|u) (1.4)

La stima del parametro θ che massimizza il log-likelihood nell’equazione Equa-

zione 1.4 è:

θ̂x|u =M [x|u]

M [u]

dove M [u] =∑

xM [x|u].

1.1.2 Inferenza

Con inferenza si intende il processo mediante il quale si calcola la probabilità

a posteriori di una variabile Xi, avendo a disposizione l’osservazione di alcu-

Laurea Magistrale in Informatica 4

Page 24: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.2. DBN

ne altre variabili. Quest’osservazione si dice evidenza, e la sua propagazione

consiste nell’aggiornare le distribuzioni di probabilità delle variabili aleatorie

in accordo con la nuova informazione disponibile.

La propagazione può avvenire in 2 modi:

• dall’alto verso il basso, ovvero quando si ha l’evidenza sui genitori, e si

calcolano le probabilità dei figli;

• dal basso verso l’alto, l’evidenza si ha sui figli, e si calcolano le probabilità

dei genitori.

Esistono inoltre due tipi di evidenza:

• evidenza hard: si conosce lo stato di una o più variabili;

• evidenza soft: non si conosce il valore dello stato delle variabili, ma si

possono fare affermazioni sul loro stato.

Gli algoritmi per fare inferenza sulle BN sono divisi in due famiglie:

• Inferenza Esatta: si applica la chain rule, descritta nell’ Equazione 1.3,

su tutte le variabili della rete;

• Inferenza Approssimata: se il numero di stati delle variabili è elevato,

l’inferenza esatta diventa onerosa, si usano quindi metodi per approssi-

mare le distribuzioni di probabilità a posteriori.

1.2 DBN

Una DBN (Murphy, 2002) è un’estensione di una BN per modellare le distri-

buzioni di probabilità su una collezione numerabile infinita di variabili casuali

{D0,D1,D2, . . . } indicizzate dal tempo. Si noti che sono dette dinamiche per-

ché modellano un sistema dinamico, non perché la rete cambi struttura nel

tempo.

Prima di procedere con la definizione di DBN è necessario fornire la defini-

zione di time-slice.

Definizione 1.5 (Time-slice). Un time slice, in una DBN, è un intervallo di

tempo in cui è valida una determinata struttura.

Laurea Magistrale in Informatica 5

Page 25: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.2. DBN

Definizione 1.6 (Dynamic Bayesian Network). (Nodelman, 2007) Una DBN

è una coppia 〈B0,B2T 〉 dove:

• B0 è una BN su D0.

• B2T è una 2-time-slice BN, che definisce un modello di transizione dal-

l’istante i all’istante i + 1 come una BN sull’insieme di variabili casuali

Di+1 condizionate dal valore delle variabili casuali Di.

Sono permesse due tipologie di archi:

• Archi intra-time-slice, permessi tra variabili casuali appartenenti alla

stessa time-slice. Ad esempio tra D e D′, con D,D′ ∈ Di+1.

• Archi inter-time-slice, permessi tra una variabile casuale in una time-

slice e un’altra nella time-slice successiva. Ad esempio tra D ∈ Di e

D ∈ Di+1, oppure tra D ∈ Di e D′ ∈ Di+1.

Osservazione. La 2-time-slice BN specifica le CPD per le variabili in Di+1 ma

non in D.

Osservazione. Si può dire che le DBN fotografano il comportamento di un

sistema in diversi istanti temporali, equidistanti tra loro. Portano quindi

con sé una limitazione non indifferente, la granularità di evoluzione temporale

scelta è unica per l’intero sistema.

Esempio. In Figura A.26 possiamo vedere una DBN che rappresenta il ri-

schio di collisione in cui una nave può incorrere durante la sua navigazione.

In questo modello tutte le variabili sono di interfaccia a meno della variabile

collisione. Le variabili di interfaccia sono tutte quelle i cui valori al tempo

t influenzano in maniera diretta le variabili al tempo t + 1. Quindi solo le

variabili di interfaccia possono essere genitori delle variabili al tempo t+ 1.

Dalla componente dinamica del modello (la 2-time-slice BN B →) si evince

che:

• Il rischio di collisione dipende dai valori attuali di posizione e velocità;

• La velocità dipende dal suo valore nel time slice precedente;

• La posizione dipende sia dalla posizione che dalla velocità al time slice

precedente;

Laurea Magistrale in Informatica 6

Page 26: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.3. Processo di Markov

In Figura A.26 si mostra sia il modello di transizione (la 2-time-slice BN

B →) che la struttura all’istante iniziale (B0). Si mostra inoltre la versione

“unrolled“ delle DBN che altro non è che una BN.

Figura 1.2: Esempio di DBN

1.3 Processo di Markov

Un processo di Markov è un processo stocastico, che soddisfa la proprietà di

Markov e può essere omogeneo o non omogeneo.

Definizione 1.7 (Proprietà di Markov). (Norris, 1998) Un processo stocastico

X soddisfa la proprietà di Markov se il suo stato futuro non dipende dagli

stati passati, ma solo dello stato attuale, o in termini più formali: P (X(t +

∆t) | X(t), X(s)) = P (X(t+ ∆t) | X(t)) per qualsiasi s, t : s < t.

Definizione 1.8 (processo di Markov omogeneo). (Neapolitan, 2004) Un pro-

cesso di Markov si dice omogeneo se la probabilità dello stato futuro non di-

pende dal tempo t, ma esclusivamente dallo stato attuale, ovvero se P (X(t+

∆t) | X(t)) = P (X(0 + ∆t) | X(0)).

Laurea Magistrale in Informatica 7

Page 27: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.3. Processo di Markov

Un processo di Markov omogeneoX con dominio V al(X) = {x1, x2, . . . , xn}è definibile tramite una distribuzione di probabilità iniziale PX0 e una matrice

di intensità QX

QX =

−qx1 qx1x2 · · · qx1xn

qx2x1 −qx2 · · · qx2xn...

.... . .

...

qxnx1 qxnx2 · · · −qxn

dove l’intensità qxi =

∑xj 6=xi qxixj è proporzionale alla probabilità istantanea di

lasciare lo stato i, e l’intensità qxixj è proporzionale alla probabilità istantanea

di transizione dallo stato xi allo stato xj . Formalmente:

lim∆t→0

P (X(t+ ∆t) = xj | X(t) = xi) = lim∆t→0

qij∆t+O(∆t2), con i 6= j

lim∆t→0

P (X(t+ ∆t) = xi | X(t) = xi) = lim∆t→0

1− qi∆t+O(∆t2)

(1.5)

La quantità di tempo che un processo di Markov omogeneo X rimane nello

stato x, prima di transitare ad un altro stato, è una variabile aleatoria con

distribuzione di probabilità esponenziale di parametro qx, e quindi la funzione

di densità e la funzione di ripartizione risultano:

f(qx, t) = qxexp(−qxt)

F (qx, t) = 1− exp(−qxt)(1.6)

Il valore atteso per il tempo in cui il processo X rimane nello stesso stato x è

quindi 1/qx. Quando avviene il passaggio di stato X transita dallo stato x allo

stato x′ con probabilità qxx′/qx; La distribuzione che rappresenta i suddetti

cambi di stato è quindi imputabile a due componenti:

• Una distribuzione esponenziale che modella il tempo in cui avviene la

transizione;

• Una distribuzione multinomiale che modella lo stato in cui si troverà il

sistema dopo la transizione;

Esempio. Assumiamo di voler modellare l’andamento della pressione baro-

metrica B(t) discretizzata in tre stati (b1 = decresce, b2 = stazionaria, e b3 =

Laurea Magistrale in Informatica 8

Page 28: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.4. Processi di Markov condizionali

cresce); possiamo quindi scrivere la seguente matrice di intensità:

QB =

−.21 .2 .01

.05 −.1 .05

.01 .2 −.21

Se usiamo come misura del tempo le ore, significa che se attualmente la pres-

sione decresce, smetterà di decrescere in poco meno di 5 ore ( 1.21 ore); diventerà

stazionaria con probabilità di .2.21 e crescerà con probabilità pari a .01

.21 .

Usando i parametri delle distribuzioni sopra elencate, oltre che con una

matrice di intensità, un processo di Markov si può rappresentare anche utiliz-

zando:qX = {qi : 1 ≤ i ≤ N}

θX = {θij : 1 ≤ i, j ≤ N, i 6= j}

dove qX è l’insieme dei parametri delle distribuzioni esponenziali e θX è

l’insieme dei parametri delle distribuzioni multinomiali. Questo metodo di

rappresentazione è chiamato parametrizzazione mista.

Teorema 1.1. (Nodelman, 2007) Siano X e Y due processi di Markov con

uguale distribuzione iniziale e uguale spazio degli stati. Se X è definito dalla

matrice di intensità QX e Y è definito tramite parametrizzazione mista qY ,θYallora X e Y sono stocasticamente equivalenti se e solo se:

qi ∈ qY = qi ∈ QX

θij =qijqi

Osservazione. Entrambi i modi di rappresentazione usano N2 parametri, ma

solo N2 −N parametri sono liberi.

1.4 Processi di Markov condizionali

Per poter modellare una rete, mediante l’utilizzo di processi di Markov, è ne-

cessario introdurre i processi di Markov condizionali. I processi di Markov

condizionali sono processi di Markov non omogenei, che evolvono nel tempo,

ma non come funzione diretta del tempo, bensì come funzione dello stato at-

Laurea Magistrale in Informatica 9

Page 29: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.4. Processi di Markov condizionali

tuale di una serie di altre variabili, le quali evolvono a loro volta come dei

processi di Markov.

Con l’utilizzo dei processi di Markov condizionali è quindi possibile mo-

dellare il comportamento dei processi di Markov basandosi non sullo stato

dell’intero sistema ma su un insieme limitato di altre variabili. Questo è un

concetto fondamentale per poter modellare le CTBN.

Ora è necessario fornire una definizione di matrice di intensità condizionale

(CIM):

Definizione 1.9 (matrice di intensità condizionale). (Neapolitan, 2004) Dato

un processo di Markov condizionale X che evolve rispetto a un insieme di

processi di Markov Y - che vengono chiamati genitori di X e rappresentati

come Pa(X) - si definisce una CIM:

QX|Pa(X) =

−q1(Pa(X)) q12(Pa(X)) · · · q1n(Pa(X))

q21(Pa(X)) −q2(Pa(X)) · · · q2n(Pa(X))...

.... . .

...

qn1(Pa(X)) qn2(Pa(X)) · · · −qn(Pa(X))

Si può scrivere la CIM come una serie di matrici di intensità, una per ogni

possibile combinazione degli stati di Pa(X).

Esempio. Consideriamo una variabile E(t) che modella quando una persona

sta o non sta mangiando (e1 = non mangia, e2 = mangia), che è condizionata

dalla variabile H(t) che modella quando una persona ha o non ha fame (h1 =

non ha fame, h2 = ha fame).

Possiamo quindi scrivere le seguenti CIM per E(t):

QE|h1 =

[−.01 .01

10 −10

]QE|h2 =

[−2 2

.01 −.01

]

Mediamente ci si aspetta che una persona che ha fame e non sta mangiando,

inizi a mangiare in mezz’ora, oppure che una persona che non ha fame e sta

mangiando smetta di mangiare mediamente in 6 minuti ( 110 ore)

Laurea Magistrale in Informatica 10

Page 30: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.5. CTBN

1.5 CTBN

Le CTBN sono un’ulteriore estensione delle BN e permettono di rappresenta-

re processi a stati finiti, in tempo continuo e con spazio degli stati discreto.

L’introduzione di questo modello si è resa necessaria al fine di superare le li-

mitazioni osservate nelle DBN, ovvero per poter trattare il tempo in maniera

continua.

Sfruttando la definizione di processi di Markov condizionali è possibile dare

una definizione formale di CTBN. Le CTBN possono essere infatti viste come la

composizione di un insieme di processi di Markov condizionali.

Definizione 1.10 (Continuous Time Bayesian Network). (Nodelman et al. ,

2002b) Sia X un insieme di variabili X1, X2, . . . , XN , ogni Xi ha un dominio

finito, rappresentato come V al(Xi). Una Continuous Time Bayesian Network

N su X consiste di 2 componenti:

• una distribuzione iniziale P 0X , specificata come una BN B su X.

• un modello di transizione a tempo continuo rappresentato da:

– un grafo orientato (anche ciclico) G, i cui nodi sono X1, X2, . . . , XN ;

L’insieme dei genitori di ogni nodo Xi viene denotato con Pa(Xi).

– una matrice di intensità condizionale QX|Pa(X) per ogni variabile

Xi ∈ X.

Osservazione. Dato che nelle CTBN gli archi rappresentano le dipendenze nel

tempo, non c’è motivo per cui il grafo G debba essere aciclico, e ciò porta ad

una notevole semplificazione di calcolo.

Esempio. (Nodelman, 2007) La Figura 1.3 mostra la struttura di una CTBN

che modella l’effetto di un farmaco. Ci sono nodi che rappresentano l’assun-

zione del farmaco e la concentrazione dello stesso nel flusso sanguigno. La

concentrazione dipende da quanto lo stomaco è pieno. Il farmaco dovrebbe

alleviare i dolori articolari, che potrebbero essere aggravati dalla diminuzione

della pressione. Il farmaco potrebbe anche causare sonnolenza. Il modello con-

tiene un ciclo, che modella il fatto che una persona sia affamata dipende da

quanto lo stomaco è pieno, che a sua volta dipende da quanto tempo è passato

da quando la persona ha mangiato.

Laurea Magistrale in Informatica 11

Page 31: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

1.5. CTBN

Figura 1.3: CTBN che rappresenta l’effetto di un farmaco

Laurea Magistrale in Informatica 12

Page 32: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Capitolo 2

Modelli non omogenei

In questo capitolo si introduce il problema della modellazione di sistemi non

omogenei, ovvero in cui le dipendenze condizionali tra le variabili non sono

fissate ma variano nel tempo. A tal proposito si discuteranno le principali so-

luzioni presenti in letteratura al fine di motivare l’introduzione del nuovo mo-

dello delle Non-Homogeneous Continuous Time Bayesian Network (NHCTBN)

proposto in questo lavoro di tesi.

2.1 Panoramica

Le DBN e le CTBN, discusse nei capitoli precedenti, funzionano partendo dall’as-

sunzione che i dati temporali, su cui si effettua l’apprendimento, provengano

da una distribuzione che non varia nel tempo, ovvero è stazionaria. Questa

assunzione in molti ambiti è molto restrittiva. Per questo motivo si sente la ne-

cessità di introdurre modelli non omogenei in grado di superare i limiti dettati

dall’assunzione di stazionarietà della distribuzione.

Un primo modello non omogeneo, presente in letteratura, è TESLA (Ah-

med & Xing, 2009). TESLA si basa sull’apprendimento di Discrete Binary

Markov Random Field (Discrete Binary MRF), è in grado di scalare su un numero

elevato di variabili, tuttavia soffre le seguenti restrizioni:

• E’ in grado di apprendere solo variabili binarie;

• Gli archi che rappresenta, ovvero le relazioni, non sono orientati;

• E’ in grado di individuare le relazioni solo a coppie di variabili;

13

Page 33: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

2.1. Panoramica

Un ulteriore modello non omogeneo, presente in letteratura, è ARTIVA

(S. Lèbre, 2010). ARTIVA si basa sulle Time-Varying Dynamic Bayesian Ne-

towrk (Time-Varying DBN), che sono delle DBN in cui gli archi, passando da

una time-slice alla successiva, possono variare. Questo si traduce nell’avere

una sequenza di DBN, che modellano l’evoluzione, nel tempo, delle dipendenze

condizionate tra variabili. Tuttavia rimane la principale limitazione delle DBN

legata alla trattazione del tempo in maniera discreta.

Come vedremo meglio nella sezione sezione 2.2, una DBN ha valenza in un

certo intervallo temporale chiamato epoca. La sequenza di epoche può inoltre

essere rappresentata come una sequenza di istanti di transizione che definiscono

il passaggio da un epoca alla successiva.

Di seguito si mostra l’algoritmo di ARTIVA che si basa sull’algoritmo RJ-

MCMC:

Algoritmo 1 ARTIVARequire: bk probabilità di aggiungere un nuovo cambio di struttura; dk pro-

babilità di rimuovere un cambio di struttura; sk probabilità di shift; Lnumero di iterazioni

1: function LearnArtiva(K,D,M)2: for l← 1 to L do3: u← estrai da U[0,1]

4: Estrai istante di transizione k5: Calcola bk, dk e vk6: if u < bk then7: Crea nuovo istante di transizione al tempo k8: else9: if u < bk + dk then

10: Elimina istante di transizione presente al tempo k11: else12: if u < bk + dk + sk then13: Sposta l’istante di transizione presente al tempo k14: else15: Considera un cambio di struttura16: end if17: end if18: end if19: end for20: end function

In questo algoritmo k è l’istante di transizione che viene estratto ad ogni

iterazione. I parametri bk, dk e sk rappresentano, rispettivamente, la probabi-

Laurea Magistrale in Informatica 14

Page 34: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

2.2. NSDBN

lità di aggiunta, rimozione e shift di un istante di transizione. Vi è inoltre la

probabilità vk di effettuare un cambio di struttura, questa probabilità è rappre-

sentata dall’ultimo else dell’algoritmo. Queste probabilità vengono ricalcolate

ad ogni iterazione in base all’istante di transizione estratto. In base alle pro-

babilità calcolate sull’istante k si sceglie, quindi, se modificare gli istanti di

transizione o se modificare la struttura (DBN) della singola epoca.

Un ulteriore modello non omogeneo, che è anch’esso un’ evoluzione delle

DBN, è il Non Omogeneous Dynamic Bayesian Netowrk (NHDBN) (Robinson

& Hartemink, 2010).

Le NHDBN soffrono anch’esse le limitazioni delle DBN, legate alla trattazione

del tempo in maniera discreta, tuttavia molti concetti sono stati ereditati per

la formulazione della versione non omogenea delle CTBN. Per questo motivo

approfondiremo le NHDBN nel seguito di questo capitolo.

2.2 NSDBN

Prima di procedere con la discussione dei punti chiave riguardanti le NHDBN,

si presentano alcuni concetti fondamentali che ritorneranno utili in tutto lo

svolgimento della tesi.

Si assume di poter osservare lo stato di N variabili casuali discrete Xi.

Questi dati temporali multivariati, D, si assumono essere generati da un pro-

cesso non omogeneo sconosciuto. Si dice non omogeneo in quanto il grafo che lo

rappresenta, G, è una sequenza di reti G1,G2, . . . ,GM (Robinson & Hartemink,

2010). Si definisce il tempo di transizione del grafo tm l’istante temporale in

cui Gm viene sostituito da Gm+1 nel processo di generazione dei dati. Si defini-

sce epoca il periodo tra due tempi di transizione consecutivi, durante il quale

è operativa una singola CTBN.

Si ha quindi che un nodo può avere un insieme di genitori in una determi-

nata epoca; tuttavia questo insieme può cambiare da un’epoca ad un’altra.

Possiamo quindi definire le NHDBN come una sequenza di DBN, una per ogni

epoca. Mediante questa suddivisione in epoche è infatti possibile rappresentare

l’evoluzione nel tempo delle dipendenze condizionate tra variabili.

Laurea Magistrale in Informatica 15

Page 35: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

2.2. NSDBN

2.2.1 Apprendimento NSDBN

In questa sezione si vuole dare un idea generale di come funziona l’apprendi-

mento di una NHDBN per poi affrontare nel dettaglio le principali problema-

tiche. Per avere informazioni più dettagliate in merito si faccia riferimento al

relativo articolo (Robinson & Hartemink, 2010).

L’obbiettivo dell’apprendimento è quello di ricostruire l’intera sequenza di

strutture di una NHDBN. Per raggiungerlo gli autori propongono un approccio

probabilistico basato su Markov Chain Monte Carlo (MCMC) (Murphy, 2012).

Il primo passo, per poter comprendere l’utilizzo del MCMC nel nostro caso

specifico, è dare una definizione di stato.

Definizione 2.1 (Stato nell’algoritmo Metropolis-Hastings (MH)). Si definisce

stato, nell’algoritmo MCMC, l’intera sequenza di DBN che compone una NHDBN,

con relativi istanti di transizione da un epoca all’altra.

Adesso si può descrivere l’idea alla base di questo algoritmo mediante i

seguenti passaggi:

1. si parte da uno stato iniziale x, in cui gli istanti di transizioni sono

equidistanti;

2. ad ogni iterazione si propone un nuovo stato x’, generato a partire da x

mediante una proposal distribution;

3. x’, a sua volta, ha una determinata probabilità di essere accettato (ac-

ceptance probability);

4. se si accetta x’, si salva, e successivamente si setta x = x’ e si riparte

dal punto 2;

5. altrimenti si rimane nello stato x e si riparte sempre dal punto 2.

L’algoritmo termina quando si è raggiunto un numero prefissato di itera-

zioni. L’obbiettivo è, dopo un congruo numero di iterazioni, di converge alla

distribuzione target, ovvero alla NHDBN obbiettivo dell’apprendimento.

La generazione di un nuovo stato viene effettuata utilizzando un insie-

me di operazioni, tale insieme dipende da quali sono le informazioni in nostro

possesso. Le tre casistiche, quando si parla di apprendimento di modelli non

omogeneo, sono:

Laurea Magistrale in Informatica 16

Page 36: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

2.2. NSDBN

Caso A: informazione completa, si conosce sia il numero di transizioni che gli

istanti temporali in cui avvengono le transizioni.

Caso B: informazione parziale, si conosce il numero di transizioni ma non si

conoscono gli istanti temporali.

Caso C: nessuna informazione, non si conosce né il numero di transizioni né

gli istanti temporali.

Nel caso A, essendo a conoscenza esattamente di quali sono le epoche

avremo bisogno solo di operazioni per modificare le singole strutture. Tali

operazioni sono quindi inerenti all’aggiunta e rimozione di un arco tra due

nodi.

Nel caso B, essendo a conoscenza del numero di epoche ma non di quali esse

siano, oltre alle precedenti operazioni, avremo anche bisogno di una ulteriore

operazione di shift che permette di far variare la grandezza dell’epoca.

Nel caso C, di totale assenza di informazioni, oltre alle precedenti ope-

razioni, avremo bisogno di ulteriori operazioni per poter variare il numero di

epoche. Tali operazioni sono di merge, split e delete, di un epoca già esistente,

e l’operazione di creazione di una nuova epoca. L’operazione di merge consiste

nell’unire assieme un epoca con l’epoca successiva; L’operazione di split inve-

ce consiste nel dividere a metà un epoca, andando quindi a creare due diverse

epoche; L’operazione di delete elimina un istante di transizione, andando quin-

di ad effettuare il merge tra un epoca e l’epoca precedente; Creare una nuova

epoca invece consiste nell’aggiungere un istante di transizione.

L’accettazione di un nuovo stato dipende innanzi tutto dalla probabilità

di proporre il nuovo stato, ovvero dalle operazioni descritte precedentemente.

Dipende inoltre anche dal likelihood ratio, che può essere rappresentato tramite

la seguente formula:

P (D|x′)P (D|x)

Il likelihood ratio è quindi il rapporto tra la probabilità a posteriori del

dataset D dato il nuovo modello x′ e la probabilità a posteriori sempre del

datasetD dato il modello precedente x. Questa probabilità viene rappresentata

mediante una funzione di score che analizzeremo in seguito.

Laurea Magistrale in Informatica 17

Page 37: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

2.2. NSDBN

Una volta generata una sequenza di stati (i nostri campioni), ovvero di

NHDBN, che converge alla nostra distribuzione target, gli autori Robinson e

Hartermink propongono di calcolare il modello medio. Il modello medio si

ottiene prendendo tutti quegli archi che occorrono in almeno il 50% dei cam-

pioni. Anche per quanto concerne i tempi di transizione si mantengono quelli

che occorrono nel maggior numero di campioni.

A questo punto abbiamo visto in via generale come funziona l’apprendi-

mento delle Non Omogeneous Dynamic Bayesian Netowrk (NHDBN). Un punto

molto importante che si vuole approfondire è come viene costruita la funzione

di score e tutte le problematiche ad essa collegate. Tali problematiche infatti si

ripresenteranno, in maniera leggermente diversa, anche per le NHCTBN, e per

questo le si dedica particolare attenzione.

2.2.1.1 Score

Nel costruire uno score che vada bene per le NHDBN quello di cui bisogna tenere

conto è la presenza di più epoche.

Si inizia considerando la singola epoca, per questo Robinson e Hartemink

propongono uno score di tipo BDeu (Murphy, 2012) con una variazione: gli

iperparametri α e τ vengono pesati anche in base alla grandezza dell’epoca.

Questo è equivalente a contare il numero di osservazioni presenti nella singola

epoca, avendo le NHDBN una granularità delle osservazioni fissa, come nelle

DBN.

Valutato lo score delle epoche singolarmente, bisogna aggregare i singoli

score per ottenere lo score globale della NHDBN. Un primo passo è moltiplicare

gli score delle singole epoche, andando ad ottenere il seguente score:

P (D|G1, ..., Gm, T ) ∝n∏i=1

pi∏h=1

qih∏j=1

Γ(αij(Ih))

Γ(αij(Ih) +Nij(Ih)

ri∏k=1

Γ(αijk(Ih) +Nijk(Ih)

Γ(αijk(Ih))

dove:

• n è il numero di nodi della rete;

• pi è il numero di epoche del modello;

Laurea Magistrale in Informatica 18

Page 38: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

2.2. NSDBN

• qih è il numero di configurazioni di genitori del nodo i-esimo nell’epoca

h-esima;

• ri è il numero di configurazioni del nodo i-esimo, data la configurazione

j-esima di genitori;

• Ih è l’ampiezza dell’epoca h-esima;

Rimane ancora un problema da affrontare, ovvero questa tipologia di sco-

re (come anche lo score BDeu normale) tende a restituire valori più alti alle

epoche con un numero minore di osservazioni. Questo porta a prediligere la

ricostruzione di epoche più piccole.

Questo problema si nota particolarmente nel caso C di totale mancanza

di informazioni perché si tende a creare più epoche rispetto a quelle contenute

nel modello reale e di piccole dimensioni (micro epoche).

Pesare gli iperparametri per l’ampiezza dell’epoca non basta a risolvere

tale problema. Per ottenere la giusta sequenza di osservazioni Robinson e

Hartemink suggeriscono di sottrarre allo score dell’intera sequenza i seguenti

valori:

• λc ∗numero_cambi: ovvero si moltiplica un parametro λc per il numero

di archi che cambiano tra epoche contigue, questo per scoraggiare cambi

di struttura troppo bruschi tra epoche contigue;

• λe∗numero_epoche: ovvero si moltiplica un parametro λe per il numero

di epoche create.

Entrambi questi valori guidano l’algoritmo alla scoperta delle giuste strut-

ture e del giusto numero di epoche, andando a scoraggiare la creazione di micro

epoche.

Vedremo nel capitolo successivo come questa stessa problematica viene

affrontata nel caso delle NHCTBN

Laurea Magistrale in Informatica 19

Page 39: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Capitolo 3

NHCTBN

Nel capitolo precedente si è presentato il problema di modellare sistemi in

cui le dipendenze condizionali tra le variabili non sono fissate ma variano nel

tempo. In questo capitolo proponiamo le Non-Homogeneous Continuous Time

Bayesian Network (NHCTBN) come soluzione a questo problema.

Si inizia, quindi, fornendone la definizione. Successivamente si presenta

l’argomento chiave di questa tesi, cioè l’apprendimento, per il quale si propone

l’approccio basato su Simulated Annealing (SA).

3.1 NHCTBN

Le NHCTBN sono un evoluzione delle CTBN, in cui le dipendenze condizionali

tra le variabili nel sistema che si sta modellando non sono fissate ma variano

nel tempo. Possono quindi essere viste come una sequenza di CTBN.

Si fornisce di seguito la definizione formale di NHCTBN.

Definizione 3.1 (Non-Homogeneous Continuous Time Bayesian Network).

Sia X un insieme di variabili casuali X1, X2, . . . , XN . Ogni Xi ha un dominio

finito, rappresentato da V al(Xi) = {x1, x2, . . . , xn}. Una Non-Homogeneous

Continuous Time Bayesian Network N su X consiste di 2 componenti:

• una distribuzione iniziale P 0X , specificata come una BN B su X.

• un modello di transizione a tempo continuo rappresentato da:

– una sequenza di grafi orientati (anche ciclici) G = {G1,G2, . . . ,GM},i cui nodi sono X1, X2, . . . , XN .

20

Page 40: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.1. NHCTBN

– un insieme di matrici di intensità condizionale QPae(Xi)Xi

per ogni

variabile Xi ∈ X, dove Pae(Xi) denota i genitori di Xi nell’epoca

e, definita come un intervallo omogeneo e = [m1,m2], con m1,m2 ∈{1, . . . ,M} e m1 < m2.

Data la variabile casuale Xi, la CIM QPae(Xi)Xi

consiste in un insieme di

matrici di intensità, una matrice di intensità (IM):

QPae(xi)Xi

=

−qPae(xi)x1 q

Pae(xi)x1x2 · · · q

Pae(xi)x1xn

qPae(xi)x2x1 −qPae(xi)x2 · · · q

Pae(xi)x2xn

......

. . ....

qPae(xi)xnx1 q

Pae(xi)xnx2 · · · −qPae(xi)xn

,

per ogni istanziazione Pae(xi) dei genitori Pae(Xi) del nodo Xi, nell’epoca

e, dove n è la cardinalità di V al(Xi).

Si ha che:

• con qPae(xi)xj =

∑xj 6=x′j

qPae(xi)xjx′j

si intende la probabilità istantanea di

lasciare lo stato xj , per una specifica istanziazione Pae(xi) nell’epoca e;

• con qPae(xi)xjx′j

si intende la probabilità istantanea di transizione dallo stato

xj allo stato x′j per la variabile casuale Xi, per una specifica istanziazione

Pae(xi) nell’epoca e.

La IM può essere rappresentata usando due insiemi di parametri:

• l’insieme delle intensità che parametrizzano le distribuzioni di quando

occorrono le transizioni:

qPae(xi)Xi

= {qPae(xi)xj : xj ∈ V al(Xn)}

• l’insieme delle probabilità che parametrizzano le distribuzioni di dove

occorrono le transizioni:

θPae(xi)Xi

= {θPae(xi)xj ,x′j

= qPae(xi)xj ,x′j

/qPae(xi)xj : xj , x′j ∈ V al(Xi), xj 6= x′j}.

I concetti che si presentano nelle seguenti sezioni faranno riferimento al

modello delle NHCTBN, sebbene molti di essi siano in comune con le CTBN.

Laurea Magistrale in Informatica 21

Page 41: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.2. Statistiche sufficienti e likelihood

3.2 Statistiche sufficienti e likelihood

Definita la struttura formale della rete, andiamo al passo successivo che è quello

di mostrare cosa significa apprendere dai dati.

In questa sezione si mostra come rappresentare i dati in maniera aggregata,

utilizzando le statistiche sufficienti. Successivamente, con l’utilizzo di queste

ultime, si presenta il concetto di likelihood dei dati rispetto ad un modello

di NHCTBN predefinito, e trattando le likelihood si farà riferimento prima alla

likelihood di un singolo nodo e poi la likelihood di un’intera struttura.

3.2.1 Statistiche sufficienti

Di seguito presentiamo la definizione di statistica sufficiente:

Definizione 3.2 (Statistica Sufficiente per nodi senza genitori). Sia X un

processo di Markov che non ha genitori in Ge (cioè Pae(X) = ∅), e con spazio

degli stati V al(X), definiamo la sua statistica sufficiente come:

• Te[x], il tempo speso da X nello stato x ∈ V al(X), nell’epoca e;

• Me[x, x′], il numero di transizioni da x a x′ , con x′ 6= x, occorse

nell’epoca e.

Dall’ultima statistica si può definire Me[x] =∑

xi 6=xj Me[x, x′] come il numero

di transizioni in uscita dallo stato x, nell’epoca e.

Definizione 3.3 (Statistica Sufficiente per nodi con genitori). (Nodelman

et al. , 2002b) Sia X un processo di Markov che ha almeno un genitore in Ge(cioè Pae(X) 6= ∅), e con spazio degli stati V al(X), definiamo la sua statistica

sufficiente come:

• Te[x|u], il tempo speso da X nello stato x ∈ V al(X), mentre i genitori

hanno configurazione degli stati u, nell’epoca e;

• Me[x, x′|u], il numero di transizioni da x a x′, con x′ 6= x, mentre i

genitori hanno configurazione degli stati u, nell’epoca e.

Dall’ultima statistica si può definire Me[x|u] =∑

xi 6=xj Me[x, x′|u] come il

numero di transizioni in uscita dallo stato x, mentre i genitori hanno configu-

razione degli stati u, nell’epoca e.

Laurea Magistrale in Informatica 22

Page 42: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.2. Statistiche sufficienti e likelihood

3.2.2 Likelihood di un singolo nodo

Dato un processo di Markov omogeneo X(t), la likelihood dei dati è definita

come un prodotto di likelihood, una per ogni transizione d =< xd, td, x′d >∈ D,

che rappresenta la transizione allo stato x′d dopo aver passato un tempo pari a

td nello stato xd. Si può scrivere la likelihood di una singola transizione d nel

seguente modo:

Lx(q,θ : d) = Lx(q : d)Lx(θ : d) (3.1)

= (qxde−qxd td)(θxdx′d) (3.2)

Moltiplicando le likelihood di tutte le transizioni d nell’epoca e, e facendo uso

delle statistiche sufficienti si ha:

Lx(qe,θe : De) =

∏d∈De

Lx(qe : d)

∏d∈De

Lx(θe : d)

=

(∏x

qMe[x]x e−qxTe[x]

)∏x

∏x′ 6=x

θMe[x|x′]xx′

.

3.2.3 Likelihood di una struttura

In una NHCTBN è necessario fornire la likelihood di ogni singola struttura Ge,per ogni epoca e. Si ha, quindi, che in ogni struttura ogni variabile X ∈ X

è condizionata dallo stato dei suoi genitori PaGe(X) nell’epoca e. Avendo i

dati completi si conosce lo stato in cui si trovano i genitori durante tutta la

traiettoria, quindi ad ogni istante si conosce la matrice di intensità QX|PaGe

che governa la dinamica di X. La likelihood di Ge è scomponibile per variabile:

LGe(qe,θe : De) =∏X∈X

LX(qX|Ue,θX|Ue

: De)

=∏X∈X

LX(qX|Ue: De)LX(θX|Ue

: De)(3.3)

Il termine LX(θX|Ue: De) rappresenta la probabilità delle transizioni di

stato, e dipende solo dal valore dei genitori nell’istante della transizione, e

quindi ignora il tempo in cui rimane nello stato precedente alla transizione.

Laurea Magistrale in Informatica 23

Page 43: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.2. Statistiche sufficienti e likelihood

Usando le statistiche sufficienti è possibile scrivere:

LX(θX|Ue: De) =

∏u∈Ue

∏x∈X

∏x′ 6=x

θMe[x,x′|u]xx′|ue (3.4)

Il termine LX(qX|Ue: De) rappresenta la likelihood del parametro qX|Ue

rispetto ai dati De, ed è funzione del tempo.

Per riscrivere questo termine si ricorre alla statistica sufficiente Te[x|u],

che è scomponibile in 2 parti: Te[x|u] = T re [x|u] + T ce [x|u], dove T re [x|u] rap-

presenta la somma dei td delle transizioni che terminano con X invariato, e

T ce [x|u] la somma dei td delle transizioni che terminano con X in uno stato

differente. Questo perché la transizione può essere dovuta al cambio di stato

della variabile oppure al cambio di stato di uno dei suoi genitori.

Ora è possibile scrivere:

LX(qX|Ue: De) =

( ∏u∈Ue

∏x∈X

qMe[x|u]x|ue e−qx|ueT

ce [x|u]

( ∏u∈Ue

∏x∈X

e−qx|ueTre [x|u]

)=∏u∈Ue

∏x∈X

qMe[x|u]x|ue e−qx|ueTe[x|u]

(3.5)

di conseguenza non è necessario distinguere T re [x|u] e T ce [x|u], ma è sufficiente

usare Te[x|u].

Sostituendo le equazioni 3.4 e 3.5 nell’equazione 3.3 si ottiene:

LGe(qe,θe : De) =∏X∈X

LX(qX|Ue,θX|Ue

: De)

=∏X∈X

∏u∈Ue

∏x∈X

∏x′ 6=x

θMe[x,x′|u]xx′|ue ×

∏u∈Ue

∏x∈X

qMe[x|u]x|ue e−qx|ueTe[x|u]

(3.6)

Passando ai logaritmi, per evitare produttorie di valori molto piccoli, ab-

Laurea Magistrale in Informatica 24

Page 44: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

biamo:

`Ge(qe,θe : De) =∑X∈X

[`X(qX|Ue

: De) + `X(θX|Ue: De)

]

=

[ ∑u∈Ue

∑x∈X

Me[x|u] ln(qx|ue)− qx|ueTe[x|u]

]

+

∑u∈U

∑x∈X

∑x′ 6=x

Me[x, x′|u] ln(θxx′|ue)

, ∀X ∈ X

(3.7)

3.3 Apprendimento di una NHCTBN

Fatte salve tutte le definizioni precedentemente enunciate atte a definire che

cos’è una NHCTBN, passiamo ad approfondire l’apprendimento di una NHCTBN

a partire dai dati.

La fase di apprendimento si compone di due parti:

• apprendimento dei parametri data una struttura Ge, per ogni epoca e,

dai dati disponibili;

• apprendimento della successione di strutture G1,G2, . . . ,GM che compon-

gono la NHCTBN.

Si forniscono alcune definizioni necessarie alla comprensione della fase di ap-

prendimento.

Definizione 3.4 (Traiettoria). Dato un insieme di processi di Markov X(t) =

(X1(t), X2(t), . . . , XN (t)), una traiettoria è un’istanziazione delle variabiliX(t)

per ogni valore di t.

In questo documento si tratterà l’apprendimento solo per dati completi.

Per l’apprendimento con dati incompleti, cioè nel caso in cui si hanno alcune

variabili non osservate, si rimanda a (Nodelman, 2007).

Definizione 3.5 (Dati Completi). (Nodelman, 2007) Dato un insieme di va-

riabili casuali X = (X1, X2, . . . , XN ), un insieme di dati D = (σ1, σ2, . . . , σh) si

dice completo se ogni σi è una traiettoria completamente osservata, ovvero se

per ogni punto nel tempo di ogni traiettoria si conosce la completa istanziazione

di tutte le variabili Xi.

Laurea Magistrale in Informatica 25

Page 45: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

3.3.1 Apprendimento dei parametri

Per quanto riguarda l’apprendimento dei parametri per una rete, data la strut-

tura Ge, con dati completi De, per l’epoca e, nella letteratura specializzata sono

disponibili due approcci:

• Approccio Maximum-Likelihood, si stimano i parametri in modo da mas-

simizzare la likelihood in Equazione 3.7.

• Approccio Bayesiano, si sceglie una distribuzione a priori per i parametri

e la si aggiorna in base ai dati.

3.3.1.1 Approccio Maximum-Likelihood

Teorema 3.1. (Nodelman et al. , 2002b) I parametri che massimizzano la

likelihood dell’Equazione 3.7 sono:

q̂x|ue =Me[x | u]

Te[x | u]

θ̂xx′|ue =Me[x, x

′ | u]

Me[x | u]

(3.8)

Questi parametri vengono chiamati Maximum Likelihood Estimation (MLE)

parameters.

Il parametro q̂x|ue si ricava eguagliando le medie: il tempo medio che una

variabile X rimane nello stato x, con configurazione dei genitori u, nell’epoca e

prima di una transizione è pari a Te[x|u]/Me[x|u]. La media della distribuzione

esponenziale di parametro qx|ue è 1/qx|ue . Si ha quindi:

1

qx|ue=

Te[x | u]

Me[x | u]

qx|ue =Me[x | u]

Te[x | u]

La probabilità che una variabile X transiti dallo stato x allo stato x′, quando i

genitori hanno configurazione dello stato u, nell’epoca e, è stimabile tramite il

rapporto tra il numero totale di transizioni da x a x′ (Me[x, x′|u]) e il numero

totale di transizioni in uscita dallo stato x (Me[x|u]). Si ha quindi:

θ̂xx′|ue =M [x, x′ | u]eM [x | u]e

.

Laurea Magistrale in Informatica 26

Page 46: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

3.3.1.2 Approccio Bayesiano

Per l’approccio Bayesiano, invece, è necessario definire una distribuzione a

priori per i parametri della rete. Al fine di avere un calcolo efficiente si è scelto

di usare una distribuzione a priori coniugata.

Per prima cosa si costruisce una distribuzione a priori adatta per un singolo

processo di Markov, la quale possiede due insiemi di parametri:

• una distribuzione esponenziale di parametri q, nel caso specifico si è scelta

la Distribuzione Gamma P (q) = Gamma(α, τ), dove

P (q) =(τ)α+1

Γ(α+ 1)qαe−qτ

• una distribuzione multinomiale di parametri θ, nel caso specifico si è scel-

ta la Distribuzione di Dirichlet P (θ) = Dir(αxx1 , . . . , αxxk) (Heckerman,

1996).

Osservazione. L’iperparametro1 αxx, chiamato dimensione equivalente del

campione, è costituito dalla somma dei conteggi immaginari αxx1 + . . .+αxxk ,

chiamati pseudo-conteggi (Steck, Harald and Jaakkola, 2002).

Assumendo che i due parametri siano indipendenti, ovvero che P (θe, qe) =

P (θe)P (qe), si ottengono le seguenti distribuzioni a posteriori:

P (θ|D) = Dir(αxx1 +M [x, x1], . . . , αxxk +M [x, xk])

P (q|D) = Gamma(αx +M [x], τx + T [x])

Si vuole ora estendere l’idea all’intera rete riferita all’epoca e. Si assume che

in una Bayesian Network (BN) (Heckerman, 1996) valgano la global parameter

independence:

P (qe,θe) =∏X∈X

P (qX|Pa(X)e ,θX|Pa(X)e)

e la local parameter independence:

P (qX|Ue,θX|Ue

) =

(∏x∈X

∏u∈Ue

P (qx|u)

)(∏x∈X

∏u∈Ue

P (θx|u)

).

1I parametri di una distribuzione a priori vengono chiamati iperparametri

Laurea Magistrale in Informatica 27

Page 47: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

Se le distribuzioni a priori scelte soddisfano le precedenti assunzioni, si ha

che anche le distribuzioni a posteriori le soddisfano (essendo coniugate), ed

è quindi possibile mantenere la distribuzione parametrica in forma chiusa, ed

aggiornarla con le statistiche sufficienti.

Data una distribuzione parametrica è possibile usarla per prevedere il pros-

simo evento, mediando la probabilità dell’evento su tutti i possibili valori dei

parametri. Questa previsione è equivalente all’uso dei valori attesi, che hanno

la stessa forma dei parametri MLE, ma tengono conto dei conteggi immaginari

degli iperparametri:

q̂x|ue =αx | ue +Me[x | u]

τx | ue + Te[x | u]

θ̂xx′|ue =αxx′|ue +Me[x, x

′ | u]

αx|ue +Me[x | u]

Osservazione. La scelta di questi parametri, teoricamente, è valida solo per

prevedere una transizione, dopo la quale, bisognerebbe aggiornare i parametri

di conseguenza. D’altra parte, in questi casi, è possibile approssimare il calcolo

esatto, usando questi parametri per prevedere una traiettoria intera.

3.3.2 Apprendimento della struttura

Per apprendimento della struttura si intende il processo mediante il quale, a

partire dai dati disponibili, si effettua una ricerca delle relazioni tra le variabili

a cui si riferiscono i dati.

Poichè le NHCTBN non hanno vincoli di aciclicità, l’apprendimento della

struttura è molto più semplice rispetto alle DBN, per le quali consiste nel ri-

solvere un problema di ottimizzazione NP-completo (Chickering, 1994). Si ha

quindi che l’apprendimento della struttura è la ricerca della miglior configura-

zione di genitori per un nodo. Tale ricerca, nel caso delle NHCTBN, la si può

effettuare nodo per nodo.

Per l’apprendimento della struttura si intende utilizzare, come per le BN,

l’approccio Search&Score, in cui definiremo una funzione di score per confron-

tare la bontà delle possibili strutture della rete e selezionare quella che meglio

si adatta ai dati.

Laurea Magistrale in Informatica 28

Page 48: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

3.3.2.1 Funzione di scoring

Come già detto, poichè una NHCTBN consiste in una sequenza di grafi orientati,

è necessario introdurre una funzione di scoring per il singolo grafo. Nella sot-

tosezione 3.3.3 si mostra come comporre gli score dei singoli grafi per ottenere

lo score dell’intera sequenza

In questa tesi si è deciso di utilizzare uno score di tipo Bayesiano, e poiché

il principio dell’approccio Bayesiano implica la definizione di una distribuzione

a priori ovunque ci sia incertezza, come in questo caso, si definisce, quindi, una

distribuzione a priori per la struttura nell’epoca e P (Ge) e una per i parametri

P (θGe |Ge). Applicando il teorema di Bayes si ha:

P (Ge | De) =P (De | Ge)P (Ge)

P (De)

con De si intende l’istanziazione delle variabili negli istanti di tempo contenuti

nell’epoca e.

Dato che il denominatore è solo un fattore di normalizzazione, esso non è

necessario per distinguere due strutture, per cui è possibile definire lo score

come (Koller & Friedman, 2009):

scoreB(Ge : De) = lnP (De | Ge) + lnP (Ge) (3.9)

Inoltre, per aumentare l’efficienza dell’algoritmo di ricerca, si assume che

le distribuzioni a priori scelte soddisfino le seguenti proprietà (Nodelman et al.

, 2002b):

• P (Ge) soddisfi la structure modularity, cioè

P (Ge) =N∏i=1

P (Pae(Xi) = PaGe(Xi))

• parameter modularity, cioè per qualsiasi coppia di strutture Ge e G′etali che PaGe(X) = PaG′e(X) con e fissato, vale P (qx,θX | Ge) =

P (qx,θX | G′e)

Combinando la parameter modularity con il fatto che i parametri sono

Laurea Magistrale in Informatica 29

Page 49: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

indipendenti, abbiamo:

P (qGe ,θGe , | Ge, ) =∏Xi

P (qXi|Uei | Pae(Xi) = PaGe , (Xi))P (θXi|Uei | Pae(Xi) = PaGe , (Xi))

Dato che P (Ge) non cresce con l’aumentare dei dati, la parte significativa

nell’Equazione 3.9 è lamarginal likelihood P (De|Ge). Questo termine incorpora

l’incertezza sui parametri integrando su tutti i loro possibili valori

P (De | Ge) =

∫qGe ,θGe

P (De | qGe ,θGe)P (qGe ,θGe | Ge) dqGe dθGe

La likelihood si può scomporre in un prodotto di likelihood:

P (De | qGe ,θGe) =∏Xi

LXi(qXi|uei : De)LXi(θXi|uei : De)

=

∏Xi

LXi(qXi|uei : De)

︸ ︷︷ ︸

L(q:De)

∏Xi

LXi(θXi|uei : De)

︸ ︷︷ ︸

L(θ:De)

Combinando questa decomposizione e la global parameter independence

abbiamo:

P (De | Ge) =

∫qGe ,θGe

L(qGe : De)L(θGe : De)P (θGe)P (qGe) dqGe dθGe

=

(∫qGe

L(qGe : De)P (qGe) dqGe

)(3.10)

×

(∫θGe

L(θGe : De)P (θGe) dθGe

)(3.11)

Usando la local parameter independence il termine (3.10) si può decomporre

Laurea Magistrale in Informatica 30

Page 50: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

nel seguente modo:

∏X∈X

∏ue

∏x

∫ ∞0

P (qx|ue)Lx(qx|ue : De) dqx|ue

=∏X∈X

∏ue

∏x

∫ ∞0

(τx|ue )αx|ue+1

Γ(αx|ue+1) (qx|ue)αx|uee−qx|ueτx|ue

×(qx|ue)Me[x|u]e−qx|ueTe[x|u] dqx|ue

=∏X∈X

∏ue

∏x

∫ ∞0

(τx|ue )αx|ue+1

Γ(αx|ue+1) (qx|ue)αx|ue+Me[x|u]

×e−qx|ue (τx|ue+Te[x|u])

dqx|ue=∏X∈X

∏ue

∏x

Γ(αx|ue +Me[x|u] + 1)(τx|ue)αx|ue+1

Γ(αx|ue + 1)(τx|ue + Te[x|u])αx|ue+Me[x|u]+1(3.12)

=∏X∈X

MargLq(X,PaGe(X) : De)

Poiché la distribuzione dei parametri θ è Dirichlet, l’analisi dell’Equazione 3.11

è analoga a quella delle BN, quindi:

∏X∈X

∏ue

∏x

Γ(αx|ue)

Γ(αx|ue +Me[x|u])×∏x′ 6=x

Γ(αxx′|ue +Me[x, x′|u])

Γ(αxx′|ue)(3.13)

=∏X∈X

MargLθ(X,PaGe(X) : De) (3.14)

Usando queste due scomposizioni, e assumendo la structure modularity, lo

score Bayesiano dell’Equazione 3.9 può essere ora scomposto come una somma

di family score denotati come FamScore(X,PaGe(X) : De), che assegna un

punteggio ai genitori di X (ovvero PaGe(X)), così da poter scegliere per ogni

nodo X ∈ X i genitori che massimizzano il family score

scoreB(Ge : De) =∑Xi∈X

FamScore(Xi,PaGe(Xi) : De)

=∑Xi∈X

lnP (Pae(X) = PaGe(Xi)) + lnMargLq(Xi,U i : De) + lnMargLθ(Xi,U i : De)

Si giunge, così, a definire lo score della struttura, in una singola epoca prefissata

e, come una somma di score locali, uno per ogni nodo X.

Laurea Magistrale in Informatica 31

Page 51: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

3.3.2.2 Ricerca della struttura

Passiamo ora alla ricerca della struttura Ge per la singola epoca e. Questo è un

problema di ottimizzazione, ed è stato formalizzato sotto il nome di K-Learn.

Il K-Learn consiste nella ricerca della struttura che massimizza lo score,

vincolando ogni nodo ad avere al massimo k genitori. Per le BN è un problema

NP-hard già con K uguale a 2 (Chickering, 1994). La motivazione è che le BN

sono soggette al vincolo di aciclicità, e quindi la determinazione dei genitori

ottimali di un nodo è condizionata dalla scelta effettuata per gli altri nodi. La

stessa complessità si ha anche sulle DBN se ammettiamo archi intra time slice.

Nel caso delle NHCTBN gli archi rappresentano l’effetto del valore corrente di

una variabile, sul prossimo valore di un’altra variabile. Quindi, nelle NHCTBN

non è presente il vincolo di aciclitià. Senza tale vincolo è possibile ottimizzare

la ricerca dei genitori effettuandola nodo per nodo, indipendentemente dagli

altri nodi.

Teorema 3.2. (Nodelman, 2007) Dato K, il problema K-Learn per una strut-

tura di una NHCTBN può essere risolto in tempo polinomiale rispetto al numero

di variabili N e alla dimensione dei dati D.

Si ha, quindi, che è possibile ricavare in tempo polinomiale una struttura

a partire dai dati D.

3.3.3 Apprendimento della sequenza

Per poter affrontare l’apprendimento dell’intera sequenza di strutture della

NHCTBN è necessario fornire un’altra funzione di scoring, ma questa volta, per

l’intera sequenza.

La funzione di scoring per la sequenza G = {G1,G2, . . . ,GE} (Robinson &

Hartemink, 2010) è definita come segue:

scoreB(G : D) =E∑e=1

scoreB(Ge : De)−E∑e=2

λc∆(Ge,Ge−1)− λeE (3.15)

dove λc∆(Ge,Ge−1) è il numero di cambi di archi dalla struttura per l’epoca

e − 1 alla struttura per l’epoca e, pesato per un certo parametro λc, e λeE è

il numero di epoche per un certo parametro λe.

Laurea Magistrale in Informatica 32

Page 52: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

Osservazione. Le strutture ottime localmente ad ogni epoca non è detto che

formino la sequenza ottima di strutture. Questo deriva dallo score dell’intera

sequenza che pesa, tramite λc, il numero di cambi di archi tra epoche contigue, e

tramite λe il numero di epoche totali. Si vuole infatti evitare sia che le strutture

cambino in maniera considerevole in due epoche contigue, sia la presenza di

un numero elevato di epoche.

Nell’apprendimento della sequenza di strutture particolare attenzione va

alla pesatura degli iperparametri αxx′|ue e τx|ue presenti nelle equazioni 3.12 e

3.13.

In questa tesi proponiamo quattro tipologie di pesatura, le prime due si

basano sullo score di tipo BDe (Murphy, 2012) e sono:

1. Pesatura basata sul numero di osservazioni presenti nell’epoca conside-

rata:

αxx′|ue = αxx′|ue ∗#Osservazioni_Epoca#Osservazioni_Totali

(3.16)

τx|ue = τx|ue ∗#Osservazioni_Epoca#Osservazioni_Totali

(3.17)

2. Pesatura basata sull’ampiezza dell’epoca considerata:

αxx′|ue = αxx′|ue ∗te − te−1

T(3.18)

τx|ue = τx|ue ∗te − te−1

T(3.19)

dove T è l’ampiezza temporale dell’intero dataset.

Le ultime due invece si basano sullo score di tipo BDeu (Murphy, 2012) e

sono:

1. Pesatura basata sul numero di osservazioni presenti nell’epoca conside-

rata:

αxx′|ue =αxx′|ueqi ∗ ri

∗ #Osservazioni_Epoca#Osservazioni_Totali

(3.20)

τx|ue =τx|ueqi ∗ ri

∗ #Osservazioni_Epoca#Osservazioni_Totali

(3.21)

Laurea Magistrale in Informatica 33

Page 53: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

2. Pesatura basata sull’ampiezza dell’epoca considerata:

αxx′|ue =αxx′|ueqi ∗ ri

∗ te − te−1

T(3.22)

τx|ue =τx|ueqi ∗ ri

∗ te − te−1

T(3.23)

dove T è l’ampiezza temporale dell’intero dataset mentre qi ed ri sono,

rispettivamente, il numero di stati congiunti dei genitori del nodo i, e il

numero di stati del nodo i.

La pesatura introdotta nella BDeu ha lo scopo di non favorire quei nodi che

hanno un elevato numero di stati o un elevato numero di genitori. L’introduzio-

ne invece della pesatura sull’ampiezza dell’epoca o sul numero di osservazioni

serve per non favorire lo score di epoche troppo corte o con poche osservazioni.

A questo punto è necessario affrontare un altro problema, quello delle

informazioni che si hanno sui dati a disposizione.

Poiché nell’apprendimento di una rete non omogenea è necessario sapere

quante transizioni2 ci sono ed il punto esatto in cui queste avvengono, e queste

due informazioni non sempre sono disponibili nei dati, si contemplano quindi

tre casi:

Caso A: informazione completa, si conosce sia il numero di transizioni che gli

istanti temporali in cui avvengono le transizioni.

Caso B: informazione parziale, si conosce il numero di transizioni ma non si

conoscono gli istanti temporali.

Caso C: nessuna informazione, non si conosce né il numero di transizioni né

gli istanti temporali.

Questi tre casi sono gli stessi visti nella trattazione delle NHDBN

3.3.4 Apprendimento della sequenza: Approccio SA

Il problema che si vuole affrontare è la mancanza di informazioni, Caso B

e Caso C, ovvero non sapere dove sono gli istanti di transizione da un epo-

ca all’altra o addirittura non sapere nemmeno quanti sono. La soluzione è2Istanti temporali in cui la rete Ge+1 sostituisce la rete Ge

Laurea Magistrale in Informatica 34

Page 54: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

un’approccio probabilistico che permette di ottenere queste informazioni in

modo tale da riportarsi al Caso A. Una volta che l’informazione è completa

l’apprendimento della sequenza si esegue in maniera esatta. Questo significa

che una volta individuate le informazioni mancanti è possibile ricostruire la

struttura ottima, a patto che le informazioni individuate siano corrette.

L’approccio probabilistico che si è scelto di utilizzare è basato sull’algoritmo

Simulated Annealing (SA) (Murphy, 2012).

Il primo passo, per poter comprendere l’utilizzo dell’algoritmo SA nel nostro

caso specifico, è fornire una definizione di stato.

Definizione 3.6 (Stato nell’algoritmo SA). Si definisce stato, nell’algoritmo

SA, la sequenza di istanti di transizione (da un’epoca all’altra) di una NHCTBN.

Adesso si può descrivere l’idea alla base di questo algoritmo mediante i

seguenti passaggi:

1. si parte da uno stato iniziale x, in cui gli istanti di transizioni sono

equidistanti;

2. ad ogni iterazione si propone un nuovo stato x’, generato a partire da x;

3. x’, a sua volta, ha una determinata probabilità di essere accettato (ac-

ceptance probability);

4. se si accetta x’, si salva, e successivamente si pone x = x’ e si riparte

dal punto 2;

5. altrimenti si rimane nello stato x e si riparte sempre dal punto 2.

Osservazione. Nel caso C, di totale mancanza di informazione, lo stato ini-

ziale consiste non solo in istanti di transizione equidistanti ma anche nell’e-

strazione di un numero di epoche iniziali di partenza.

Iterando questi punti, ed utilizzando adeguati operatori per generare nuovi

stati, si vuole scoprire la struttura reale del modello inerente al dataset che si

sta analizzando. Per farlo si ritorna l’NHCTBN ricostruita a partire dallo stato

più probabile.

Per ottenere la struttura con score massimo bisogna ancora specificare:

1. come è definita l’acceptance probability;

Laurea Magistrale in Informatica 35

Page 55: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

2. quali sono le operazioni necessarie per generare nuovi stati.

Il punto 2 verrà trattato nel dettaglio nelle successive sottosezioni, di se-

guito si descrive come è calcolata l’acceptance probability.

L’acceptance probability viene calcolata come l’esponenziale della dif-

ferenza tra, la probabilità del nuovo stato, e la probabilità dello stato attuale.

Se questo valore è ≥ 1, ovvero lo stato x’ ha una probabilità maggiore o uguale

a x, allora x’ viene accettato. Tuttavia se il nuovo stato ha una probabilità

minore del precedente si ha comunque una probabilità, determinata dalla dif-

ferenza precedente, di accettarlo ugualmente. Questo accorgimento serve per

evitare di rimanere bloccati in massimi locali.

In formule si può scrivere come:

α = exp(P (x′)− P (x)) (3.24)

Osservazione. Si fa notare che la probabilità degli stati si ottiene dallo score

della NHCTBN che individuano.

Osservazione. Il valore di accettazione α si può moltiplicare per un parametro

δacceptance ∈ (0, 1] al fine di rendere meno probabile l’accettazione di un nuovo

stato. Tale parametro viene inserito dall’utente.

Una miglioria consiste nell’introdurre una funzione di cooling. Questa

funzione restituisce un valore ∈ [0, 1] che decresce in funzione del tempo (nu-

mero dell’iterazione corrente). Tale valore viene moltiplicato per l’acceptance

probability (solo quando acceptance probability < 1) facendo si che più si

va avanti con le iterazioni più si rende difficile accettare uno stato con score

peggiore di quello attuale.

3.3.4.1 Informazione completa

Si entra ora nello specifico del caso A, in cui si è a conoscenza sia del numero

di transizioni che degli istanti temporali in cui tali transizioni avvengono.

In questa situazione si è a conoscenza dell’informazione completa necessaria

per l’apprendimento della NHCTBN. Non è quindi necessario eseguire l’algorit-

mo SA, tuttavia la si riporta in questa sezione in quanto è il caso base a cui si

ricollegano il caso B e il caso C

Laurea Magistrale in Informatica 36

Page 56: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

Avendo a disposizione tutte le informazioni l’approccio di risoluzione è

esatto e consiste nei seguenti punti:

1. calcolare gli score di tutte le possibili combinazioni di k-parent set (k

fissato), di tutti i nodi, in tutte le epoche;

2. scegliere per ogni nodo e per ogni epoca i k-parent set che massimizzano

lo score dell’intera sequenza, tenendo conto dello specifico valore di λccome visto nella sottosezione 3.3.3;

Il punto 2 si può ripetere per più valori di λc i quali si estraggono da una

distribuzione gamma. Questo porta a trovare diverse NHCTBN. Non è invece

necessario calcolare il λe, che sarà quindi impostato a 0, essendo a conoscenza

dell’informazione esatta sul numero di epoche.

Di seguito è riportato l’algoritmo completo in cui si può notare che:

• Riga 4-6: si cicla su tutte le epoche, sul numero massimo di genitori e su

tutti i nodi;

• Riga: 7: vengono create tutte le combinazioni di k-parentSet per un k

fissato;

• Riga: 8-9: si calcola lo score per un determinato parentSet U;

• Riga 14: si ritorna il parentSet con score massimo.

Laurea Magistrale in Informatica 37

Page 57: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

Algoritmo 2 Apprendimento sequenza NHCTBN - SA - Informazione completaRequire: Massimo numero di genitori K, insieme di traiettorie completamen-

te osservate D, istanti di transizione T , valore del lambda cambi λc, valoredel lambda epoche λe.

Ensure: Sequenza di strutture con il miglior score per i dati DEnumerateParents(Xi, k) è una funzione che enumera tutte le possibilicombinazioni di k genitori per il nodo Xi.CalculateScore(Xi, U,D, Tfirst, Tlast, λc) è una funzione che calcolalo score del nodo Xi con insieme dei genitori U dai dati D compresinell’intervallo da Tfirst a Tlast, per un λc prefissato.getBestParentSet(score[], λc, λe) è una funzione che dati in input gliscore, il valore del lambda cambi e dei lambda epoca, e ritorna il miglioriparent set globali con relativo score.

1: function LearnFullInformation(K,D, T, λc, λe)2: E ← Length[T ] + 13: bestParent[N,E]← ∅4: for e← 1 to E do5: for k ← 0 to K do6: for i← 1 to N do7: parentSet← EnumerateParent(Xi, k)8: for all U in parentSet do9: score[e].add( CalculateScore(Xi, U,D, T [e], T [e +

1], λc, λe))10: end for11: end for12: end for13: end for14: bestParentSet← getBestParentSet(score[], λc,λe)15: return bestParentSet16: end function

3.3.4.2 Informazione parziale

Si entra ora nello specifico del caso B, in cui si è a conoscenza solamente del

numero di transizioni, ma non degli istanti temporali in cui tali transizioni

avvengono. Si entra quindi nel vivo dell’algoritmo SA.

Si definisce di seguito l’operatore che, ad ogni iterazione dell’algoritmo,

ci propone un nuovo stato in cui spostarci, a partire da quello attuale. In

questo caso, in cui il numero di istanti di transizione è noto, può variare solo

la posizione dei suddetti. Sarà quindi necessario utilizzare un solo operatore

che si occupa dello shift degli istanti temporali di transizione.

Laurea Magistrale in Informatica 38

Page 58: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

Si propongono due tipologie di shift che l’utente può selezionare: omogeneo

e proporzionale.

Lo shift omogeneo funziona nel seguente modo:

1. si estrae un istante di transizione t da tutti gli istanti possibili, utilizzando

una distribuzione di probabilità uniforme;

2. si estrae un ulteriore valore u ≈ U [−1, 1];

3. si propone infine lo spostamento s = t+ δshift ∗ u.

Osservazione. Mentre il valore u definisce la direzione dello spostamento, il

parametro δshift definisce la grandezza dello spostamento.

Lo shift proporzionale funziona nel seguente modo:

1. si estrae un istante di transizione t da tutti gli istanti possibili, utilizzando

una distribuzione di probabilità uniforme, supponendo che t separi le

epoche (ta, t)(t, tb);

2. si estrae un ulteriore valore u ≈ U [−1, 1];

3. se u < 0 allora si propone lo spostamento s = t+ δshift ∗ u ∗ (t− ta)

4. altrimenti si propone lo spostamento s = t+ δshift ∗ u ∗ (tb − t)

Osservazione. Lo shift proporzionale permette di eseguire uno spostamento

che non è fisso, ma che appunto è proporzionale alla distanza dei tempi contigui

a t.

Osservazione. E’ inoltre possibile fornire una versione discreta degli operatori

di shift, che consiste nel ritornare non il tempo generato dall’operatore, ma

quello dell’osservazione più vicina (a tale tempo) presente nel dataset.

Per entrambe le versioni, al valore di δshift viene associato una funzione

di cooling, come per l’acceptance probability, al fine di diminuire la grandezza

dello spostamento proposto in proporzione al numero di iterazioni dell’algorit-

mo.

L’idea generale di funzionamento dell’algoritmo SA, descritta nella sotto-

sezione 3.3.4, si riferisce all’apprendimento di una sola sequenza di stati. Nel

caso B, invece, si estraggono più λc da una distribuzione gamma, come per il

Laurea Magistrale in Informatica 39

Page 59: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

caso A, e per ognuno di essi si fa partire una sequenza differente. Alla fine,

da tutti gli stati contenuti in ogni sequenza, si ritorna lo stato più probabile

con il modello NHCTBN che esso individua.

Non è invece necessario valutare il λe, che sarà impostato a 0, essendo noto

il numero di epoche.

Di seguito è riportato l’algoritmo completo in cui si può notare che:

• Riga 2-7: si estrae un numero pari ad N di valori λc e si fa partire una

nuova sequenza per ogni valore estratto;

• Riga 8: per ogni sequenza si effettua un numero pari ad IT di iterazioni;

• Riga 9-11: Si genera il nuovo stato, ricostruendone la struttura, e si

calcola l’acceptance probability;

• Riga 12-20: Si decide se accettare o meno il nuovo stato in accordo con

l’acceptance probability;

• Riga 25: Si ritorna la sequenza ricostruita da cui poi si andrà ad estrarre

la struttura con score massimo;

Laurea Magistrale in Informatica 40

Page 60: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

Algoritmo 3 Apprendimento sequenza NHCTBN - SA - Informazione parzialeRequire: Massimo numero di genitori K, insieme di traiettorie completamen-

te osservate D, numero di istanti di transizione M , numero di iterazioniIT , tipo di shift ShiftType, parametro per lo shift δshift, numero di se-quenze N, numero di λc da estrarre L, iperparametri della distribuzionegamma sul numero di cambio di archi Kc, θc, parametro da moltiplicareper l’acceptance probability δacceptance;

Ensure: Sequences: N sequenze di lunghezza ITShiftTime(T, ShiftType, δshift) è l’operazione di shift, omogenea oproporzionale a seconda del ShiftType

1: function LearnPartialInformation(K,D,M, IT, ShiftType, δshift, N, L,Kc, θc, δacceptance)2: V ettoreλc[]← estrai L volte λc ≈ Γ(Kc, θc)3: for n← 1 to N do4: λc ← estrai da V ettoreλc[]5: T []← M istanti di transizione equidistanti6: x← LearnFullInformation(K,D, T, λc, λe = 0)7: Sequences[n].add(x)8: for t← 1 to IT do9: T ← shiftTime(T, ShiftType, δshift)

10: x′ ← LearnFullInformation(K,D, T, λc, λe = 0)11: α← exp(P (x′)− P (x))12: if α ≥ 1 then13: Sequences[n].add(x′)14: else15: u ≈ U [0, 1]16: α← α ∗ δacceptance17: if u < α then18: Sequences[n].add(x′)19: else20: Sequences[n].add(x)21: end if22: end if23: end for24: end for25: return Sequences[]26: end function

3.3.4.3 Nessuna informazione

Si entra ora nello specifico del caso C in cui non si è a conoscenza né del numero

di transizioni, né degli istanti temporali in cui tali transizioni avvengono.

In questo caso, oltre l’operatore di shift visto nel caso B, è necessario ag-

giungere due ulteriori operatori: l’operatore di split e quello di merge. Questi,

Laurea Magistrale in Informatica 41

Page 61: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

come il nome stesso suggerisce, permettono di dividere un epoca o di unirne

due assieme, al fine di poter generare nuovi stati con un diverso numero di

epoche.

Come per lo shift, anche per l’operazione split e l’operazione di merge, si

propongono due versioni: una omogenea ed una proporzionale.

Lo split omogeneo funziona nel seguente modo:

1. si estrae un istante di transizione ti utilizzando una distribuzione di

probabilità uniforme;

2. si divide a metà l’epoca individuata dagli istanti di transizione ti−1, t.

Lo split proporzionale invece funziona nel seguente modo:

1. si considera l’ampiezza di ogni epoca i come ampi = ti − ti−1;

2. si seleziona l’epoca i da sottoporre ad operazione di split estraendo un

numero casuale con probabilità proporzionale ad amp, ovvero si estrae

dalla seguente distribuzione multinomiale: Mul[amp1

T , .., ampMT]. Dove

M è il numero totale di epoche e T la somma dell’ampiezza di tutte le

epoche.

Il merge omogeneo funziona nel seguente modo:

1. si sceglie a caso un tempo di transizione t;

2. si uniscono assieme le due epoche che vengono separate da t, ovvero:

(ta, t)(t, tb)→ (ta, tb)

Il merge proporzionale invece funziona nel seguente modo:

1. per ogni coppia di epoche contigue (ta, t), (t, tb) si selezionano le due

epoche che sono collegate dal tempo t che minimizza lo sbilanciamento

mint

(t−tatb−t ,

tb−tt−ta

)Osservazione. Anche per gli operatori di split e di merge è possibile fornire

una versione discreta in maniera analoga allo split.

Il funzionamento di questo approccio è simile al caso B. La differenza

principale è nella possibilità di scegliere tra tre diversi operatori per generare

un nuovo stato. Infatti, ad ogni iterazione, si sceglie, mediante distribuzione

Laurea Magistrale in Informatica 42

Page 62: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

di probabilità uniforme, quale operatore applicare. Una volta però ricreate le

sequenze di stati, come per il caso B si ritorna l’NHCTBN costruita a partire

dallo stato più probabile individuato.

Un’ ulteriore differenza sta nell’introduzione del λe relativo al numero di

epoche. Anche questo verrà estratto, come per il λc, da una distribuzione

gamma.

Di seguito è riportato l’algoritmo completo in cui si può notare che:

• Riga 2-9: si estraggono i valori di λc e λe e si fa partire una sequenza

con i valori estratti;

• Riga 10: per ogni sequenza si effettua un numero pari ad IT di iterazioni;

• Riga 11-13: Si genera il nuovo stato, ricostruendone la struttura, e si

calcola l’acceptance probability;

• Riga 14-22: Si decide se accettare o meno il nuovo stato in accordo con

l’acceptance probability;

• Riga 28: Si ritorna la sequenza ricostruita da cui poi si andrà ad estrarre

la struttura con score massimo.

Laurea Magistrale in Informatica 43

Page 63: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

3.3. Apprendimento di una NHCTBN

Algoritmo 4 Apprendimento sequenza NHCTBN - SA - Nessuna informazioneRequire: Massimo numero di genitori K, insieme di traiettorie completamen-

te osservate D, numero massimo di epocheMmax, numero di iterazioni IT ,parametro per lo shift δshift, tipo di shift ShiftType, tipo di split Split-Type, tipo di merge MergeType, numero di λe da estrarre NE, numerodi λc da estrarre L, numero di sequenze da far partire con lo stesso λcNC, iperparametri della distribuzione gamma sul numero di cambio di ar-chi Kc, θc, iperparametri della distribuzione gamma sul numero di epocheKa, θa, parametro da moltiplicare per l’acceptance probability δacceptance;

Ensure: Sequences[][] matrice NCxNE di sequenze di lunghezza ITSAOperation(T, δshift, ShiftType,MergeType, SplitType,Mmax) è lafunzione che si occupa di scegliere e applicare una delle tre operazioniper proporre un nuovo stato

1: function LearnNoInformation(K,D,M)2: V ettoreλc[]← estrai L volte λc ≈ Γ(Kc, θc)3: for ne← 1 to NE do4: λe ≈ Γ(Ka, θa)5: for nc← 1 to NC do6: λc ← estrai da V ettoreλc[]7: T []← M istanti di transizione equidistanti8: x← LearnFullInformation(K,D, T, λc, λe)9: Sequences[ne][nc].add(x)

10: for t← 1 to IT do11: T ← SAOperation(T, δshift, ShiftType,MergeType, SplitType,Mmax)12: x′ ← LearnFullInformation(K,D, T, λc, λe)13: α← exp(P (x′)− P (x))14: if α ≥ 1 then15: Sequences[ne][nc].add(x′)16: else17: u ≈ U [0, 1]18: α← α ∗ δacceptance19: if u < α then20: Sequences[ne][nc].add(x′)21: else22: Sequences[ne][nc].add(x)23: end if24: end if25: end for26: end for27: end for28: return Sequences[][]29: end function

Laurea Magistrale in Informatica 44

Page 64: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Capitolo 4

MapReduce

In questo capitolo si introduce il framework MapReduce, in particolare si mo-

stra il funzionamento del paradigma, l’architettura e la relativa implementazio-

ne in Java, Apache Hadoop. Infine, si presenta l’algoritmo di apprendimento

delle NHCTBN, descritte nel precedente capitolo, sfruttando questo framework.

4.1 Introduzione

MapReduce è un paradigma di programmazione che consente di processare

grandi quantità di dati. Questo paradigma nasce nel 2004 (Dean & Ghemawat,

2004), il nome deriva dalle funzioni map e reduce dei linguaggi di programma-

zione funzionale. I programmi scritti per questo framework vengono eseguiti

su grandi cluster di macchine, le quali utilizzano un file system distribuito ad

hoc, al fine di essere parallelizzati. Il sistema è in grado di partizionare i dati di

input per sfruttare la parallelizzazione, pianificare l’esecuzione dei programmi

e gestire la comunicazione tra le macchine coinvolte.

Il paradigma si basa sull’implementazione da parte dell’utente di due funzioni

fondamentali, che danno il nome al paradigma stesso:

Funzione map: si occupa di leggere una serie di record dal file di input, li

elabora in base alle finalità dell’applicazione ed emette in output una

lista di coppie 〈chiave, valore〉 intermedie.

Funzione reduce: si occupa di ricevere in input tutti i valori che condividono

la stessa chiave intermedia, li elabora in base alle finalità dell’applicazione

45

Page 65: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

4.1. Introduzione

ed emette una coppia 〈chiave, valore〉 finale, la quale viene scritta in un

file di output.

Si ha che una libreria MapReduce si occupa di:

• dividere i file di input in blocchi;

• distribuire i blocchi tra le macchine;

• richiamare uno o più mapper per ogni blocco;

• raggruppare tutti i valori, emessi dai mapper, che hanno la stessa chiave;

• richiamare un reducer per ogni chiave.

4.1.1 Funzionamento

Si vuole spiegare il funzionamento di un programma scritto nel paradigma di

programmazione MapReduce.

Figura 4.1: Panoramica dell’esecuzione di un programma MapReduce. Immaginetratta da (Dean & Ghemawat, 2004, p. 3)

Il programma dell’utente chiama la funzione MapReduce, a questo punto

vengono eseguite le seguenti azioni (i numeri corrispondono alle etichette della

Figura 4.1):

Laurea Magistrale in Informatica 46

Page 66: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

4.1. Introduzione

1. Il file di input viene diviso in M blocchi. L’utente può impostarne la

dimensione.

2. Il master, una macchina speciale del cluster, si occupa di assegnare il

compito di mapper o reducer alle macchine che sono in quel momento

libere. Deve assegnare M compiti mapper e R compiti reducer.

3. Una macchina mapper legge il contenuto del blocco a lei assegnato, ne

estrae tutte le coppie 〈chiave, valore〉 e le passa alla funzione map. Le

coppie 〈chiave, valore〉 intermedie emesse dalla funzione map vengono

poi memorizzate nel buffer.

4. Periodicamente, le coppie presenti nel buffer vengono scritte su disco,

partizionate in R blocchi. Il master riceve la locazione di questi blocchi

e si occupa di inoltrare queste locazioni alle macchine reducer.

5. Una macchina reducer si occupa di leggere il blocco con le coppie 〈chiave, valore〉intermedie e di unire tutti i valori che condividono la stessa chiave.

6. Quando tutti i mapper hanno terminato l’esecuzione e tutti i blocchi

intermedi elaborati, la macchina reducer passa, per ogni chiave univoca,

la lista di valori associati alla funzione reduce. Il risultato della funzione

reduce viene infine appeso ad un file di output finale.

Al termine dell’esecuzione, si ha che l’output è diviso in R file, uno per

ogni reducer, ed è possibile unire i file in un unico file, oppure fornire questi

file come ad un altro programma MapReduce.

Esiste la possibilità di utilizzare una terza funzione, chiamata combiner,

che viene eseguita da ogni macchina mapper, e si occupa di eseguire un’aggre-

gazione parziale sulle coppie 〈chiave, valore〉 intermedie emesse dalla funzione

map prima di essere salvate e distribuite.

4.1.2 Esempio Word-Count

Si vuole fornire un esempio classico di problema risolvibile facendo uso dell’ap-

proccio MapReduce. L’esempio che si intende analizzare è il Word-Count.

Esempio (Word-Count). Data una collezione di file testuali, si vuole contare

il numero di occorrenze di ogni parola presente nell’intera collezione di file di

testi. Si utilizza il seguente pseudo codice per risolvere il problema in analisi.

Laurea Magistrale in Informatica 47

Page 67: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

4.2. Apache Hadoop

Algoritmo 5 Word-Count in MapReducekey: stringa che rappresenta il nome del filevalue: contenuto del file

1: function map(key, value)2: for all word w in value do3: emit(w, 1)4: end for5: end function

key: stringa che rappresenta la parolavalue: iterator che contiene la lista dei conteggi

6: function reduce(key, values)7: sum← 08: for all v in value do9: sum← sum+ v

10: end for11: emit(key, sum)12: end function

La funzione MAP emette, per ogni parola, una coppia 〈chiave, valore〉 in cui

la chiave è la parola e il valore è il numero di occorrenze, ovvero 1. La funzione

REDUCE somma tutti i conteggi emessi per una particolare parola.

4.2 Apache Hadoop

Apache Hadoop è un’implementazione open source scritta in Java del para-

digma di programmazione MapReduce che include anche il file system distri-

buito associato: Hadoop Distributed File System (HDFS), anche se è possibile

utilizzare qualsiasi altro file system distribuito1.

Hadoop è stato creato da Doug Cutting e Mike Cafarella nel 2005. Ini-

zialmente sviluppato come sistema di supporto ad Apache Nutch2, si è poi

separato da esso per formare un progetto indipendente chiamato Hadoop, sup-

portato da Yahoo! che ha messo a disposizione un team dedicato e le risorse

necessarie (un cluster di 200 nodi nel 2006, fino a raggiungere 17 cluster e un

totale di 24000 nodi nel 2009).

Tra i tanti utilizzatori di Hadoop figurano:1Ad esempio: Amazon S3 e MapR2Apache Nutch è un progetto finalizzato alla creazione di un motore di ricerca open source

basato sulla piattaforma Lucene

Laurea Magistrale in Informatica 48

Page 68: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

4.2. Apache Hadoop

• Facebook: 1100 nodi, 8800 processori e 12 PB di storage.

• eBay: 532 nodi, 4300 processori e 5,3 PB di storage.

• Spotify: 690 nodi, 8300 processori, 38TB di memoria RAM, e 28PB di

storage.

I dati sono tratti da http://wiki.apache.org/hadoop/PoweredBy.

In Hadoop si ha che una macchina è designata come master, mentre le altre

macchine vengono definite slave. Il master può essere contemporaneamente

anche slave, ma in un cluster di più macchine questa soluzione è sconsigliabile

per evitare di sovraccaricare di lavoro il nodo master.

HDFS utilizza 2 daemon3 per gestire i dati:

• NameNode: in esecuzione sulla macchina master e si occupa di gestire

lo spazio dei nomi del file system, l’accesso ai dati, e le operazioni di

apertura, chiusura, rinomina dei file e delle cartelle.

• DataNode: in esecuzione su ogni macchina slave e si occupa di gestire

i file che risiedono sulla macchina su cui è eseguito. Si occupa anche

di servire richieste di lettura e scrittura dei file e di creare ed eliminare

blocchi su richiesta del NameNode.

Il servizio MapReduce di Hadoop si serve a sua volta di 2 daemon:

• JobTracker: in esecuzione sulla macchina master, si occupa di delegare

le operazioni di map e reduce ai vari slave, cercando, quando possibile, di

assegnare l’operazione alla macchina che ospita i dati di cui l’operazione

necessita.

• TaskTracker: in esecuzione su ogni macchina slave, accetta le operazioni

che le vengono assegnate dal JobTracker e crea un processo separato

per eseguirle. Ogni TaskTracker è configurato con una serie di slot, che

rappresentano il numero di operazioni che può accettare.3Un daemon è un processo eseguito in background senza essere sotto il controllo diretto

dell’utente.

Laurea Magistrale in Informatica 49

Page 69: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

4.3. Apprendimento NHCTBN in MapReduce

4.3 Apprendimento NHCTBN in MapReduce

In questa sezione si presenta l’algoritmo di apprendimento di una NHCTBN

(struttura e parametri) mediante l’utilizzo del paradigma di programmazione

MapReduce.

L’algoritmo implementato per l’apprendimento strutturale e parametrico

si basa sulle seguenti idee:

• Si istanzia un job MapReduce per ogni k con 0 ≤ k ≤ K, con K il

numero massimo di genitori per ogni nodo.

• La funzione map si occupa di calcolare per ogni nodo Xi le possibili

combinazioni di k genitori. Successivamente calcola, per ogni nodo, per

ogni possibile combinazione di genitori, e per ogni epoca e le transizioni di

stato e il tempo che rimane in ogni stato (ovvero le statistiche sufficienti).

• Si utilizza la seguente coppia 〈chiave, valore〉:

– La chiave è una tripla (Xi, U, e).

– Il valore è un array associativo nella forma < (u, (xi, xj), e), v >,

dove u rappresenta lo stato dei genitori ed e rappresenta l’epoca; v

rappresenta M [xi, xj | u] se xi 6= xj , in caso contrario rappresenta

T [xi | u].

• La funzione reduce riceve tutte le statistiche sufficienti di un particolare

nodo Xi, di un particolare set di genitori U e di una particolare epoca e,

le aggrega e le utilizza per calcolare lo score e la CIM.

Di seguito si riporta la funzione map in cui si può notare che:

• Righe 2-4: Si itera su tutte le traiettorie, su tutte le epoche e su tutti i

nodi;

• Righe 5-6: Si itera su tutti i parentSet del singolo nodo;

• Righe 7-12: Si generano tutte le coppie chiavi, che non sono altro che le

possibili combinazioni di genitori;

• Righe 13-17: Si effettuano i conteggi per ognuna delle chiavi;

• Riga 22: Si emette la coppia chiave valore.

Laurea Magistrale in Informatica 50

Page 70: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

4.3. Apprendimento NHCTBN in MapReduce

Algoritmo 6 Apprendimento NHCTBN MapReduce: Funzione MapRequire: Massimo numero di genitori K, insieme di traiettorie completamen-

te osservate (X1,X2, . . . ,XJ), numero di epoche EEnsure: Insieme di coppie 〈key, value〉1: function NHCTBNmap(k, (X1,X2, . . . ,XJ))2: for j ← 1 to J do3: for e← 1 to E do4: for i← 1 to N do5: parentSet← enumerateParent(Xi, k)6: for all U in parentSet do7: key ← Text(〈Xn, U, e〉)8: value← new AssociativeArray()9: keyPar ← “ ”

10: for all Xw in U do11: keyPar ← keyPar + xj−1

w + “, ”12: end for13: v ← 〈(keyPar, (xj−1

n , xj−1n ), e), tj − tj−1〉

14: value← merge(value, v)15: if xjn 6= xj−1

n then16: v ← 〈(keyPar, (xj−1

n , xjn), e), 1〉17: value← merge(value, v)18: end if19: end for20: end for21: end for22: emit(〈key, value〉)23: end for24: end function

Laurea Magistrale in Informatica 51

Page 71: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

4.3. Apprendimento NHCTBN in MapReduce

Di seguito si riporta la funzione reduce in cui si può notare che:

• Righe 2-5: Si itera su tutte le coppie chiave-valore;

• Righe 6-7: Si calcola la statistica sufficiente sul tempo di permanenza;

• Righe 8-10: Si calcola la statistica sufficiente sul cambio di tasto;

• Righe16-17: si itera su ogni configurazione di genitori;

• Righe 18-21: Se xi = xj si calcola la componente dello score margLq;

• Righe 22-25: Se xi è diversa da xj si calcola la componente dello score

margLo;

• Riga 26: si aggiorna il valore delle CIM;

• Riga 29: Si calcola il valore finale dello score;

• Riga 30: Si emette la terna chiave-score-CIM.

Laurea Magistrale in Informatica 52

Page 72: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

4.3. Apprendimento NHCTBN in MapReduce

Algoritmo 7 Apprendimento NHCTBN MapReduce: Funzione ReduceRequire: Insieme di coppie 〈key, value〉, valori degli iperparametri alphaxx

e tauEnsure: Insieme di coppie 〈key, (score,CIM)〉1: function NHCTBNreduce(〈key, value〉, alphaxx, tau)2: (Xi, U, e)← key3: alpha← alphaxx ∗ (Card(Xi))4: for all v in value do5: (u, (xi, xj), e)← getKey(v)6: if xi = xj then7: T [xi | u]e ← T [xi | u]e+ getValue(v)8: else9: M [xi, xj | u]e ←M [xi, xj | u]e+ getValue(v)

10: M [xi | u]e ←M [xi | u]e+ getValue(v)11: end if12: end for13: CIM ← new AssociativeArray()14: margLo← 015: margLq ← 016: for all u do17: for all (xi, xj) do18: if xi = xj then19: q(xi|ue) = alpha+M [xi | u]e

tau+T [xi | u]e

20: margLq ← ln Γ(alpha+M [xi|u]e+1)+(alpha+1) ln(tau)−ln Γ(alpha+ 1)− (alpha+M [xi|u]e + 1) ln(tau+ T [xi|u]e)

21: margLo← ln Γ(alpha)− ln Γ(alpha+M [xi|u]e)22: else23: θ(xi, xj |ue) =

alphaxx+M [xi,xj | u]ealpha+M [xi | u]e

24: margLo← ln Γ(alphaxx+M [xi, xj |u]e)− ln Γ(alphaxx)25: end if26: CIM ← update(CIM, q(xi|ue), θ(xi, xj |ue))27: end for28: end for29: score← margLo+margLq30: emit(〈key, (score, CIM)〉)31: end function

Laurea Magistrale in Informatica 53

Page 73: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Capitolo 5

Esperimenti

5.1 Dataset sintetici

In questa prima sezione si descrivono gli esperimenti, in tutti e tre i casi, su

13 Dataset sintetici.

Nel caso A si mostra il paragone tra l’apprendimento di modelli omogenei

e modelli non omogenei. Per valutare la qualità dei risultati è stata riportata

la rappresentazione grafica del modello appreso.

Nel caso B e nel caso caso C, si mostra l’apprendimento della struttura

con varie tipologie di parametri di input. Per valutare la qualità dei risultati

sono state riportare le seguenti informazioni:

• Epoche: numero di epoche ritrovate e numero di epoche reali;

• Recall: percentuale di archi reali ritrovati;

• Precision: rapporto tra archi reali ritrovati e totale di archi ritrovati;

• Dist. Tempi: distanza totale tra i tempi di transizione ritrovati e quelli

reali;

• %Dist. Tempi: La stessa misura di sopra ma in percentuale.

Le informazioni inerenti ai Dataset sono mostrate direttamente nel caso A,

in quanto l’apprendimento dei modelli omogenei ritorna la struttura corretta.

54

Page 74: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.1. Dataset sintetici

5.1.1 Descrizione esperimenti caso A: Confronto modelli omo-genei e modelli non omogenei

Il caso A consiste nell’essere a conoscenza sia del numero di epoche, sia di

dove esse siano. Nei test svolti in questo caso si vuole mostrare la differenza

tra apprendere i modelli omogenei, ovvero le CTBN, e apprendere modelli non

omogenei, ovvero le NHCTBN.

Sia per apprendere i modelli omogenei, che quelli non omogenei, si è utiliz-

zato lo score BDeu, pesato sull’ampiezza della singola epoca. Per la costruzio-

ne dei modelli omogenei, inoltre, si è settata una sola, grande, epoca. Questa

epoca, infatti, conterrà tutte le osservazioni del Dataset.

Come parametri si è fissato α = 1 e τ = 10 sia per i modelli omogenei

che non omogenei. Nel caso dei modelli non omogenei, la struttura ottenuta,

è quella esatta.

5.1.2 Descrizione esperimenti caso B

Il caso B consiste nell’essere a conoscenza del numero di epoche ma non di dove

inizino e terminino. Per valutare al meglio questo caso si è scelto di utilizzare

diverse configurazioni per i parametri in ingresso, rappresentate nella tabella

sottostante:

Parametro Valori Assunti Descrizioneλc {1,2,6,8,10} Parametro sul numero di cambio di archi tra epocheαxx′ {1} Iperparametro dello score inerente ai cambi di statoτ {0.1,10} Iperparametro dello score inerente ai tempi di permanenza

Tipo score {BDe, BDeu} Tipologia di score utilizzatoPesatura score {Amp., #Occ} Modalità di pesatura degli iperparametri

Tabella 5.1: Configurazioni di parametri per esperimenti caso B

5.1.3 Descrizione esperimenti caso C

Il caso C consiste nel non avere nessuna informazione riguardo alla posizione ed

il numero di epoche. Per valutare al meglio questo caso si è scelto di utilizzare

diverse configurazioni per i parametri in ingresso, rappresentate nella tabella

sottostante:

Laurea Magistrale in Informatica 55

Page 75: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.1. Dataset sintetici

Parametro Valori Assunti Descrizioneλc {1,2,6,8,10} Parametro sul numero di cambio di archi tra epocheλe {1,5,10,15,25} Parametro sul numero di epoche considerateαxx′ {1} Iperparametro dello score inerente ai cambi di statoτ {0.1,10} Iperparametro dello score inerente ai tempi di permanenza

Tipo score {BDe, BDeu} Tipologia di score utilizzato

Tabella 5.2: Configurazioni di parametri per esperimenti caso C

5.1.4 Analisi dei risultati

I test del caso A mostrano come i modelli non omogenei ritornano strutture

più accurate rispetto i modelli omogenei.

A titolo esemplificativo si considera il modello omogeneo ottenuto sul Data-

set1, visibile in Figura A.1. Si nota che questo modello riporta come genitore

del nodo X, il nodo 1, per tutto l’intervallo di tempo tempo [0.0, 10.0]. Se

invece si considera il modello non omogeneo, visibile in Figura A.2, si nota che

il nodo 1 è genitore di X solo fino al tempo 5.91, successivamente la struttura

cambia per due volte.

Il medesimo comportamento si è riscontrato anche sugli altri Dataset sinte-

tici, mettendo in evidenza l’importanza di imparare modelli non omogenei, che

permettono alla struttura di evolvere nel tempo, anziché ritornare un singolo

modello medio.

Nei test del caso B un primo risultato importante si ha sul valore di preci-

sion che è sempre al 100%. Questo significa che gli archi che vengono ritrovati

sono tutti veri positivi.

Per quanto riguarda la recall si è ottenuto il 100%, per tutte le configura-

zioni di parametri, nei Dataset6, Dataset7, Dataset8, Dataset9, Dataset10 e

Dataset13. Per la maggior parte delle configurazioni di parametri si è ottenuto

il 100% sui Dataset2, Dataset3, Dataset4, Dataset5 e Dataset12. Infine sui

Dataset1 e Dataset11 non si è mai ottenuto il 100% di recall.

Si fa notare che valori di precision e recall entrambi al 100% significano

ritrovare la struttura corretta, e questo risultato si è ottenuto nella maggior

parte dei test.

Per quanto riguarda la distanza dei tempi di transizione ottenuti, rispet-

to quelli reali, l’errore in percentuale è molto basso, infatti non si raggiunge

nemmeno il 3%.

Laurea Magistrale in Informatica 56

Page 76: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.1. Dataset sintetici

Ci sono dei casi in cui non si mostrano i valori di precision e recall e si

mostra il valore N/A, questi sono i casi in cui non viene ritrovato il numero

corretto di epoche. E’ infatti possibile trovare un numero minore di epoche

anche nel caso B in quanto epoche contigue con il medesimo ParentSet vengono

unite assieme.

L’utilizzo di score Bayesian Dirichlet Equivalent (BDe) e l’utilizzo di score

Bayesian Dirichlet Equivalent Uniform (BDeu) hanno dato risultati qualitati-

vamente molto simili.

Nei test del caso C si è ottenuto, per tutte le configurazioni di valori, un

valore del 100% di precision, meno quelle in cui non è stato trovato il numero

corretto di epoche (per le quali si è riportato un valore di tipo N/A).

Per quanto riguarda la recall si è ottenuto un valore del 100% per tutte le

configurazioni di parametri solo nei Dataset8 e Dataset13. Per la maggior parte

delle configurazioni di parametri si è ottenuto recall del 100% sui Dataset3,

Dataset4, Dataset5, Dataset6, Dataset7, Dataset9, Dataset10 e Dataset12.

Solo per alcune configurazioni di parametri si è riuscito ad ottenere una recall

del 100% sui Dataset1 e Dataset2, mentre non si è mai ottenuta una recall dell

100% sul Dataset11.

Si fa ancora notare che i valori di recall e precision vengono calcolati solo

quando il numero di epoche ritrovate è esatto, questo significa che avere un

recall al 100% significa ritrovare anche il numero esatto di epoche.

Rispetto al caso B è possibile notare che il comportamento è molto me-

no stabile al variare dei parametri di ingresso, questo è dovuto alla maggior

complessità data dal trovare il numero corretto di epoche. Tuttavia per alcune

configurazioni di parametri si è riuscito ad ottenere una recall del 100% sul

Dataset1, mentre nel caso B questo non è accaduto per nessuna configurazione

di parametri.

Per quanto riguarda la distanza dei tempi di transizione si può notare anche

qui un errore molto basso, sebbene leggermente superiore a quello ottenuto nel

caso B.

Nei test invece si nota come l’utilizzo dello score BDe in alcuni casi ritorna

risultati migliori rispetto lo score BDeu. Ad esempio si prendano in considera-

zione i risultati del Dataset4, presenti nelle tabelle Tabella C.13, Tabella C.14,

Tabella C.15 e Tabella C.16. Si può notare che l’utilizzo dello score BDeu gene-

ra dei valori di tipo N/A, cosa che invece non accade con l’utilizzo dello score

Laurea Magistrale in Informatica 57

Page 77: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

BDe.

In appendice sono riportati i risultati di tutti i test eseguiti.

5.1.5 Analisi dei tempi di esecuzione MapReduce

Nel seguito si analizzano i tempi di esecuzione dell’implementazione MapRe-

duce. Si testano sia il caso B che il caso C al variare del numero dei nodi del

cluster su cui si eseguono i test.

Il Dataset utilizzato per questi test è il più pesante tra i Dataset sintetici,

ovvero il Dataset9.

Nella tabella in seguito si riportano, oltre ai tempi di esecuzione, anche lo

speedup rispetto al cluster con un solo nodo. Lo speedup è stato calcolato nel

seguente modo:

Sp =T1

Tp

Dove p è il numero di nodi, T1 è il tempo di esecuzione sul cluster da 1 nodo

e Tp è il tempo di esecuzione sul cluster con p nodi.

Nodi Cluster Caso Secondi SpeedUp1 b 75794 N/A1 c 80509 N/A2 b 62928 1.202 c 63237 1.273 b 54587 1.393 c 55005 1.464 b 55271 1.374 c 55264 1.465 b 54997 1.385 c 55135 1.46

Tabella 5.3: Tempi di esecuzione implementazione MapReduce su Dataset9

I risultati di questi test mostrano che aumentando fino a 3 nodi i tempi di

esecuzione vanno via via migliorando. L’aumento invece a 4 e a 5 nodi, invece,

riporta dei tempi di esecuzione simili all’utilizzo di soli 3 nodi.

5.2 Dataset SongBird

Ulteriori esperimenti sono stati condotti sul dataset SongBird, che rappresenta

il flusso di informazioni passanti nel cervello dei SongBird.

Laurea Magistrale in Informatica 58

Page 78: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Il dataset integrale consiste di:

• 6 uccelli femmina zebra finches;

• 8 microelettrodi, per ogni uccello, per un totale di 48;

• misurazioni effettuate a diverse amplificazioni di stimoli sonori (4 diffe-

renti stimoli), in diversi istanti temporali;

• le rmisurazioni sono state fatte con una granularità di 5ms;

• gli esperimenti sono stati eseguiti su 4 diversi giorni andando a formare

16 diversi Network (4 stimoli sonori per 4 diversi giorni).

Al fine del nostro esperimento sono stati valutati solo due diversi Network:

• Network1: Uccello Red648, giorno 1, con stimolo sonoro bl280song;

• Network2: Uccello Red648, giorno 1, con stimolo sonoro whitenoise;

In entrambi i casi i si è eseguita una discretizzazione a 4 stati.

5.2.1 Descrizione degli esperimenti

Lo scopo di questi esperimenti è valutare il comportamento delle NHCTBN su

dataset reale, in modo da poter effettuare delle comparazioni con i risultati

presenti in letteratura.

I test sono stati eseguiti sul caso B e sul caso C con le seguenti configu-

razioni di parametri:

Parametro Valori Assunti Descrizioneλc {5} Parametro sul numero di cambio di archi tra epocheλe {25} Parametro sul numero di epoche considerateαxx′ {0.1, 1} Iperparametro dello score inerente ai cambi di statoτ {120, 135} Iperparametro dello score inerente ai tempi di permanenza

Tipo score {BDeu} Tipologia di score utilizzatoPesatura score {#Occ} Modalità di pesatura degli iperparametri

Tabella 5.4: Configurazioni di parametri per esperimenti caso B e C su datasetSongBird

Nelle seguenti sottosezioni si riportano solo i risultati che hanno dato esito

migliore.

Laurea Magistrale in Informatica 59

Page 79: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

5.2.2 Risultati Netork1 - Caso B

Di seguito si riportano i risultati riguardante il Network1 del dataset SongBird

nel caso B:

Figura 5.1: SongBird Network1- Caso B - τ = 120 - α = 0.1

Figura 5.2: SongBird Network1- Caso B - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 60

Page 80: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.3: SongBird Network1- Caso B - τ = 120 - α = 0.1

Figura 5.4: SongBird Network1- Caso B - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 61

Page 81: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.5: SongBird Network1- Caso B - τ = 120 - α = 0.1

Figura 5.6: SongBird Network1- Caso B - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 62

Page 82: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.7: SongBird Network1- Caso B - τ = 120 - α = 0.1

Figura 5.8: SongBird Network1- Caso B - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 63

Page 83: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

5.2.3 Risultati Netork1 - Caso C

Di seguito si riportano i risultati riguardante il Network1 del dataset SongBird

nel caso C:

Figura 5.9: SongBird Network1- Caso C - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 64

Page 84: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.10: SongBird Network1- Caso C - τ = 120 - α = 0.1

Figura 5.11: SongBird Network1- Caso C - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 65

Page 85: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.12: SongBird Network1- Caso C - τ = 120 - α = 0.1

Figura 5.13: SongBird Network1- Caso C - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 66

Page 86: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.14: SongBird Network1- Caso C - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 67

Page 87: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.15: SongBird Network1- Caso C - τ = 120 - α = 0.1

Figura 5.16: SongBird Network1- Caso C - τ = 120 - α = 0.1

Laurea Magistrale in Informatica 68

Page 88: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

5.2.4 Risultati Netork2 - Caso B

Di seguito si riportano i risultati riguardante il Network2 del dataset SongBird

nel caso B:

Figura 5.17: SongBird Network2- Caso B - τ = 135 - α = 0.1

Laurea Magistrale in Informatica 69

Page 89: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.18: SongBird Network2- Caso B - τ = 135 - α = 0.1

Figura 5.19: SongBird Network2- Caso B - τ = 135 - α = 0.1

Laurea Magistrale in Informatica 70

Page 90: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.20: SongBird Network2- Caso B - τ = 135 - α = 0.1

Figura 5.21: SongBird Network2- Caso B - τ = 135 - α = 0.1

Laurea Magistrale in Informatica 71

Page 91: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.22: SongBird Network2- Caso B - τ = 135 - α = 0.1

Figura 5.23: SongBird Network2- Caso B - τ = 135 - α = 0.1

Laurea Magistrale in Informatica 72

Page 92: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.24: SongBird Network2- Caso B - τ = 135 - α = 0.1

5.2.5 Risultati Netork2 - Caso C

Di seguito si riportano i risultati riguardante il Network2 del dataset SongBird

nel caso C:

Laurea Magistrale in Informatica 73

Page 93: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.25: SongBird Network2- Caso C - τ = 135 - α = 0.1

Figura 5.26: SongBird Network2- Caso C - τ = 135 - α = 0.1

Laurea Magistrale in Informatica 74

Page 94: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.27: SongBird Network2- Caso C - τ = 135 - α = 0.1

Figura 5.28: SongBird Network2- Caso C - τ = 135 - α = 0.1

Laurea Magistrale in Informatica 75

Page 95: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.29: SongBird Network2- Caso C - τ = 135 - α = 0.1

Figura 5.30: SongBird Network2- Caso C - τ = 135 - α = 0.1

Laurea Magistrale in Informatica 76

Page 96: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

Figura 5.31: SongBird Network2- Caso C - τ = 135 - α = 0.1

Figura 5.32: SongBird Network2- Caso C - τ = 135 - α = 0.1

Laurea Magistrale in Informatica 77

Page 97: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

5.2. Dataset SongBird

5.2.6 Analisi dei risultati

Di seguito si comparano i risultati ottenuti sul dataset SongBird, con i risultati

riportati da Robinson e Hartemink (Robinson & Hartemink, 2010). Secondo

quanto riportato nell’articolo di Robinson e Hartemink, il numero di epoche

più probabili è pari a 4 sul Network1, ovvero il dataset riguardante lo stimolo

bl280song, mentre è pari a 3 sul Network2, ovvero il dataset riguardante lo

stimolo whitenoise.

I risultati ottenuti dai test mostrano che, per molti nodi, il numero di

epoche ritrovato è differente da quello ottenuto da Robinson e Hartemink.

Questa differenza può essere in parte attribuibile alla modalità di ricostruzione

della rete: nel caso delle NHCTBN la scoperta delle epoche viene effettuata

singolarmente nodo per nodo, nelle NHDBN, invece, la scoperta delle epoche

viene eseguita apprendendo l’intera rete.

Laurea Magistrale in Informatica 78

Page 98: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Capitolo 6

Conclusioni

In questo lavoro di tesi si parte dall’analisi di alcuni modelli già presenti in

letteratura, come si vede nel Capitolo 2. Questi modelli sono in grado di

rappresentare sistemi dinamici, tuttavia sono accomunati dalla problematica di

rappresentare il tempo in maniera discreta. Questo implica che tutte le variabili

rappresentate dai modelli sono costrette ad evolvere con velocità simili.

Al fine di superare tale restrizione si presenta il modello delle NHCTBN, che

permettono, infatti, la trattazione del tempo in maniera continua.

In questa tesi si è raggiunto l’obbiettivo di progettare, realizzare e validare

un framework che permette l’apprendimento delle NHCTBN, rendendo quindi

possibile l’utilizzo di questo nuovo modello in ambito applicativo.

L’implementazione dell’algoritmo è stata eseguita utilizzando il framework

Apache Hadoop MapReduce, che permette di analizzare grandi moli di dati,

sfruttando un approccio di computazione parallela su più server.

Gli esperimenti eseguiti hanno mostrato che la ricostruzione della struttura

corretta avviene nella maggior parte dei casi, hanno inoltre messo in evidenza

la potenzialità di apprendere strutture non omogenee rispetto alle strutture

omogenee delle CTBN.

Gli esperimenti mostrano anche che, grazie all’utilizzo del framework Ha-

doop, è stato possibile distribuire la computazione su più macchine, e che

passando da 1 a 5 macchine si è raggiunto un incremento di velocità di com-

putazione di circa il 50%.

Alcune proposte di sviluppi futuri sono:

• Studio di funzioni di score che permettano di ricostruire sempre la strut-

79

Page 99: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

tura corretta;

• Studio di nuove modalità di apprendimento della struttura, come ad

esempio l’apprendimento online, al fine di apprendere la struttura man

mano che i dati vengono prodotti;

• Studio di nuove modalità di esplorazione dello spazio di ricerca delle

strutture, ad esempio adattando il lavoro di Campos alle NHCTBN (Cassio

P. de Campos, 2011).

Laurea Magistrale in Informatica 80

Page 100: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Appendici

81

Page 101: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Appendice A

Dettaglio esperimenti caso A

82

Page 102: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

A.1 Confronto modelli omogenei e modelli non omo-

genei

Epoca1conf.Xi: 3conf.PA: 2

[0.0,10.0]

X

1

Figura A.1: Modello omogeneo - Dataset1 - 50 traiettorie - 4495 osservazioni

Epoca3conf.Xi: 3conf.PA: 3

#Oss.Dataset: 727

Epoca2conf.Xi: 3conf.PA: 0

#Oss.Dataset: 1219

Epoca1conf.Xi: 3conf.PA: 2

#Oss.Dataset: 2549

[0.0,5.91] [5.91,8.41] [8.41,10.0]

X

1 X

X

2

Figura A.2: Modello non omogeneo - Dataset1 - 50 traiettorie - 4495 osservazioni

Laurea Magistrale in Informatica 83

Page 103: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 4

[0.0,20.0]

X

12

Figura A.3: Modello omogeneo - Dataset2 - 50 traiettorie - 9882 osservazioni

Epoca3conf.Xi: 3conf.PA: 0

#Oss.Dataset: 2481

Epoca2conf.Xi: 3conf.PA: 4

#Oss.Dataset: 6677

Epoca1conf.Xi: 3conf.PA: 2

#Oss.Dataset: 724

[0.0,1.42] [1.42,14.85] [14.85,20.0]

X

1

X

12 X

Figura A.4: Modello non omogeneo - Dataset2 - 50 traiettorie - 9882 osservazioni

Laurea Magistrale in Informatica 84

Page 104: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 2

[0.0,20.0]

X

1

Figura A.5: Modello omogeneo - Dataset3 - 100 traiettorie - 12452 osservazioni

Epoca2conf.Xi: 3conf.PA: 0

#Oss.Dataset: 2537

Epoca1conf.Xi: 3conf.PA: 2

#Oss.Dataset: 2394

Epoca3conf.Xi: 3conf.PA: 2

#Oss.Dataset: 3660

Epoca4conf.Xi: 3conf.PA: 6

#Oss.Dataset: 3861

[0.0,3.68] [3.68,7.8] [7.8,13.71] [13.71,20.0]

X

1 X

X

1

X

12

Figura A.6: Modello non omogeneo - Dataset3 - 100 traiettorie - 12452 osservazioni

Laurea Magistrale in Informatica 85

Page 105: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 2

[0.0,20.0]

X

1

Figura A.7: Modello omogeneo - Dataset4 - 100 traiettorie - 12601 osservazioni

Epoca3conf.Xi: 3conf.PA: 2

#Oss.Dataset: 3763

Epoca2conf.Xi: 3conf.PA: 0

#Oss.Dataset: 2533

Epoca4conf.Xi: 3conf.PA: 6

#Oss.Dataset: 3831

Epoca1conf.Xi: 3conf.PA: 2

#Oss.Dataset: 2474

[0.0,3.68] [3.68,7.8] [7.8,13.71] [13.71,20.0]

X

1 X

X

1

X

12

Figura A.8: Modello non omogeneo - Dataset4 - 100 traiettorie - 12601 osservazioni

Laurea Magistrale in Informatica 86

Page 106: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 2

[0.0,20.0]

X

1

Figura A.9: Modello omogeneo - Dataset5 - 40 traiettorie - 4519 osservazioni

Epoca2conf.Xi: 3conf.PA: 0

#Oss.Dataset: 1265

Epoca1conf.Xi: 3conf.PA: 2

#Oss.Dataset: 2551

Epoca3conf.Xi: 3conf.PA: 3

#Oss.Dataset: 703

[0.0,11.83] [11.83,16.82] [16.82,20.0]

X

1 X

X

2

Figura A.10: Modello non omogeneo - Dataset5 - 40 traiettorie - 4519 osservazioni

Laurea Magistrale in Informatica 87

Page 107: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 4

conf.PA: 16

[0.0,20.0]

X

1234

Figura A.11: Modello omogeneo - Dataset6 - 150 traiettorie - 40246 osservazioni

Epoca2conf.Xi: 4conf.PA: 2

#Oss.Dataset: 5578

Epoca1conf.Xi: 4

conf.PA: 16#Oss.Dataset: 34668

[0.0,17.14] [17.14,20.0]

X

1234

X

1

Figura A.12: Modello non omogeneo - Dataset6 - 150 traiettorie - 40246 osservazioni

Laurea Magistrale in Informatica 88

Page 108: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 8

[0.0,60.0]

X

123

Figura A.13: Modello omogeneo - Dataset7 - 180 traiettorie - 110415 osservazioni

Epoca1conf.Xi: 3conf.PA: 8

#Oss.Dataset: 22464

Epoca6conf.Xi: 3conf.PA: 2

#Oss.Dataset: 13281

Epoca4conf.Xi: 3conf.PA: 2

#Oss.Dataset: 13971

Epoca2conf.Xi: 3conf.PA: 2

#Oss.Dataset: 12944

Epoca5conf.Xi: 3conf.PA: 8

#Oss.Dataset: 23122

Epoca3conf.Xi: 3conf.PA: 8

#Oss.Dataset: 24633

[0.0,12.73] [12.73,20.0] [20.0,32.73] [32.73,40.0] [40.0,52.73] [52.73,60.0]

X

123

X

2

X

123

X

2

X

123

X

2

Figura A.14: Modello non omogeneo - Dataset7 - 180 traiettorie - 110415osservazioni

Laurea Magistrale in Informatica 89

Page 109: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 5conf.PA: 2

[0.0,30.0]

X

2

Figura A.15: Modello omogeneo - Dataset8 - 100 traiettorie - 22827 osservazioni

Epoca3conf.Xi: 5conf.PA: 2

#Oss.Dataset: 8742

Epoca1conf.Xi: 5conf.PA: 4

#Oss.Dataset: 10441

Epoca2conf.Xi: 5conf.PA: 0

#Oss.Dataset: 3644

[0.0,13.85] [13.85,18.46] [18.46,30.0]

X

12 X

X

2

Figura A.16: Modello non omogeneo - Dataset8 - 100 traiettorie - 22827 osservazioni

Laurea Magistrale in Informatica 90

Page 110: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 2conf.PA: 4

[0.0,40.0]

X

12

Figura A.17: Modello omogeneo - Dataset9 - 600 traiettorie - 202186 osservazioni

Epoca1conf.Xi: 2conf.PA: 4

#Oss.Dataset: 91860

Epoca3conf.Xi: 2conf.PA: 2

#Oss.Dataset: 74155

Epoca2conf.Xi: 2conf.PA: 0

#Oss.Dataset: 36171

[0.0,18.18] [18.18,25.45] [25.45,40.0]

X

12 X

X

1

Figura A.18: Modello non omogeneo - Dataset9 - 600 traiettorie - 202186osservazioni

Laurea Magistrale in Informatica 91

Page 111: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 8

[0.0,100.0]

X

234

Figura A.19: Modello omogeneo - Dataset10 - 50 traiettorie - 62996 osservazioni

Epoca4conf.Xi: 3conf.PA: 4

#Oss.Dataset: 13840

Epoca2conf.Xi: 3conf.PA: 0

#Oss.Dataset: 8433

Epoca1conf.Xi: 3

conf.PA: 16#Oss.Dataset: 27448

Epoca3conf.Xi: 3conf.PA: 2

#Oss.Dataset: 13275

[0.0,42.86] [42.86,57.14] [57.14,78.57] [78.57,100.0]

X

1234 X

X

2

X

12

Figura A.20: Modello non omogeneo - Dataset10 - 50 traiettorie - 62996 osservazioni

Laurea Magistrale in Informatica 92

Page 112: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 2

[0.0,20.0]

X

2

Figura A.21: Modello omogeneo - Dataset11 - 50 traiettorie - 10396 osservazioni

Epoca3conf.Xi: 3conf.PA: 2

#Oss.Dataset: 2550

Epoca4conf.Xi: 3conf.PA: 2

#Oss.Dataset: 2588

Epoca2conf.Xi: 3conf.PA: 2

#Oss.Dataset: 2703

Epoca1conf.Xi: 3conf.PA: 0

#Oss.Dataset: 2555

[0.0,5.0] [5.0,10.0] [10.0,15.0] [15.0,20.0]

X

X

1

X

2

X

1

Figura A.22: Modello non omogeneo - Dataset11 - 50 traiettorie - 10396 osservazioni

Laurea Magistrale in Informatica 93

Page 113: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 4

[0.0,20.0]

X

12

Figura A.23: Modello omogeneo - Dataset12 - 200 traiettorie - 103110 osservazioni

Epoca2conf.Xi: 3conf.PA: 0

#Oss.Dataset: 12664

Epoca3conf.Xi: 3conf.PA: 2

#Oss.Dataset: 18799

Epoca1conf.Xi: 3conf.PA: 4

#Oss.Dataset: 25359

Epoca4conf.Xi: 3conf.PA: 8

#Oss.Dataset: 46288

[0.0,12.5] [12.5,18.75] [18.75,28.13] [28.13,50.0]

X

12 X

X

1

X

123

Figura A.24: Modello non omogeneo - Dataset12 - 200 traiettorie - 103110osservazioni

Laurea Magistrale in Informatica 94

Page 114: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

A.1. Confronto modelli omogenei e modelli non omogenei

Epoca1conf.Xi: 3conf.PA: 4

#Oss.Dataset: 10727

[0.0,20.0]

X

12

Figura A.25: Modello omogeneo - Dataset13 - 70 traiettorie - 10867 osservazioni

Epoca3conf.Xi: 3conf.PA: 4

#Oss.Dataset: 4176

Epoca1conf.Xi: 3conf.PA: 2

#Oss.Dataset: 3296

Epoca2conf.Xi: 3conf.PA: 2

#Oss.Dataset: 3395

[0.0,5.93] [5.93,11.85] [11.85,20.0]

X

1

X

2

X

12

Figura A.26: Modello non omogeneo - Dataset13 - 70 traiettorie - 10867 osservazioni

Laurea Magistrale in Informatica 95

Page 115: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Appendice B

Dettaglio esperimenti caso B

96

Page 116: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

B.1. Dataset1

B.1 Dataset1

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 2/3 N/A N/A N/A N/A2 0.0 3 2/3 N/A N/A N/A N/A3 0.0 6 2/3 N/A N/A N/A N/A4 0.0 8 2/3 N/A N/A N/A N/A5 0.0 10 2/3 N/A N/A N/A N/A

Tabella B.1: Dataset1 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 2/3 N/A N/A N/A N/A2 0.0 3 2/3 N/A N/A N/A N/A3 0.0 6 2/3 N/A N/A N/A N/A4 0.0 8 2/3 N/A N/A N/A N/A5 0.0 10 2/3 N/A N/A N/A N/A

Tabella B.2: Dataset1 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;

B.2 Dataset2

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 67.0% 100.0% 0.83 4.17%2 0.0 3 3/3 67.0% 100.0% 0.83 4.17%3 0.0 6 3/3 100.0% 100.0% 0.12 0.59%4 0.0 8 3/3 100.0% 100.0% 0.12 0.59%5 0.0 10 3/3 100.0% 100.0% 0.12 0.59%

Tabella B.3: Dataset2 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 67% 100.0% 0.83 4.17%2 0.0 3 3/3 67% 100.0% 0.86 4.3%3 0.0 6 3/3 67% 100.0% 0.86 4.3%4 0.0 8 3/3 100.0% 100.0% 0.12 0.59%5 0.0 10 3/3 100.0% 100.0% 0.12 0.59%

Tabella B.4: Dataset2 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;

Laurea Magistrale in Informatica 97

Page 117: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

B.3. Dataset3

B.3 Dataset3

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 100.0% 100.0% 0.0 0.0%2 0.0 3 4/4 100.0% 100.0% 0.0 0.0%3 0.0 6 4/4 100.0% 100.0% 0.02 0.1%4 0.0 8 4/4 100.0% 100.0% 0.0 0.0%5 0.0 10 2/4 N/A N/A N/A

Tabella B.5: Dataset3 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 100.0% 100.0% 0.07 0.37%2 0.0 3 4/4 100.0% 100.0% 0.0 0.01%3 0.0 6 4/4 100.0% 100.0% 0.0 0.0%4 0.0 8 4/4 100.0% 100.0% 0.02 0.08%5 0.0 10 4/4 100.0% 100.0% 0.0 0.0%

Tabella B.6: Dataset3 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;

B.4 Dataset4

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 100.0% 100.0% 0.0 0.0%2 0.0 3 4/4 100.0% 100.0% 0.0 0.01%3 0.0 6 4/4 100.0% 100.0% 0.0 0.0%4 0.0 8 4/4 100.0% 100.0% 0.07 0.37%5 0.0 10 2/4 N/A N/A N/A N/A

Tabella B.7: Dataset4 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 100.0% 100.0% 0.07 0.37%2 0.0 3 4/4 100.0% 100.0% 0.07 0.37%3 0.0 6 4/4 100.0% 100.0% 0.02 0.08%4 0.0 8 4/4 100.0% 100.0% 0.0 0.0%5 0.0 10 4/4 100.0% 100.0% 0.0 0.0%

Tabella B.8: Dataset4 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;

Laurea Magistrale in Informatica 98

Page 118: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

B.5. Dataset5

B.5 Dataset5

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 100.0% 100.0% 0.0 0.0%2 0.0 3 3/3 100.0% 100.0% 0.0 0.0%3 0.0 6 3/3 100.0% 100.0% 0.0 0.0%4 0.0 8 3/3 100.0% 100.0% 0.0 0.0%5 0.0 10 3/3 100.0% 100.0% 0.01 0.06%

Tabella B.9: Dataset5 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 100.0% 100.0% 0.0 0.0%2 0.0 3 3/3 100.0% 100.0% 0.0 0.0%3 0.0 6 3/3 100.0% 100.0% 0.0 0.0%4 0.0 8 3/3 100.0% 100.0% 0.0 0.0%5 0.0 10 2/3 N/A N/A N/A N/A

Tabella B.10: Dataset5 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

B.6 Dataset6

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 2/2 100.0% 100.0% 0.0 0.0%2 0.0 3 2/2 100.0% 100.0% 0.0 0.0%3 0.0 6 2/2 100.0% 100.0% 0.0 0.0%4 0.0 8 2/2 100.0% 100.0% 0.0 0.0%5 0.0 10 2/2 100.0% 100.0% 0.0 0.0%

Tabella B.11: Dataset6 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 2/2 100.0% 100.0% 0.0 0.0%2 0.0 3 2/2 100.0% 100.0% 0.0 0.0%3 0.0 6 2/2 100.0% 100.0% 0.0 0.0%4 0.0 8 2/2 100.0% 100.0% 0.0 0.0%5 0.0 10 2/2 100.0% 100.0% 0.0 0.0%

Tabella B.12: Dataset6 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

Laurea Magistrale in Informatica 99

Page 119: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

B.7. Dataset7

B.7 Dataset7

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 6/6 100.0% 100.0% 0.19 0.32%2 0.0 3 6/6 100.0% 100.0% 0.44 0.73%3 0.0 6 6/6 100.0% 100.0% 0.16 0.26%4 0.0 8 6/6 100.0% 100.0% 0.62 13%5 0.0 10 6/6 100.0% 100.0% 0.7 1.17%

Tabella B.13: Dataset7 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 6/6 100.0% 100.0% 0.45 0.75%2 0.0 3 6/6 100.0% 100.0% 0.48 0.8%3 0.0 6 6/6 100.0% 100.0% 0.2 0.33%4 0.0 8 6/6 100.0% 100.0% 0.41 0.68%5 0.0 10 6/6 100.0% 100.0% 0.77 1.29%

Tabella B.14: Dataset7 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

B.8 Dataset8

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 100.0% 100.0% 0.0 0.0%2 0.0 3 3/3 100.0% 100.0% 0.0 0.0%3 0.0 6 3/3 100.0% 100.0% 0.03 0.1%4 0.0 8 3/3 100.0% 100.0% 0.0 0.0%5 0.0 10 3/3 100.0% 100.0% 0.0 0.0%

Tabella B.15: Dataset8 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 100.0% 100.0% 0.0 0.0%2 0.0 3 3/3 100.0% 100.0% 0.11 0.36%3 0.0 6 3/3 100.0% 100.0% 0.0 0.0%4 0.0 8 3/3 100.0% 100.0% 0.0 0.0%5 0.0 10 3/3 100.0% 100.0% 0.0 0.0%

Tabella B.16: Dataset8 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

Laurea Magistrale in Informatica 100

Page 120: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

B.9. Dataset9

B.9 Dataset9

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 100.0% 100.0% 0.69 1.72%2 0.0 3 3/3 100.0% 100.0% 0.69 1.72%3 0.0 6 3/3 100.0% 100.0% 0.69 1.72%4 0.0 8 3/3 100.0% 100.0% 0.69 1.72%5 0.0 10 3/3 100.0% 100.0% 0.71 1.76%

Tabella B.17: Dataset9 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 100.0% 100.0% 0.69 1.72%2 0.0 3 3/3 100.0% 100.0% 0.69 1.72%3 0.0 6 3/3 100.0% 100.0% 0.69 1.72%4 0.0 8 3/3 100.0% 100.0% 0.71 1.78%5 0.0 10 3/3 100.0% 100.0% 0.69 1.72%

Tabella B.18: Dataset9 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

B.10 Dataset10

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 100.0% 100.0% 0.36 0.36%2 0.0 3 4/4 100.0% 100.0% 0.04 0.04%3 0.0 6 4/4 100.0% 100.0% 0.45 0.45%4 0.0 8 4/4 100.0% 100.0% 0.53 0.53%5 0.0 10 4/4 100.0% 100.0% 0.58 0.58%

Tabella B.19: Dataset10 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDeu; Pesatura =Ampiezza;

Laurea Magistrale in Informatica 101

Page 121: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

B.11. Dataset11

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 100.0% 100.0% 0.14 0.14%2 0.0 3 4/4 100.0% 100.0% 0.22 0.22%3 0.0 6 4/4 100.0% 100.0% 0.36 0.36%4 0.0 8 4/4 100.0% 100.0% 0.24 0.24%5 0.0 10 4/4 100.0% 100.0% 0.21 0.21%

Tabella B.20: Dataset10 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

B.11 Dataset11

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 67.0% 100.0% 0.22 1.11%2 0.0 3 4/4 67.0% 100.0% 0.22 1.11%3 0.0 6 4/4 67.0% 100.0% 0.46 2.29%4 0.0 8 4/4 67.0% 100.0% 0.22 1.11%5 0.0 10 3/4 N/A N/A N/A

Tabella B.21: Dataset11 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDeu; Pesatura =Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 67% 100.0% 0.22 1.11%2 0.0 3 4/4 67% 100.0% 0.22 1.11%3 0.0 6 4/4 67% 100.0% 0.14 0.69%4 0.0 8 3/4 N/A N/A N/A N/A5 0.0 10 3/4 N/A N/A N/A N/A

Tabella B.22: Dataset11 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

Laurea Magistrale in Informatica 102

Page 122: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

B.12. Dataset12

B.12 Dataset12

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 100.0% 100.0% 0.02 0.04%2 0.0 3 4/4 100.0% 100.0% 0.21 0.42%3 0.0 6 3/4 N/A N/A N/A N/A4 0.0 8 4/4 100.0% 100.0% 0.19 0.37%5 0.0 10 4/4 100.0% 100.0% 0.0 0.0%

Tabella B.23: Dataset12 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDeu; Pesatura =Ampiezza;

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 4/4 100.0% 100.0% 0.38 0.77%2 0.0 3 4/4 100.0% 100.0% 0.02 0.04%3 0.0 6 4/4 100.0% 100.0% 0.19 0.37%4 0.0 8 4/4 100.0% 100.0% 0.02 0.04%5 0.0 10 4/4 100.0% 100.0% 0.03 0.07%

Tabella B.24: Dataset12 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

B.13 Dataset13

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 100.0% 100.0% 0.14 0.71%2 0.0 3 3/3 100.0% 100.0% 0.34 1.7%3 0.0 6 3/3 100.0% 100.0% 0.0 0.0%4 0.0 8 3/3 100.0% 100.0% 0.34 1.7%5 0.0 10 3/3 100.0% 100.0% 0.34 1.7%

Tabella B.25: Dataset13 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDeu; Pesatura =Ampiezza;

Laurea Magistrale in Informatica 103

Page 123: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

B.13. Dataset13

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 0.0 1 3/3 100.0% 100.0% 0.34 1.7%2 0.0 3 3/3 100.0% 100.0% 0.34 1.7%3 0.0 6 3/3 100.0% 100.0% 0.34 1.7%4 0.0 8 3/3 100.0% 100.0% 0.34 1.7%5 0.0 10 3/3 100.0% 100.0% 0.34 1.7%

Tabella B.26: Dataset13 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200;Tipologia operatori = Proporzionali; Score = BDe; Pesatura =Ampiezza;

Laurea Magistrale in Informatica 104

Page 124: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Appendice C

Dettaglio esperimenti caso C

105

Page 125: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.1. Dataset1

C.1 Dataset1

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 2/3 N/A N/A N/A N/A3 25 6 2/3 N/A N/A N/A N/A4 25 8 2/3 N/A N/A N/A N/A5 25 10 2/3 N/A N/A N/A N/A6 15 1 2/3 N/A N/A N/A N/A7 15 3 2/3 N/A N/A N/A N/A8 15 6 2/3 N/A N/A N/A N/A9 15 8 2/3 N/A N/A N/A N/A10 15 10 2/3 N/A N/A N/A N/A11 10 1 2/3 N/A N/A N/A N/A12 10 3 3/3 100.0% 100.0% 0.09 0.91%13 10 6 2/3 N/A N/A N/A N/A14 10 8 2/3 N/A N/A N/A N/A15 10 10 2/3 N/A N/A N/A N/A16 5 1 2/3 N/A N/A N/A N/A17 5 3 2/3 N/A N/A N/A N/A18 5 6 2/3 N/A N/A N/A N/A19 5 8 2/3 N/A N/A N/A N/A20 5 10 2/3 N/A N/A N/A N/A21 1 1 2/3 N/A N/A N/A N/A22 1 3 2/3 N/A N/A N/A N/A23 1 6 2/3 N/A N/A N/A N/A24 1 8 2/3 N/A N/A N/A N/A25 1 10 2/3 N/A N/A N/A N/A

Tabella C.1: Dataset1 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 106

Page 126: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.1. Dataset1

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 2/3 N/A N/A N/A N/A3 25 6 2/3 N/A N/A N/A N/A4 25 8 2/3 N/A N/A N/A N/A5 25 10 2/3 N/A N/A N/A N/A6 15 1 2/3 N/A N/A N/A N/A7 15 3 2/3 N/A N/A N/A N/A8 15 6 2/3 N/A N/A N/A N/A9 15 8 2/3 N/A N/A N/A N/A10 15 10 2/3 N/A N/A N/A N/A11 10 1 3/3 100.0% 100.0% 0.09 0.91%12 10 3 2/3 N/A N/A N/A N/A13 10 6 2/3 N/A N/A N/A N/A14 10 8 2/3 N/A N/A N/A N/A15 10 10 2/3 N/A N/A N/A N/A16 5 1 3/3 100.0% 100.0% 0.09 0.91%17 5 3 3/3 100.0% 100.0% 0.67 6.68%18 5 6 2/3 N/A N/A N/A N/A19 5 8 2/3 N/A N/A N/A N/A20 5 10 2/3 N/A N/A N/A N/A21 1 1 2/3 N/A N/A N/A N/A22 1 3 3/3 100.0% 100.0% 0.28 2.81%23 1 6 2/3 N/A N/A N/A N/A24 1 8 2/3 N/A N/A N/A N/A25 1 10 2/3 N/A N/A N/A N/A

Tabella C.2: Dataset1 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 107

Page 127: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.1. Dataset1

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 2/3 N/A N/A N/A N/A3 25 6 2/3 N/A N/A N/A N/A4 25 8 2/3 N/A N/A N/A N/A5 25 10 2/3 N/A N/A N/A N/A6 15 1 2/3 N/A N/A N/A N/A7 15 3 2/3 N/A N/A N/A N/A8 15 6 2/3 N/A N/A N/A N/A9 15 8 2/3 N/A N/A N/A N/A10 15 10 2/3 N/A N/A N/A N/A11 10 1 2/3 N/A N/A N/A N/A12 10 3 2/3 N/A N/A N/A N/A13 10 6 2/3 N/A N/A N/A N/A14 10 8 2/3 N/A N/A N/A N/A15 10 10 2/3 N/A N/A N/A N/A16 5 1 2/3 N/A N/A N/A N/A17 5 3 2/3 N/A N/A N/A N/A18 5 6 2/3 N/A N/A N/A N/A19 5 8 2/3 N/A N/A N/A N/A20 5 10 2/3 N/A N/A N/A N/A21 1 1 2/3 N/A N/A N/A N/A22 1 3 2/3 N/A N/A N/A N/A23 1 6 2/3 N/A N/A N/A N/A24 1 8 2/3 N/A N/A N/A N/A25 1 10 2/3 N/A N/A N/A N/A

Tabella C.3: Dataset1 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 108

Page 128: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.1. Dataset1

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 2/3 N/A N/A N/A N/A3 25 6 2/3 N/A N/A N/A N/A4 25 8 2/3 N/A N/A N/A N/A5 25 10 2/3 N/A N/A N/A N/A6 15 1 2/3 N/A N/A N/A N/A7 15 3 2/3 N/A N/A N/A N/A8 15 6 2/3 N/A N/A N/A N/A9 15 8 2/3 N/A N/A N/A N/A10 15 10 2/3 N/A N/A N/A N/A11 10 1 2/3 N/A N/A N/A N/A12 10 3 2/3 N/A N/A N/A N/A13 10 6 2/3 N/A N/A N/A N/A14 10 8 2/3 N/A N/A N/A N/A15 10 10 2/3 N/A N/A N/A N/A16 5 1 2/3 N/A N/A N/A N/A17 5 3 2/3 N/A N/A N/A N/A18 5 6 2/3 N/A N/A N/A N/A19 5 8 2/3 N/A N/A N/A N/A20 5 10 2/3 N/A N/A N/A N/A21 1 1 2/3 N/A N/A N/A N/A22 1 3 2/3 N/A N/A N/A N/A23 1 6 2/3 N/A N/A N/A N/A24 1 8 2/3 N/A N/A N/A N/A25 1 10 2/3 N/A N/A N/A N/A

Tabella C.4: Dataset1 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 109

Page 129: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.2. Dataset2

C.2 Dataset2

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 3/3 67% 100% 0.9 4.52%3 25 6 2/3 N/A N/A N/A N/A4 25 8 2/3 N/A N/A N/A N/A5 25 10 2/3 N/A N/A N/A N/A6 15 1 3/3 100.0% 100.0% 0.19 0.94%7 15 3 2/3 N/A N/A N/A N/A8 15 6 2/3 N/A N/A N/A N/A9 15 8 3/3 100.0% 100.0% 0.14 0.72%10 15 10 3/3 100.0% 100.0% 0.05 0.26%11 10 1 3/3 67% 100.0% 0.83 4.17%12 10 3 2/3 N/A N/A N/A N/A13 10 6 2/3 N/A N/A N/A N/A14 10 8 2/3 N/A N/A N/A N/A15 10 10 2/3 N/A N/A N/A N/A16 5 1 2/3 N/A N/A N/A N/A17 5 3 2/3 N/A N/A N/A N/A18 5 6 3/3 100.0% 100.0% 0.1 0.49%19 5 8 2/3 N/A N/A N/A N/A20 5 10 2/3 N/A N/A N/A N/A21 1 1 3/3 67% 100.0% 0.83 4.17%22 1 3 3/3 100.0% 100.0% 0.05 0.26%23 1 6 3/3 100.0% 100.0% 0.08 0.39%24 1 8 3/3 100.0% 100.0% 0.05 0.26%25 1 10 2/3 N/A N/A N/A N/A

Tabella C.5: Dataset2 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 110

Page 130: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.2. Dataset2

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 67.0% 100.0% 0.83 4.17%2 25 3 3/3 67.0% 100.0% 0.83 4.17%3 25 6 2/3 N/A N/A N/A N/A4 25 8 2/3 N/A N/A N/A N/A5 25 10 2/3 N/A N/A N/A N/A6 15 1 3/3 67.0% 100.0% 0.81 4.07%7 15 3 3/3 67.0% 100.0% 0.86 4.3%8 15 6 3/3 100.0% 100.0% 0.12 0.59%9 15 8 3/3 100.0% 100.0% 0.21 1.07%10 15 10 3/3 100.0% 100.0% 0.12 0.59%11 10 1 3/3 67.0% 100.0% 0.72 3.58%12 10 3 3/3 100.0% 100.0% 0.0 0.0%13 10 6 3/3 100.0% 100.0% 0.24 1.2%14 10 8 3/3 100.0% 100.0% 0.31 1.56%15 10 10 3/3 100.0% 100.0% 0.31 1.56%16 5 1 3/3 67.0% 100.0% 0.9 4.52%17 5 3 3/3 67.0% 100.0% 1.52 7.61%18 5 6 3/3 100.0% 100.0% 0.19 0.94%19 5 8 2/3 N/A N/A N/A N/A20 5 10 2/3 N/A N/A N/A N/A21 1 1 2/3 N/A N/A N/A N/A22 1 3 3/3 67.0% 100.0% 1.92 9.6%23 1 6 3/3 100.0% 100.0% 0.31 1.56%24 1 8 3/3 100.0% 100.0% 0.24 1.2%25 1 10 2/3 N/A N/A N/A N/A

Tabella C.6: Dataset2 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 111

Page 131: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.2. Dataset2

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 2/3 N/A N/A N/A N/A3 25 6 3/3 100.0% 100.0% 0.12 0.59%4 25 8 2/3 N/A N/A N/A N/A5 25 10 2/3 N/A N/A N/A N/A6 15 1 2/3 N/A N/A N/A N/A7 15 3 2/3 N/A N/A N/A N/A8 15 6 2/3 N/A N/A N/A N/A9 15 8 2/3 N/A N/A N/A N/A10 15 10 2/3 N/A N/A N/A N/A11 10 1 3/3 67.0% 100.0% 1.03 5.14%12 10 3 3/3 100.0% 100.0% 0.14 0.72%13 10 6 2/3 N/A N/A N/A N/A14 10 8 3/3 100.0% 100.0% 0.08 0.39%15 10 10 2/3 N/A N/A N/A N/A16 5 1 2/3 N/A N/A N/A N/A17 5 3 2/3 N/A N/A N/A N/A18 5 6 2/3 N/A N/A N/A N/A19 5 8 2/3 N/A N/A N/A N/A20 5 10 3/3 33.0% 100.0% 0.77 3.84%21 1 1 3/3 67.0% 100.0% 1.03 5.14%22 1 3 3/3 67.0% 100.0% 0.9 4.52%23 1 6 3/3 67.0% 100.0% 0.83 4.17%24 1 8 2/3 N/A N/A N/A N/A25 1 10 2/3 N/A N/A N/A N/A

Tabella C.7: Dataset2 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 112

Page 132: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.2. Dataset2

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 2/3 N/A N/A N/A N/A3 25 6 3/3 67.0% 100.0% 0.83 4.17%4 25 8 2/3 N/A N/A N/A N/A5 25 10 2/3 N/A N/A N/A N/A6 15 1 3/3 67.0% 100.0% 0.83 4.17%7 15 3 3/3 100.0% 100.0% 0.1 0.49%8 15 6 3/3 100.0% 100.0% 0.12 0.59%9 15 8 3/3 100.0% 100.0% 0.1 0.49%10 15 10 2/3 N/A N/A N/A N/A11 10 1 3/3 67.0% 100.0% 0.72 3.58%12 10 3 3/3 67.0% 100.0% 0.74 3.7%13 10 6 3/3 100.0% 100.0% 0.24 1.2%14 10 8 2/3 N/A N/A N/A N/A15 10 10 2/3 N/A N/A N/A N/A16 5 1 3/3 67.0% 100.0% 0.83 4.17%17 5 3 2/3 N/A N/A N/A N/A18 5 6 3/3 67.0% 100.0% 0.9 4.52%19 5 8 3/3 100.0% 100.0% 0.08 0.39%20 5 10 2/3 N/A N/A N/A N/A21 1 1 3/3 67.0% 100.0% 0.86 4.3%22 1 3 2/3 N/A N/A N/A N/A23 1 6 2/3 N/A N/A N/A N/A24 1 8 2/3 N/A N/A N/A N/A25 1 10 2/3 N/A N/A N/A N/A

Tabella C.8: Dataset2 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 113

Page 133: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.3. Dataset3

C.3 Dataset3

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.07 0.37%2 25 3 4/4 100.0% 100.0% 0.03 0.15%3 25 6 4/4 100.0% 100.0% 0.09 0.45%4 25 8 4/4 100.0% 100.0% 0.02 0.1%5 25 10 4/4 100.0% 100.0% 0.09 0.45%6 15 1 4/4 100.0% 100.0% 0.09 0.45%7 15 3 4/4 100.0% 100.0% 0.02 0.1%8 15 6 4/4 100.0% 100.0% 0.02 0.08%9 15 8 4/4 100.0% 100.0% 0.0 0.01%10 15 10 2/4 N/A N/A N/A N/A11 10 1 4/4 100.0% 100.0% 0.02 0.08%12 10 3 4/4 100.0% 100.0% 0.51 2.53%13 10 6 4/4 100.0% 100.0% 0.0 0.0%14 10 8 4/4 100.0% 100.0% 0.07 0.37%15 10 10 2/4 N/A N/A N/A N/A16 5 1 4/4 100.0% 100.0% 0.07 0.37%17 5 3 4/4 100.0% 100.0% 0.08 0.39%18 5 6 4/4 100.0% 100.0% 0.07 0.37%19 5 8 4/4 100.0% 100.0% 0.09 0.45%20 5 10 4/4 100.0% 100.0% 0.08 0.39%21 1 1 4/4 100.0% 100.0% 0.86 4.31%22 1 3 4/4 100.0% 100.0% 0.81 4.07%23 1 6 4/4 100.0% 100.0% 0.02 0.08%24 1 8 4/4 100.0% 100.0% 0.07 0.37%25 1 10 2/4 N/A N/A N/A N/A

Tabella C.9: Dataset3 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 114

Page 134: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.3. Dataset3

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.09 0.45%2 25 3 4/4 100.0% 100.0% 0.07 0.37%3 25 6 4/4 100.0% 100.0% 0.33 1.67%4 25 8 4/4 100.0% 100.0% 0.51 2.53%5 25 10 4/4 100.0% 100.0% 0.02 0.08%6 15 1 4/4 100.0% 100.0% 0.22 1.11%7 15 3 4/4 100.0% 100.0% 0.23 1.13%8 15 6 4/4 100.0% 100.0% 0.07 0.37%9 15 8 4/4 100.0% 100.0% 0.0 0.01%10 15 10 2/4 N/A N/A N/A N/A11 10 1 4/4 100.0% 100.0% 0.09 0.45%12 10 3 4/4 100.0% 100.0% 0.19 0.96%13 10 6 4/4 100.0% 100.0% 0.51 2.53%14 10 8 4/4 100.0% 100.0% 0.75 3.76%15 10 10 2/4 N/A N/A N/A N/A16 5 1 4/4 100.0% 100.0% 0.19 0.96%17 5 3 4/4 100.0% 100.0% 0.09 0.45%18 5 6 4/4 100.0% 100.0% 0.2 0.98%19 5 8 4/4 100.0% 100.0% 0.49 2.45%20 5 10 4/4 100.0% 100.0% 0.2 0.98%21 1 1 4/4 100.0% 100.0% 0.07 0.37%22 1 3 4/4 100.0% 100.0% 0.07 0.37%23 1 6 4/4 100.0% 100.0% 0.09 0.45%24 1 8 4/4 100.0% 100.0% 0.07 0.37%25 1 10 4/4 100.0% 100.0% 0.02 0.08%

Tabella C.10: Dataset3 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 115

Page 135: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.3. Dataset3

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.51 2.53%2 25 3 4/4 100.0% 100.0% 0.02 0.08%3 25 6 4/4 100.0% 100.0% 0.02 0.1%4 25 8 4/4 100.0% 100.0% 0.07 0.37%5 25 10 4/4 100.0% 100.0% 0.02 0.1%6 15 1 4/4 100.0% 100.0% 0.02 0.08%7 15 3 4/4 100.0% 100.0% 0.13 0.65%8 15 6 4/4 100.0% 100.0% 0.02 0.1%9 15 8 4/4 100.0% 100.0% 0.49 2.45%10 15 10 4/4 100.0% 100.0% 0.07 0.37%11 10 1 4/4 100.0% 100.0% 0.09 0.45%12 10 3 4/4 100.0% 100.0% 0.12 0.61%13 10 6 4/4 100.0% 100.0% 0.55 2.73%14 10 8 4/4 100.0% 100.0% 0.02 0.08%15 10 10 4/4 100.0% 100.0% 0.07 0.37%16 5 1 4/4 100.0% 100.0% 0.0 0.01%17 5 3 4/4 100.0% 100.0% 0.49 2.45%18 5 6 4/4 100.0% 100.0% 0.09 0.45%19 5 8 4/4 100.0% 100.0% 0.61 34%20 5 10 4/4 100.0% 100.0% 0.49 2.45%21 1 1 4/4 100.0% 100.0% 0.02 0.1%22 1 3 4/4 100.0% 100.0% 0.53 2.65%23 1 6 4/4 100.0% 100.0% 0.09 0.45%24 1 8 4/4 100.0% 100.0% 0.2 0.98%25 1 10 4/4 100.0% 100.0% 0.49 2.45%

Tabella C.11: Dataset3 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 116

Page 136: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.3. Dataset3

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.12 0.61%2 25 3 4/4 100.0% 100.0% 0.02 0.1%3 25 6 4/4 100.0% 100.0% 0.53 2.65%4 25 8 4/4 100.0% 100.0% 0.09 0.45%5 25 10 4/4 100.0% 100.0% 0.51 2.53%6 15 1 4/4 100.0% 100.0% 0.02 0.08%7 15 3 4/4 100.0% 100.0% 0.15 0.75%8 15 6 4/4 100.0% 100.0% 0.46 2.28%9 15 8 4/4 100.0% 100.0% 0.07 0.37%10 15 10 4/4 100.0% 100.0% 0.07 0.37%11 10 1 4/4 100.0% 100.0% 0.09 0.45%12 10 3 4/4 100.0% 100.0% 0.07 0.37%13 10 6 4/4 100.0% 100.0% 0.09 0.45%14 10 8 4/4 100.0% 100.0% 0.49 2.45%15 10 10 4/4 100.0% 100.0% 0.07 0.37%16 5 1 4/4 100.0% 100.0% 0.07 0.37%17 5 3 4/4 100.0% 100.0% 0.07 0.37%18 5 6 4/4 100.0% 100.0% 0.02 0.08%19 5 8 4/4 100.0% 100.0% 0.07 0.37%20 5 10 4/4 100.0% 100.0% 0.0 0.01%21 1 1 4/4 100.0% 100.0% 0.07 0.37%22 1 3 4/4 100.0% 100.0% 0.09 0.45%23 1 6 4/4 100.0% 100.0% 0.0 0.01%24 1 8 4/4 100.0% 100.0% 0.0 0.01%25 1 10 4/4 100.0% 100.0% 0.02 0.08%

Tabella C.12: Dataset3 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 117

Page 137: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.4. Dataset4

C.4 Dataset4

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.09 0.45%2 25 3 4/4 100.0% 100.0% 0.09 0.45%3 25 6 4/4 100.0% 100.0% 0.02 0.1%4 25 8 4/4 100.0% 100.0% 0.07 0.37%5 25 10 4/4 100.0% 100.0% 0.09 0.45%6 15 1 4/4 100.0% 100.0% 0.07 0.37%7 15 3 4/4 100.0% 100.0% 0.09 0.45%8 15 6 4/4 100.0% 100.0% 0.02 0.08%9 15 8 4/4 100.0% 100.0% 0.02 0.08%10 15 10 2/4 N/A N/A N/A N/A11 10 1 4/4 100.0% 100.0% 0.09 0.45%12 10 3 4/4 100.0% 100.0% 0.02 0.08%13 10 6 4/4 100.0% 100.0% 0.09 0.45%14 10 8 4/4 100.0% 100.0% 0.55 2.73%15 10 10 2/4 N/A N/A N/A N/A16 5 1 4/4 100.0% 100.0% 0.02 0.08%17 5 3 4/4 100.0% 100.0% 0.22 1.1%18 5 6 4/4 100.0% 100.0% 0.0 0.01%19 5 8 4/4 100.0% 100.0% 0.09 0.45%20 5 10 2/4 N/A N/A N/A N/A21 1 1 4/4 100.0% 100.0% 0.51 2.53%22 1 3 4/4 100.0% 100.0% 0.0 0.01%23 1 6 4/4 100.0% 100.0% 0.8 3.98%24 1 8 4/4 100.0% 100.0% 0.07 0.37%25 1 10 4/4 100.0% 100.0% 0.15 0.73%

Tabella C.13: Dataset4 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 118

Page 138: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.4. Dataset4

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.09 0.45%2 25 3 4/4 100.0% 100.0% 0.0 0.01%3 25 6 4/4 100.0% 100.0% 0.0 0.01%4 25 8 4/4 100.0% 100.0% 0.07 0.37%5 25 10 4/4 100.0% 100.0% 0.02 0.1%6 15 1 4/4 100.0% 100.0% 0.94 4.72%7 15 3 4/4 100.0% 100.0% 0.09 0.45%8 15 6 4/4 100.0% 100.0% 0.02 0.1%9 15 8 4/4 100.0% 100.0% 0.07 0.37%10 15 10 2/4 N/A N/A N/A N/A11 10 1 4/4 100.0% 100.0% 0.0 0.01%12 10 3 4/4 100.0% 100.0% 0.51 2.53%13 10 6 4/4 100.0% 100.0% 0.49 2.45%14 10 8 4/4 100.0% 100.0% 0.02 0.1%15 10 10 2/4 N/A N/A N/A N/A16 5 1 4/4 100.0% 100.0% 0.63 3.16%17 5 3 4/4 100.0% 100.0% 0.72 3.59%18 5 6 4/4 100.0% 100.0% 0.07 0.37%19 5 8 2/4 N/A N/A N/A N/A20 5 10 4/4 100.0% 100.0% 0.09 0.45%21 1 1 4/4 100.0% 100.0% 0.02 0.1%22 1 3 4/4 100.0% 100.0% 0.0 0.01%23 1 6 4/4 100.0% 100.0% 0.07 0.37%24 1 8 4/4 100.0% 100.0% 0.03 0.15%25 1 10 4/4 100.0% 100.0% 0.09 0.45%

Tabella C.14: Dataset4 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 119

Page 139: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.4. Dataset4

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.8 3.99%2 25 3 4/4 100.0% 100.0% 0.07 0.37%3 25 6 4/4 100.0% 100.0% 0.72 3.58%4 25 8 4/4 100.0% 100.0% 0.27 1.33%5 25 10 4/4 100.0% 100.0% 0.02 0.08%6 15 1 4/4 100.0% 100.0% 0.55 2.73%7 15 3 4/4 100.0% 100.0% 0.07 0.37%8 15 6 4/4 100.0% 100.0% 0.02 0.1%9 15 8 4/4 100.0% 100.0% 0.07 0.37%10 15 10 4/4 100.0% 100.0% 0.09 0.45%11 10 1 4/4 100.0% 100.0% 0.09 0.45%12 10 3 4/4 100.0% 100.0% 0.07 0.37%13 10 6 4/4 100.0% 100.0% 0.07 0.37%14 10 8 4/4 100.0% 100.0% 0.46 2.32%15 10 10 4/4 100.0% 100.0% 0.09 0.45%16 5 1 4/4 100.0% 100.0% 0.07 0.37%17 5 3 4/4 100.0% 100.0% 0.09 0.45%18 5 6 4/4 100.0% 100.0% 0.02 0.1%19 5 8 4/4 100.0% 100.0% 0.49 2.45%20 5 10 4/4 100.0% 100.0% 0.02 0.08%21 1 1 4/4 100.0% 100.0% 0.02 0.1%22 1 3 4/4 100.0% 100.0% 0.02 0.1%23 1 6 4/4 100.0% 100.0% 0.2 0.98%24 1 8 4/4 100.0% 100.0% 0.22 1.1%25 1 10 4/4 100.0% 100.0% 0.02 0.1%

Tabella C.15: Dataset4 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 120

Page 140: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.4. Dataset4

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/4 N/A N/A N/A N/A2 25 3 4/4 100.0% 100.0% 0.09 0.45%3 25 6 4/4 100.0% 100.0% 0.07 0.37%4 25 8 4/4 100.0% 100.0% 0.46 2.29%5 25 10 4/4 100.0% 100.0% 0.09 0.45%6 15 1 4/4 100.0% 100.0% 0.0 0.01%7 15 3 4/4 100.0% 100.0% 0.09 0.45%8 15 6 4/4 100.0% 100.0% 0.19 0.93%9 15 8 4/4 100.0% 100.0% 0.13 0.65%10 15 10 4/4 100.0% 100.0% 0.07 0.37%11 10 1 4/4 100.0% 100.0% 0.49 2.45%12 10 3 4/4 100.0% 100.0% 0.09 0.45%13 10 6 4/4 100.0% 100.0% 0.2 1.01%14 10 8 4/4 100.0% 100.0% 0.09 0.45%15 10 10 4/4 100.0% 100.0% 0.09 0.45%16 5 1 4/4 100.0% 100.0% 0.07 0.37%17 5 3 4/4 100.0% 100.0% 0.07 0.37%18 5 6 4/4 100.0% 100.0% 0.09 0.45%19 5 8 4/4 100.0% 100.0% 0.02 0.08%20 5 10 4/4 100.0% 100.0% 0.07 0.37%21 1 1 4/4 100.0% 100.0% 0.22 1.1%22 1 3 4/4 100.0% 100.0% 0.09 0.45%23 1 6 4/4 100.0% 100.0% 0.55 2.73%24 1 8 4/4 100.0% 100.0% 0.0 0.01%25 1 10 4/4 100.0% 100.0% 0.02 0.08%

Tabella C.16: Dataset4 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 121

Page 141: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.5. Dataset5

C.5 Dataset5

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.0 0.0%2 25 3 3/3 100.0% 100.0% 0.0 0.0%3 25 6 3/3 100.0% 100.0% 0.0 0.0%4 25 8 3/3 100.0% 100.0% 0.0 0.0%5 25 10 2/3 N/A N/A N/A N/A6 15 1 3/3 100.0% 100.0% 0.0 0.0%7 15 3 3/3 100.0% 100.0% 0.19 0.97%8 15 6 3/3 100.0% 100.0% 0.0 0.0%9 15 8 3/3 100.0% 100.0% 0.0 0.0%10 15 10 3/3 100.0% 100.0% 0.1 0.48%11 10 1 3/3 100.0% 100.0% 0.01 0.06%12 10 3 3/3 100.0% 100.0% 0.0 0.0%13 10 6 3/3 100.0% 100.0% 0.0 0.0%14 10 8 3/3 100.0% 100.0% 0.0 0.0%15 10 10 3/3 100.0% 100.0% 0.0 0.0%16 5 1 3/3 100.0% 100.0% 0.0 0.0%17 5 3 3/3 100.0% 100.0% 0.0 0.0%18 5 6 3/3 100.0% 100.0% 0.0 0.0%19 5 8 3/3 100.0% 100.0% 0.0 0.0%20 5 10 3/3 100.0% 100.0% 0.01 0.06%21 1 1 3/3 100.0% 100.0% 0.0 0.0%22 1 3 3/3 100.0% 100.0% 0.0 0.0%23 1 6 3/3 100.0% 100.0% 0.0 0.0%24 1 8 3/3 100.0% 100.0% 0.0 0.0%25 1 10 3/3 100.0% 100.0% 0.0 0.0%

Tabella C.17: Dataset5 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 122

Page 142: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.5. Dataset5

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.0 0.0%2 25 3 3/3 100.0% 100.0% 0.0 0.0%3 25 6 3/3 100.0% 100.0% 0.0 0.0%4 25 8 3/3 100.0% 100.0% 0.0 0.0%5 25 10 3/3 100.0% 100.0% 0.0 0.0%6 15 1 3/3 100.0% 100.0% 0.0 0.0%7 15 3 3/3 100.0% 100.0% 0.0 0.0%8 15 6 3/3 100.0% 100.0% 0.0 0.0%9 15 8 3/3 100.0% 100.0% 0.0 0.0%10 15 10 3/3 100.0% 100.0% 0.0 0.0%11 10 1 3/3 100.0% 100.0% 0.01 0.06%12 10 3 3/3 100.0% 100.0% 0.01 0.06%13 10 6 3/3 100.0% 100.0% 0.1 0.48%14 10 8 3/3 100.0% 100.0% 0.0 0.0%15 10 10 3/3 100.0% 100.0% 0.0 0.0%16 5 1 3/3 100.0% 100.0% 0.0 0.0%17 5 3 3/3 100.0% 100.0% 0.43 2.16%18 5 6 3/3 100.0% 100.0% 0.0 0.0%19 5 8 3/3 100.0% 100.0% 0.01 0.06%20 5 10 3/3 100.0% 100.0% 0.0 0.0%21 1 1 3/3 100.0% 100.0% 0.0 0.0%22 1 3 3/3 100.0% 100.0% 0.01 0.06%23 1 6 3/3 100.0% 100.0% 0.0 0.0%24 1 8 3/3 100.0% 100.0% 0.0 0.0%25 1 10 3/3 100.0% 100.0% 0.0 0.0%

Tabella C.18: Dataset5 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 123

Page 143: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.5. Dataset5

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 2/3 N/A N/A N/A N/A3 25 6 2/3 N/A N/A N/A N/A4 25 8 3/3 100.0% 100.0% 0.0 0.0%5 25 10 2/3 N/A N/A N/A N/A6 15 1 3/3 100.0% 100.0% 0.0 0.0%7 15 3 3/3 100.0% 100.0% 0.1 0.48%8 15 6 3/3 100.0% 100.0% 0.0 0.0%9 15 8 3/3 100.0% 100.0% 0.01 0.06%10 15 10 2/3 N/A N/A N/A N/A11 10 1 3/3 100.0% 100.0% 0.0 0.0%12 10 3 3/3 100.0% 100.0% 0.0 0.0%13 10 6 3/3 100.0% 100.0% 0.0 0.0%14 10 8 3/3 100.0% 100.0% 0.0 0.0%15 10 10 2/3 N/A N/A N/A N/A16 5 1 3/3 100.0% 100.0% 0.0 0.0%17 5 3 3/3 100.0% 100.0% 0.01 0.06%18 5 6 3/3 100.0% 100.0% 0.0 0.0%19 5 8 3/3 100.0% 100.0% 0.01 0.06%20 5 10 2/3 N/A N/A N/A N/A21 1 1 3/3 100.0% 100.0% 0.0 0.0%22 1 3 3/3 100.0% 100.0% 0.0 0.0%23 1 6 3/3 100.0% 100.0% 0.0 0.0%24 1 8 3/3 100.0% 100.0% 0.0 0.0%25 1 10 2/3 N/A N/A N/A N/A

Tabella C.19: Dataset5 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 124

Page 144: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.5. Dataset5

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/3 N/A N/A N/A N/A2 25 3 2/3 N/A N/A N/A N/A3 25 6 3/3 100.0% 100.0% 0.0 0.0%4 25 8 3/3 100.0% 100.0% 0.01 0.06%5 25 10 2/3 N/A N/A N/A N/A6 15 1 3/3 100.0% 100.0% 0.0 0.0%7 15 3 3/3 100.0% 100.0% 0.0 0.0%8 15 6 3/3 100.0% 100.0% 0.0 0.0%9 15 8 3/3 100.0% 100.0% 0.0 0.0%10 15 10 2/3 N/A N/A N/A N/A11 10 1 3/3 100.0% 100.0% 0.01 0.06%12 10 3 3/3 100.0% 100.0% 0.0 0.0%13 10 6 3/3 100.0% 100.0% 0.01 0.06%14 10 8 3/3 100.0% 100.0% 0.0 0.0%15 10 10 2/3 N/A N/A N/A N/A16 5 1 3/3 100.0% 100.0% 0.0 0.0%17 5 3 3/3 100.0% 100.0% 0.0 0.0%18 5 6 3/3 100.0% 100.0% 0.1 0.48%19 5 8 3/3 100.0% 100.0% 0.0 0.0%20 5 10 2/3 N/A N/A N/A N/A21 1 1 3/3 100.0% 100.0% 0.0 0.0%22 1 3 3/3 100.0% 100.0% 0.0 0.0%23 1 6 3/3 100.0% 100.0% 0.0 0.0%24 1 8 3/3 100.0% 100.0% 0.0 0.0%25 1 10 2/3 N/A N/A N/A N/A

Tabella C.20: Dataset5 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 125

Page 145: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.6. Dataset6

C.6 Dataset6

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/2 100.0% 100.0% 0.0 0.0%2 25 3 2/2 100.0% 100.0% 0.0 0.0%3 25 6 2/2 100.0% 100.0% 0.0 0.0%4 25 8 2/2 100.0% 100.0% 0.0 0.0%5 25 10 2/2 100.0% 100.0% 0.0 0.0%6 15 1 3/2 N/A N/A N/A N/A7 15 3 2/2 100.0% 100.0% 0.0 0.0%8 15 6 2/2 100.0% 100.0% 0.0 0.0%9 15 8 2/2 100.0% 100.0% 0.0 0.0%10 15 10 2/2 100.0% 100.0% 0.0 0.0%11 10 1 3/2 N/A N/A N/A N/A12 10 3 2/2 100.0% 100.0% 0.0 0.0%13 10 6 2/2 100.0% 100.0% 0.0 0.0%14 10 8 2/2 100.0% 100.0% 0.09 0.46%15 10 10 2/2 100.0% 100.0% 0.0 0.0%16 5 1 2/2 100.0% 100.0% 0.0 0.0%17 5 3 2/2 100.0% 100.0% 0.0 0.0%18 5 6 2/2 100.0% 100.0% 0.09 0.46%19 5 8 2/2 100.0% 100.0% 0.0 0.0%20 5 10 2/2 100.0% 100.0% 0.0 0.0%21 1 1 2/2 100.0% 100.0% 0.05 0.23%22 1 3 3/2 N/A N/A N/A N/A23 1 6 2/2 100.0% 100.0% 0.0 0.0%24 1 8 2/2 100.0% 100.0% 0.0 0.0%25 1 10 3/2 N/A N/A N/A N/A

Tabella C.21: Dataset6 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 126

Page 146: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.6. Dataset6

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/2 N/A N/A N/A N/A2 25 3 2/2 100.0% 100.0% 0.05 0.23%3 25 6 2/2 100.0% 100.0% 0.0 0.0%4 25 8 2/2 100.0% 100.0% 0.0 0.0%5 25 10 2/2 100.0% 100.0% 0.0 0.0%6 15 1 2/2 100.0% 100.0% 0.05 0.23%7 15 3 2/2 100.0% 100.0% 0.0 0.0%8 15 6 2/2 100.0% 100.0% 0.0 0.0%9 15 8 2/2 100.0% 100.0% 0.0 0.0%10 15 10 2/2 100.0% 100.0% 0.0 0.0%11 10 1 2/2 100.0% 100.0% 0.0 0.0%12 10 3 2/2 100.0% 100.0% 0.0 0.0%13 10 6 2/2 100.0% 100.0% 0.0 0.0%14 10 8 2/2 100.0% 100.0% 0.0 0.0%15 10 10 2/2 100.0% 100.0% 0.05 0.23%16 5 1 2/2 100.0% 100.0% 0.0 0.0%17 5 3 3/2 N/A N/A N/A N/A18 5 6 2/2 100.0% 100.0% 0.0 0.0%19 5 8 3/2 N/A N/A N/A N/A20 5 10 2/2 100.0% 100.0% 0.0 0.0%21 1 1 2/2 100.0% 100.0% 0.0 0.0%22 1 3 2/2 100.0% 100.0% 0.11 0.54%23 1 6 3/2 N/A N/A N/A N/A24 1 8 2/2 100.0% 100.0% 0.0 0.0%25 1 10 2/2 100.0% 100.0% 0.0 0.0%

Tabella C.22: Dataset6 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 127

Page 147: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.6. Dataset6

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/2 100.0% 100.0% 0.0 0.0%2 25 3 2/2 100.0% 100.0% 0.0 0.0%3 25 6 2/2 100.0% 100.0% 0.0 0.0%4 25 8 2/2 100.0% 100.0% 0.0 0.0%5 25 10 2/2 100.0% 100.0% 0.0 0.0%6 15 1 2/2 100.0% 100.0% 0.0 0.0%7 15 3 2/2 100.0% 100.0% 0.0 0.0%8 15 6 2/2 100.0% 100.0% 0.0 0.0%9 15 8 2/2 100.0% 100.0% 0.0 0.0%10 15 10 2/2 100.0% 100.0% 0.0 0.0%11 10 1 2/2 100.0% 100.0% 0.0 0.0%12 10 3 2/2 100.0% 100.0% 0.0 0.0%13 10 6 2/2 100.0% 100.0% 0.0 0.0%14 10 8 2/2 100.0% 100.0% 0.2 1%15 10 10 2/2 100.0% 100.0% 0.0 0.0%16 5 1 2/2 100.0% 100.0% 0.0 0.0%17 5 3 3/2 N/A N/A N/A N/A18 5 6 2/2 100.0% 100.0% 0.0 0.0%19 5 8 2/2 100.0% 100.0% 0.0 0.0%20 5 10 2/2 100.0% 100.0% 0.0 0.0%21 1 1 2/2 100.0% 100.0% 0.0 0.0%22 1 3 2/2 100.0% 100.0% 0.05 0.23%23 1 6 2/2 100.0% 100.0% 0.0 0.0%24 1 8 2/2 100.0% 100.0% 0.0 0.0%25 1 10 2/2 100.0% 100.0% 0.09 0.46%

Tabella C.23: Dataset6 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 128

Page 148: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.6. Dataset6

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 2/2 100.0% 100.0% 0.0 0.0%2 25 3 2/2 100.0% 100.0% 0.05 0.23%3 25 6 2/2 100.0% 100.0% 0.0 0.0%4 25 8 2/2 100.0% 100.0% 0.0 0.0%5 25 10 2/2 100.0% 100.0% 0.0 0.0%6 15 1 2/2 100.0% 100.0% 0.0 0.0%7 15 3 2/2 100.0% 100.0% 0.0 0.0%8 15 6 2/2 100.0% 100.0% 0.0 0.0%9 15 8 2/2 100.0% 100.0% 0.0 0.0%10 15 10 2/2 100.0% 100.0% 0.0 0.0%11 10 1 2/2 100.0% 100.0% 0.09 0.46%12 10 3 2/2 100.0% 100.0% 0.09 0.46%13 10 6 2/2 100.0% 100.0% 0.0 0.0%14 10 8 2/2 100.0% 100.0% 0.0 0.0%15 10 10 2/2 100.0% 100.0% 0.09 0.46%16 5 1 2/2 100.0% 100.0% 0.0 0.0%17 5 3 2/2 100.0% 100.0% 0.0 0.0%18 5 6 2/2 100.0% 100.0% 0.05 0.23%19 5 8 3/2 N/A N/A N/A N/A20 5 10 2/2 100.0% 100.0% 0.0 0.0%21 1 1 2/2 100.0% 100.0% 0.0 0.0%22 1 3 2/2 100.0% 100.0% 0.0 0.0%23 1 6 2/2 100.0% 100.0% 0.0 0.0%24 1 8 2/2 100.0% 100.0% 0.0 0.0%25 1 10 2/2 100.0% 100.0% 0.0 0.0%

Tabella C.24: Dataset6 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 129

Page 149: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.7. Dataset7

C.7 Dataset7

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 6/6 92.0% 100.0% 2.3 3.84%2 25 3 6/6 100.0% 100.0% 1.61 2.68%3 25 6 6/6 100.0% 100.0% 0.6 1.0%4 25 8 6/6 100.0% 100.0% 1.08 1.79%5 25 10 6/6 83.0% 100.0% 3.09 5.16%6 15 1 6/6 100.0% 100.0% 1.09 1.82%7 15 3 6/6 100.0% 100.0% 1.75 2.91%8 15 6 6/6 100.0% 100.0% 2.52 4.19%9 15 8 6/6 100.0% 100.0% 1.17 1.95%10 15 10 6/6 100.0% 100.0% 1.05 1.74%11 10 1 6/6 100.0% 100.0% 1.42 2.36%12 10 3 7/6 N/A N/A N/A N/A13 10 6 6/6 100.0% 100.0% 1.52 2.53%14 10 8 6/6 100.0% 100.0% 2.75 4.59%15 10 10 6/6 100.0% 100.0% 1.42 2.36%16 5 1 6/6 100.0% 100.0% 1.64 2.74%17 5 3 6/6 100.0% 100.0% 1.74 2.9%18 5 6 7/6 N/A N/A N/A N/A19 5 8 6/6 100.0% 100.0% 0.42 0.7%20 5 10 6/6 100.0% 100.0% 0.82 1.37%21 1 1 6/6 92.0% 100.0% 2.69 4.49%22 1 3 6/6 100.0% 100.0% 0.83 1.39%23 1 6 6/6 100.0% 100.0% 2.9 4.84%24 1 8 6/6 100.0% 100.0% 2.39 3.99%25 1 10 6/6 100.0% 100.0% 1.24 2.06%

Tabella C.25: Dataset7 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 8;

Laurea Magistrale in Informatica 130

Page 150: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.7. Dataset7

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 6/6 100.0% 100.0% 1.46 2.43%2 25 3 6/6 100.0% 100.0% 1.93 3.22%3 25 6 6/6 100.0% 100.0% 1.4 2.33%4 25 8 6/6 100.0% 100.0% 1.27 2.11%5 25 10 6/6 100.0% 100.0% 2.18 3.64%6 15 1 6/6 92.0% 100.0% 1.21 2.01%7 15 3 6/6 100.0% 100.0% 2.82 4.7%8 15 6 6/6 100.0% 100.0% 0.99 1.65%9 15 8 6/6 100.0% 100.0% 1.2 2.0%10 15 10 6/6 100.0% 100.0% 2.1 3.5%11 10 1 6/6 100.0% 100.0% 3.12 5.2%12 10 3 6/6 100.0% 100.0% 2.36 3.93%13 10 6 6/6 100.0% 100.0% 0.78 1.31%14 10 8 6/6 100.0% 100.0% 1.56 2.61%15 10 10 6/6 100.0% 100.0% 1.99 3.32%16 5 1 6/6 100.0% 100.0% 2.13 3.54%17 5 3 6/6 100.0% 100.0% 2.59 4.32%18 5 6 7/6 N/A N/A N/A N/A19 5 8 6/6 100.0% 100.0% 1.06 1.77%20 5 10 7/6 N/A N/A N/A N/A21 1 1 6/6 92.0% 100.0% 1.83 3.04%22 1 3 6/6 100.0% 100.0% 1.04 1.73%23 1 6 6/6 100.0% 100.0% 0.89 1.49%24 1 8 6/6 100.0% 100.0% 1.21 2.01%25 1 10 6/6 100.0% 100.0% 3.42 5.7%

Tabella C.26: Dataset7 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 4 ; Epoche Max = 8;

Laurea Magistrale in Informatica 131

Page 151: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.7. Dataset7

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 6/6 100.0% 100.0% 0.35 0.58%2 25 3 6/6 100.0% 100.0% 3.0 5.0%3 25 6 6/6 100.0% 100.0% 2.64 4.39%4 25 8 6/6 100.0% 100.0% 1.58 2.64%5 25 10 6/6 100.0% 100.0% 0.96 1.61%6 15 1 6/6 100.0% 100.0% 2.12 3.53%7 15 3 6/6 100.0% 100.0% 2.23 3.71%8 15 6 6/6 100.0% 100.0% 1.25 2.09%9 15 8 6/6 100.0% 100.0% 1.47 2.45%10 15 10 6/6 100.0% 100.0% 0.62 1.03%11 10 1 6/6 100.0% 100.0% 2.75 4.58%12 10 3 6/6 100.0% 100.0% 2.28 3.81%13 10 6 6/6 100.0% 100.0% 1.32 2.2%14 10 8 6/6 100.0% 100.0% 1.14 1.9%15 10 10 6/6 100.0% 100.0% 0.95 1.58%16 5 1 6/6 100.0% 100.0% 1.48 2.47%17 5 3 6/6 100.0% 100.0% 1.31 2.18%18 5 6 6/6 100.0% 100.0% 0.94 1.56%19 5 8 6/6 100.0% 100.0% 3.44 5.73%20 5 10 6/6 100.0% 100.0% 1.74 2.9%21 1 1 6/6 100.0% 100.0% 1.98 3.29%22 1 3 6/6 100.0% 100.0% 1.83 3.05%23 1 6 6/6 100.0% 100.0% 0.86 1.43%24 1 8 6/6 100.0% 100.0% 2.53 4.21%25 1 10 6/6 100.0% 100.0% 1.07 1.79%

Tabella C.27: Dataset7 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 8;

Laurea Magistrale in Informatica 132

Page 152: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.7. Dataset7

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 6/6 100.0% 100.0% 1.32 2.2%2 25 3 6/6 100.0% 100.0% 1.42 2.37%3 25 6 6/6 100.0% 100.0% 1.28 2.13%4 25 8 6/6 100.0% 100.0% 1.32 2.2%5 25 10 6/6 100.0% 100.0% 1.11 1.85%6 15 1 6/6 100.0% 100.0% 2.22 3.71%7 15 3 6/6 100.0% 100.0% 1.62 2.7%8 15 6 6/6 100.0% 100.0% 1.86 3.1%9 15 8 6/6 100.0% 100.0% 2.28 3.8%10 15 10 6/6 100.0% 100.0% 2.07 3.44%11 10 1 6/6 100.0% 100.0% 1.93 3.22%12 10 3 6/6 100.0% 100.0% 1.34 2.24%13 10 6 6/6 100.0% 100.0% 2.0 3.33%14 10 8 6/6 100.0% 100.0% 1.38 2.29%15 10 10 6/6 100.0% 100.0% 1.11 1.85%16 5 1 6/6 100.0% 100.0% 1.11 1.84%17 5 3 6/6 100.0% 100.0% 1.7 2.83%18 5 6 6/6 100.0% 100.0% 1.16 1.94%19 5 8 6/6 100.0% 100.0% 1.71 2.84%20 5 10 6/6 100.0% 100.0% 2.36 3.93%21 1 1 6/6 100.0% 100.0% 0.97 1.61%22 1 3 6/6 92.0% 100.0% 3.16 5.27%23 1 6 6/6 100.0% 100.0% 1.23 2.05%24 1 8 6/6 100.0% 100.0% 1.46 2.44%25 1 10 6/6 100.0% 100.0% 0.68 1.14%

Tabella C.28: Dataset7 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 4 ; Epoche Max = 8;

Laurea Magistrale in Informatica 133

Page 153: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.8. Dataset8

C.8 Dataset8

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.03 0.1%2 25 3 3/3 100.0% 100.0% 0.03 0.1%3 25 6 3/3 100.0% 100.0% 0.0 0.0%4 25 8 3/3 100.0% 100.0% 0.03 0.1%5 25 10 3/3 100.0% 100.0% 0.11 0.36%6 15 1 3/3 100.0% 100.0% 0.25 0.82%7 15 3 3/3 100.0% 100.0% 0.0 0.0%8 15 6 3/3 100.0% 100.0% 0.0 0.0%9 15 8 3/3 100.0% 100.0% 0.11 0.36%10 15 10 3/3 100.0% 100.0% 0.03 0.1%11 10 1 3/3 100.0% 100.0% 0.03 0.1%12 10 3 3/3 100.0% 100.0% 0.0 0.0%13 10 6 3/3 100.0% 100.0% 0.0 0.0%14 10 8 3/3 100.0% 100.0% 0.11 0.36%15 10 10 3/3 100.0% 100.0% 0.03 0.1%16 5 1 3/3 100.0% 100.0% 0.11 0.36%17 5 3 3/3 100.0% 100.0% 0.0 0.0%18 5 6 3/3 100.0% 100.0% 0.11 0.36%19 5 8 3/3 100.0% 100.0% 0.03 0.1%20 5 10 3/3 100.0% 100.0% 0.0 0.0%21 1 1 3/3 100.0% 100.0% 0.17 0.56%22 1 3 3/3 100.0% 100.0% 0.03 0.1%23 1 6 3/3 100.0% 100.0% 0.11 0.36%24 1 8 3/3 100.0% 100.0% 0.11 0.36%25 1 10 3/3 100.0% 100.0% 0.0 0.0%

Tabella C.29: Dataset8 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 134

Page 154: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.8. Dataset8

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.0 0.0%2 25 3 3/3 100.0% 100.0% 0.0 0.0%3 25 6 3/3 100.0% 100.0% 0.0 0.0%4 25 8 3/3 100.0% 100.0% 0.08 0.26%5 25 10 3/3 100.0% 100.0% 0.03 0.1%6 15 1 3/3 100.0% 100.0% 0.03 0.1%7 15 3 3/3 100.0% 100.0% 0.11 0.36%8 15 6 3/3 100.0% 100.0% 0.4 1.35%9 15 8 3/3 100.0% 100.0% 0.03 0.1%10 15 10 3/3 100.0% 100.0% 0.11 0.36%11 10 1 3/3 100.0% 100.0% 0.03 0.1%12 10 3 3/3 100.0% 100.0% 0.03 0.1%13 10 6 3/3 100.0% 100.0% 0.0 0.0%14 10 8 3/3 100.0% 100.0% 0.03 0.1%15 10 10 3/3 100.0% 100.0% 0.11 0.36%16 5 1 3/3 100.0% 100.0% 0.0 0.0%17 5 3 3/3 100.0% 100.0% 0.0 0.0%18 5 6 3/3 100.0% 100.0% 0.08 0.26%19 5 8 3/3 100.0% 100.0% 0.03 0.1%20 5 10 3/3 100.0% 100.0% 0.03 0.1%21 1 1 3/3 100.0% 100.0% 0.11 0.36%22 1 3 3/3 100.0% 100.0% 0.0 0.0%23 1 6 3/3 100.0% 100.0% 0.03 0.1%24 1 8 3/3 100.0% 100.0% 0.03 0.1%25 1 10 3/3 100.0% 100.0% 0.0 0.0%

Tabella C.30: Dataset8 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 135

Page 155: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.8. Dataset8

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.03 0.1%2 25 3 3/3 100.0% 100.0% 0.0 0.0%3 25 6 3/3 100.0% 100.0% 0.11 0.36%4 25 8 3/3 100.0% 100.0% 0.0 0.0%5 25 10 3/3 100.0% 100.0% 0.0 0.0%6 15 1 3/3 100.0% 100.0% 0.11 0.36%7 15 3 3/3 100.0% 100.0% 0.11 0.36%8 15 6 3/3 100.0% 100.0% 0.0 0.0%9 15 8 3/3 100.0% 100.0% 0.11 0.36%10 15 10 3/3 100.0% 100.0% 0.11 0.36%11 10 1 3/3 100.0% 100.0% 0.11 0.36%12 10 3 3/3 100.0% 100.0% 0.0 0.0%13 10 6 3/3 100.0% 100.0% 0.0 0.0%14 10 8 3/3 100.0% 100.0% 0.03 0.1%15 10 10 3/3 100.0% 100.0% 0.11 0.36%16 5 1 3/3 100.0% 100.0% 0.0 0.0%17 5 3 3/3 100.0% 100.0% 0.11 0.36%18 5 6 3/3 100.0% 100.0% 0.0 0.0%19 5 8 3/3 100.0% 100.0% 0.11 0.36%20 5 10 3/3 100.0% 100.0% 0.11 0.36%21 1 1 3/3 100.0% 100.0% 0.11 0.36%22 1 3 3/3 100.0% 100.0% 0.11 0.36%23 1 6 3/3 100.0% 100.0% 0.08 0.26%24 1 8 3/3 100.0% 100.0% 0.11 0.36%25 1 10 3/3 100.0% 100.0% 0.11 0.36%

Tabella C.31: Dataset8 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 136

Page 156: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.8. Dataset8

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.0 0.0%2 25 3 3/3 100.0% 100.0% 0.0 0.0%3 25 6 3/3 100.0% 100.0% 0.11 0.36%4 25 8 3/3 100.0% 100.0% 0.11 0.36%5 25 10 3/3 100.0% 100.0% 0.11 0.36%6 15 1 3/3 100.0% 100.0% 0.11 0.36%7 15 3 3/3 100.0% 100.0% 0.11 0.36%8 15 6 3/3 100.0% 100.0% 0.11 0.36%9 15 8 3/3 100.0% 100.0% 0.11 0.36%10 15 10 3/3 100.0% 100.0% 0.11 0.36%11 10 1 3/3 100.0% 100.0% 0.11 0.36%12 10 3 3/3 100.0% 100.0% 0.11 0.36%13 10 6 3/3 100.0% 100.0% 0.11 0.36%14 10 8 3/3 100.0% 100.0% 0.11 0.36%15 10 10 3/3 100.0% 100.0% 0.0 0.0%16 5 1 3/3 100.0% 100.0% 0.11 0.36%17 5 3 3/3 100.0% 100.0% 0.11 0.36%18 5 6 3/3 100.0% 100.0% 0.0 0.0%19 5 8 3/3 100.0% 100.0% 0.11 0.36%20 5 10 3/3 100.0% 100.0% 0.11 0.36%21 1 1 3/3 100.0% 100.0% 0.37 1.25%22 1 3 3/3 100.0% 100.0% 0.0 0.0%23 1 6 3/3 100.0% 100.0% 0.0 0.0%24 1 8 3/3 100.0% 100.0% 0.11 0.36%25 1 10 3/3 100.0% 100.0% 0.11 0.36%

Tabella C.32: Dataset8 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 137

Page 157: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.9. Dataset9

C.9 Dataset9

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.69 1.72%2 25 3 3/3 100.0% 100.0% 0.69 1.72%3 25 6 3/3 100.0% 100.0% 0.71 1.78%4 25 8 3/3 100.0% 100.0% 0.69 1.72%5 25 10 3/3 100.0% 100.0% 0.81 2.03%6 15 1 3/3 100.0% 100.0% 0.69 1.72%7 15 3 3/3 100.0% 100.0% 1.01 2.52%8 15 6 3/3 100.0% 100.0% 0.69 1.72%9 15 8 3/3 100.0% 100.0% 0.69 1.72%10 15 10 3/3 100.0% 100.0% 0.71 1.78%11 10 1 3/3 100.0% 100.0% 0.71 1.78%12 10 3 3/3 100.0% 100.0% 0.69 1.72%13 10 6 3/3 100.0% 100.0% 0.81 2.03%14 10 8 3/3 100.0% 100.0% 2.92 7.31%15 10 10 3/3 100.0% 100.0% 1.01 2.52%16 5 1 3/3 100.0% 100.0% 1.01 2.52%17 5 3 3/3 100.0% 100.0% 1.41 3.51%18 5 6 3/3 100.0% 100.0% 1.41 3.53%19 5 8 3/3 100.0% 100.0% 0.81 2.03%20 5 10 3/3 100.0% 100.0% 0.69 1.72%21 1 1 3/3 100.0% 100.0% 0.73 1.83%22 1 3 3/3 100.0% 100.0% 2.11 5.28%23 1 6 3/3 100.0% 100.0% 0.81 2.03%24 1 8 3/3 100.0% 100.0% 2.95 7.39%25 1 10 3/3 100.0% 100.0% 0.71 1.76%

Tabella C.33: Dataset9 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 138

Page 158: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.9. Dataset9

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.71 1.78%2 25 3 3/3 100.0% 100.0% 0.71 1.76%3 25 6 3/3 100.0% 100.0% 0.71 1.76%4 25 8 3/3 100.0% 100.0% 0.69 1.72%5 25 10 3/3 100.0% 100.0% 0.81 2.03%6 15 1 3/3 100.0% 100.0% 0.69 1.72%7 15 3 3/3 100.0% 100.0% 1.13 2.83%8 15 6 3/3 100.0% 100.0% 0.12 0.31%9 15 8 3/3 100.0% 100.0% 0.69 1.72%10 15 10 3/3 100.0% 100.0% 1.01 2.52%11 10 1 3/3 100.0% 100.0% 0.69 1.72%12 10 3 3/3 100.0% 100.0% 0.71 1.76%13 10 6 3/3 100.0% 100.0% 0.71 1.78%14 10 8 3/3 100.0% 100.0% 1.01 2.52%15 10 10 3/3 100.0% 100.0% 0.69 1.72%16 5 1 3/3 100.0% 100.0% 0.69 1.72%17 5 3 3/3 100.0% 100.0% 0.81 2.03%18 5 6 3/3 100.0% 100.0% 0.69 1.72%19 5 8 3/3 100.0% 100.0% 0.81 2.03%20 5 10 3/3 100.0% 100.0% 1.01 2.52%21 1 1 3/3 100.0% 100.0% 2.0 5.0%22 1 3 3/3 100.0% 100.0% 2.91 7.29%23 1 6 3/3 100.0% 100.0% 1.08 2.7%24 1 8 3/3 100.0% 100.0% 3.56 8.9%25 1 10 3/3 100.0% 100.0% 0.11 0.27%

Tabella C.34: Dataset9 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipologiaoperatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 139

Page 159: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.9. Dataset9

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.71 1.78%2 25 3 3/3 100.0% 100.0% 0.71 1.76%3 25 6 2/3 N/A N/A N/A N/A4 25 8 3/3 100.0% 100.0% 0.69 1.72%5 25 10 2/3 N/A N/A N/A N/A6 15 1 3/3 100.0% 100.0% 0.71 1.78%7 15 3 3/3 100.0% 100.0% 1.01 2.52%8 15 6 3/3 100.0% 100.0% 1.13 2.83%9 15 8 3/3 100.0% 100.0% 1.01 2.52%10 15 10 3/3 100.0% 100.0% 1.01 2.52%11 10 1 3/3 100.0% 100.0% 1.01 2.52%12 10 3 3/3 100.0% 100.0% 0.69 1.72%13 10 6 3/3 100.0% 100.0% 1.13 2.83%14 10 8 3/3 100.0% 100.0% 0.69 1.72%15 10 10 3/3 100.0% 100.0% 0.69 1.72%16 5 1 3/3 100.0% 100.0% 0.71 1.78%17 5 3 3/3 100.0% 100.0% 0.71 1.78%18 5 6 3/3 100.0% 100.0% 0.81 2.03%19 5 8 3/3 100.0% 100.0% 0.69 1.72%20 5 10 3/3 100.0% 100.0% 0.71 1.78%21 1 1 3/3 100.0% 100.0% 1.82 4.55%22 1 3 3/3 100.0% 100.0% 0.69 1.72%23 1 6 3/3 100.0% 100.0% 0.71 1.76%24 1 8 3/3 100.0% 100.0% 1.13 2.83%25 1 10 3/3 100.0% 100.0% 1.01 2.52%

Tabella C.35: Dataset9 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 140

Page 160: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.9. Dataset9

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 1.13 2.83%2 25 3 3/3 100.0% 100.0% 1.01 2.52%3 25 6 3/3 100.0% 100.0% 1.13 2.83%4 25 8 3/3 100.0% 100.0% 0.71 1.78%5 25 10 3/3 100.0% 100.0% 0.71 1.76%6 15 1 3/3 100.0% 100.0% 0.71 1.76%7 15 3 3/3 100.0% 100.0% 0.71 1.78%8 15 6 3/3 100.0% 100.0% 0.69 1.72%9 15 8 3/3 100.0% 100.0% 1.01 2.52%10 15 10 3/3 100.0% 100.0% 0.69 1.72%11 10 1 3/3 100.0% 100.0% 0.71 1.78%12 10 3 3/3 100.0% 100.0% 0.81 2.03%13 10 6 3/3 100.0% 100.0% 0.81 2.03%14 10 8 3/3 100.0% 100.0% 0.81 2.03%15 10 10 3/3 100.0% 100.0% 0.71 1.78%16 5 1 3/3 100.0% 100.0% 0.69 1.72%17 5 3 3/3 100.0% 100.0% 0.69 1.72%18 5 6 3/3 100.0% 100.0% 1.13 2.83%19 5 8 3/3 100.0% 100.0% 0.69 1.72%20 5 10 3/3 100.0% 100.0% 0.69 1.72%21 1 1 3/3 100.0% 100.0% 0.69 1.72%22 1 3 3/3 100.0% 100.0% 0.71 1.78%23 1 6 3/3 100.0% 100.0% 0.81 2.03%24 1 8 3/3 100.0% 100.0% 1.13 2.83%25 1 10 3/3 100.0% 100.0% 1.01 2.52%

Tabella C.36: Dataset9 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 141

Page 161: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.10. Dataset10

C.10 Dataset10

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 1.27 1.27%2 25 3 5/4 N/A N/A N/A N/A3 25 6 4/4 100.0% 100.0% 1.05 1.05%4 25 8 4/4 100.0% 100.0% 0.92 0.92%5 25 10 4/4 100.0% 100.0% 1.22 1.22%6 15 1 4/4 100.0% 100.0% 1.02 1.02%7 15 3 4/4 100.0% 100.0% 0.18 0.18%8 15 6 4/4 100.0% 100.0% 0.93 0.93%9 15 8 4/4 100.0% 100.0% 1.21 1.21%10 15 10 4/4 100.0% 100.0% 0.23 0.23%11 10 1 4/4 100.0% 100.0% 1.24 1.24%12 10 3 4/4 100.0% 100.0% 0.36 0.36%13 10 6 4/4 100.0% 100.0% 1.24 1.24%14 10 8 4/4 100.0% 100.0% 0.82 0.82%15 10 10 4/4 100.0% 100.0% 1.59 1.59%16 5 1 5/4 N/A N/A N/A N/A17 5 3 4/4 100.0% 100.0% 1.06 1.06%18 5 6 4/4 100.0% 100.0% 1.12 1.12%19 5 8 4/4 100.0% 100.0% 0.9 0.9%20 5 10 4/4 100.0% 100.0% 0.65 0.65%21 1 1 4/4 100.0% 100.0% 0.49 0.49%22 1 3 4/4 100.0% 100.0% 0.3 0.3%23 1 6 4/4 100.0% 100.0% 1.73 1.73%24 1 8 4/4 100.0% 100.0% 0.43 0.43%25 1 10 4/4 100.0% 100.0% 1.28 1.28%

Tabella C.37: Dataset10 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 142

Page 162: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.10. Dataset10

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 1.74 1.74%2 25 3 4/4 100.0% 100.0% 0.93 0.93%3 25 6 4/4 100.0% 100.0% 0.33 0.33%4 25 8 4/4 100.0% 100.0% 0.77 0.77%5 25 10 4/4 100.0% 100.0% 1.57 1.57%6 15 1 4/4 100.0% 100.0% 5.1 5.1%7 15 3 4/4 100.0% 100.0% 1.25 1.25%8 15 6 4/4 100.0% 100.0% 3.72 3.72%9 15 8 4/4 100.0% 100.0% 1.73 1.73%10 15 10 4/4 100.0% 100.0% 0.26 0.26%11 10 1 4/4 100.0% 100.0% 0.22 0.22%12 10 3 4/4 100.0% 100.0% 1.84 1.84%13 10 6 4/4 100.0% 100.0% 1.78 1.78%14 10 8 4/4 100.0% 100.0% 1.21 1.21%15 10 10 4/4 100.0% 100.0% 1.15 1.15%16 5 1 4/4 100.0% 100.0% 1.91 1.91%17 5 3 4/4 100.0% 100.0% 1.81 1.81%18 5 6 4/4 100.0% 100.0% 0.82 0.82%19 5 8 4/4 100.0% 100.0% 1.08 1.08%20 5 10 5/4 N/A N/A N/A N/A21 1 1 4/4 100.0% 100.0% 2.07 2.07%22 1 3 4/4 100.0% 100.0% 5.88 5.88%23 1 6 4/4 100.0% 100.0% 3.75 3.75%24 1 8 4/4 100.0% 100.0% 0.33 0.33%25 1 10 4/4 100.0% 100.0% 5.83 5.83%

Tabella C.38: Dataset10 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 143

Page 163: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.10. Dataset10

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.62 0.62%2 25 3 4/4 100.0% 100.0% 3.68 3.68%3 25 6 4/4 100.0% 100.0% 5.2 5.2%4 25 8 4/4 100.0% 100.0% 0.19 0.19%5 25 10 4/4 100.0% 100.0% 1.03 1.03%6 15 1 4/4 100.0% 100.0% 0.42 0.42%7 15 3 4/4 100.0% 100.0% 0.7 0.7%8 15 6 4/4 100.0% 100.0% 0.35 0.35%9 15 8 4/4 100.0% 100.0% 0.55 0.55%10 15 10 4/4 100.0% 100.0% 1.18 1.18%11 10 1 4/4 100.0% 100.0% 1.95 1.95%12 10 3 4/4 100.0% 100.0% 1.48 1.48%13 10 6 4/4 100.0% 100.0% 1.45 1.45%14 10 8 4/4 100.0% 100.0% 0.66 0.66%15 10 10 4/4 100.0% 100.0% 0.52 0.52%16 5 1 4/4 100.0% 100.0% 2.65 2.65%17 5 3 4/4 100.0% 100.0% 1.6 1.6%18 5 6 4/4 100.0% 100.0% 1.42 1.42%19 5 8 4/4 100.0% 100.0% 0.36 0.36%20 5 10 4/4 100.0% 100.0% 1.22 1.22%21 1 1 4/4 100.0% 100.0% 0.79 0.79%22 1 3 4/4 100.0% 100.0% 1.19 1.19%23 1 6 4/4 100.0% 100.0% 1.09 1.09%24 1 8 4/4 100.0% 100.0% 1.66 1.66%25 1 10 4/4 100.0% 100.0% 0.78 0.78%

Tabella C.39: Dataset10 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 144

Page 164: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.10. Dataset10

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.94 0.94%2 25 3 4/4 100.0% 100.0% 1.38 1.38%3 25 6 4/4 100.0% 100.0% 0.15 0.15%4 25 8 4/4 100.0% 100.0% 0.69 0.69%5 25 10 4/4 100.0% 100.0% 1.37 1.37%6 15 1 5/4 N/A N/A N/A N/A7 15 3 4/4 100.0% 100.0% 2.29 2.29%8 15 6 4/4 100.0% 100.0% 0.82 0.82%9 15 8 4/4 100.0% 100.0% 2.19 2.19%10 15 10 4/4 100.0% 100.0% 1.38 1.38%11 10 1 4/4 100.0% 100.0% 6.13 6.13%12 10 3 4/4 100.0% 100.0% 6.92 6.92%13 10 6 4/4 100.0% 100.0% 0.56 0.56%14 10 8 4/4 100.0% 100.0% 1.84 1.84%15 10 10 4/4 100.0% 100.0% 1.31 1.31%16 5 1 4/4 100.0% 100.0% 1.12 1.12%17 5 3 4/4 100.0% 100.0% 0.86 0.86%18 5 6 4/4 100.0% 100.0% 0.8 0.8%19 5 8 4/4 100.0% 100.0% 1.42 1.42%20 5 10 4/4 100.0% 100.0% 1.5 1.5%21 1 1 4/4 100.0% 100.0% 3.59 3.59%22 1 3 4/4 100.0% 100.0% 1.62 1.62%23 1 6 4/4 100.0% 100.0% 4.83 4.83%24 1 8 4/4 100.0% 100.0% 0.74 0.74%25 1 10 4/4 100.0% 100.0% 0.58 0.58%

Tabella C.40: Dataset10 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 145

Page 165: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.11. Dataset11

C.11 Dataset11

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 67.0% 100.0% 0.22 1.11%2 25 3 4/4 67.0% 100.0% 0.48 2.39%3 25 6 4/4 67.0% 100.0% 0.22 1.11%4 25 8 4/4 67.0% 100.0% 0.22 1.11%5 25 10 3/4 N/A N/A N/A N/A6 15 1 4/4 67.0% 100.0% 0.22 1.11%7 15 3 4/4 67.0% 100.0% 0.22 1.11%8 15 6 4/4 67.0% 100.0% 0.22 1.11%9 15 8 4/4 67.0% 100.0% 0.03 0.17%10 15 10 3/4 N/A N/A N/A N/A11 10 1 4/4 67.0% 100.0% 0.22 1.11%12 10 3 4/4 67.0% 100.0% 0.24 1.19%13 10 6 4/4 67.0% 100.0% 0.12 0.62%14 10 8 4/4 67.0% 100.0% 0.03 0.17%15 10 10 4/4 67.0% 100.0% 0.22 1.11%16 5 1 4/4 67.0% 100.0% 0.23 1.13%17 5 3 4/4 67.0% 100.0% 0.12 0.62%18 5 6 4/4 67.0% 100.0% 0.48 2.39%19 5 8 4/4 67.0% 100.0% 0.22 1.11%20 5 10 4/4 67.0% 100.0% 0.22 1.11%21 1 1 4/4 67.0% 100.0% 0.22 1.11%22 1 3 4/4 67.0% 100.0% 0.12 0.62%23 1 6 4/4 67.0% 100.0% 0.14 0.69%24 1 8 4/4 67.0% 100.0% 0.48 2.39%25 1 10 3/4 N/A N/A N/A N/A

Tabella C.41: Dataset11 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 146

Page 166: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.11. Dataset11

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 67.0% 100.0% 0.14 0.69%2 25 3 4/4 67.0% 100.0% 0.14 0.69%3 25 6 4/4 67.0% 100.0% 0.48 2.39%4 25 8 3/4 N/A N/A N/A N/A5 25 10 3/4 N/A N/A N/A N/A6 15 1 4/4 67.0% 100.0% 0.38 1.9%7 15 3 3/4 N/A N/A N/A N/A8 15 6 4/4 67.0% 100.0% 0.29 1.44%9 15 8 3/4 N/A N/A N/A N/A10 15 10 3/4 N/A N/A N/A N/A11 10 1 4/4 67.0% 100.0% 0.35 1.76%12 10 3 4/4 67.0% 100.0% 0.54 2.72%13 10 6 4/4 67.0% 100.0% 0.48 2.39%14 10 8 3/4 N/A N/A N/A N/A15 10 10 3/4 N/A N/A N/A N/A16 5 1 4/4 67.0% 100.0% 0.14 0.69%17 5 3 4/4 67.0% 100.0% 0.26 1.32%18 5 6 4/4 67.0% 100.0% 0.61 3.04%19 5 8 3/4 N/A N/A N/A N/A20 5 10 3/4 N/A N/A N/A N/A21 1 1 4/4 67.0% 100.0% 0.82 4.09%22 1 3 3/4 N/A N/A N/A N/A23 1 6 4/4 67.0% 100.0% 0.14 0.69%24 1 8 3/4 N/A N/A N/A N/A25 1 10 3/4 N/A N/A N/A N/A

Tabella C.42: Dataset11 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 147

Page 167: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.11. Dataset11

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 67.0% 100.0% 0.22 1.11%2 25 3 4/4 67.0% 100.0% 0.22 1.11%3 25 6 3/4 N/A N/A N/A N/A4 25 8 3/4 N/A N/A N/A N/A5 25 10 3/4 N/A N/A N/A N/A6 15 1 4/4 67.0% 100.0% 0.22 1.11%7 15 3 4/4 67.0% 100.0% 0.22 1.11%8 15 6 4/4 67.0% 100.0% 0.48 2.39%9 15 8 3/4 N/A N/A N/A N/A10 15 10 3/4 N/A N/A N/A N/A11 10 1 4/4 67.0% 100.0% 0.32 1.62%12 10 3 4/4 67.0% 100.0% 0.22 1.11%13 10 6 3/4 N/A N/A N/A N/A14 10 8 3/4 N/A N/A N/A N/A15 10 10 3/4 N/A N/A N/A N/A16 5 1 4/4 67.0% 100.0% 0.14 0.69%17 5 3 4/4 67.0% 100.0% 0.39 1.96%18 5 6 3/4 N/A N/A N/A N/A19 5 8 3/4 N/A N/A N/A N/A20 5 10 3/4 N/A N/A N/A N/A21 1 1 4/4 67.0% 100.0% 0.22 1.11%22 1 3 4/4 67.0% 100.0% 0.14 0.69%23 1 6 3/4 N/A N/A N/A N/A24 1 8 4/4 67.0% 100.0% 0.22 1.11%25 1 10 3/4 N/A N/A N/A N/A

Tabella C.43: Dataset11 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 148

Page 168: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.11. Dataset11

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 67.0% 100.0% 0.26 1.32%2 25 3 4/4 67.0% 100.0% 0.39 1.96%3 25 6 3/4 N/A N/A N/A N/A4 25 8 3/4 N/A N/A N/A N/A5 25 10 3/4 N/A N/A N/A N/A6 15 1 4/4 67.0% 100.0% 0.67 3.34%7 15 3 4/4 67.0% 100.0% 0.14 0.69%8 15 6 3/4 N/A N/A N/A N/A9 15 8 3/4 N/A N/A N/A N/A10 15 10 3/4 N/A N/A N/A N/A11 10 1 4/4 67.0% 100.0% 0.24 1.18%12 10 3 3/4 N/A N/A N/A N/A13 10 6 3/4 N/A N/A N/A N/A14 10 8 3/4 N/A N/A N/A N/A15 10 10 3/4 N/A N/A N/A N/A16 5 1 4/4 67.0% 100.0% 0.26 1.32%17 5 3 3/4 N/A N/A N/A N/A18 5 6 4/4 67.0% 100.0% 0.22 1.11%19 5 8 3/4 N/A N/A N/A N/A20 5 10 1/4 N/A N/A N/A N/A21 1 1 4/4 67.0% 100.0% 0.24 1.19%22 1 3 3/4 N/A N/A N/A N/A23 1 6 3/4 N/A N/A N/A N/A24 1 8 3/4 N/A N/A N/A N/A25 1 10 3/4 N/A N/A N/A N/A

Tabella C.44: Dataset11 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 149

Page 169: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.12. Dataset12

C.12 Dataset12

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.02 0.04%2 25 3 4/4 100.0% 100.0% 0.0 0.0%3 25 6 4/4 100.0% 100.0% 0.22 0.44%4 25 8 4/4 100.0% 100.0% 0.02 0.04%5 25 10 4/4 100.0% 100.0% 0.03 0.07%6 15 1 4/4 100.0% 100.0% 0.82 1.64%7 15 3 4/4 100.0% 100.0% 0.02 0.04%8 15 6 4/4 100.0% 100.0% 0.02 0.04%9 15 8 4/4 100.0% 100.0% 0.02 0.04%10 15 10 4/4 100.0% 100.0% 0.21 0.42%11 10 1 4/4 100.0% 100.0% 0.02 0.04%12 10 3 5/4 N/A N/A N/A N/A13 10 6 4/4 100.0% 100.0% 0.0 0.0%14 10 8 4/4 100.0% 100.0% 0.03 0.07%15 10 10 4/4 100.0% 100.0% 0.22 0.44%16 5 1 4/4 100.0% 100.0% 0.03 0.07%17 5 3 4/4 100.0% 100.0% 0.19 0.37%18 5 6 4/4 100.0% 100.0% 0.02 0.04%19 5 8 4/4 100.0% 100.0% 0.02 0.04%20 5 10 4/4 100.0% 100.0% 0.02 0.04%21 1 1 4/4 100.0% 100.0% 0.71 1.43%22 1 3 4/4 100.0% 100.0% 0.03 0.07%23 1 6 5/4 N/A N/A N/A N/A24 1 8 4/4 100.0% 100.0% 0.02 0.04%25 1 10 4/4 100.0% 100.0% 0.22 0.44%

Tabella C.45: Dataset12 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2 ; Epoche Max = 5;

Laurea Magistrale in Informatica 150

Page 170: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.12. Dataset12

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.6 1.19%2 25 3 4/4 100.0% 100.0% 1.18 2.36%3 25 6 4/4 100.0% 100.0% 1.46 2.92%4 25 8 4/4 100.0% 100.0% 0.02 0.04%5 25 10 4/4 100.0% 100.0% 0.13 0.26%6 15 1 4/4 100.0% 100.0% 0.21 0.42%7 15 3 4/4 100.0% 100.0% 1.67 3.34%8 15 6 4/4 100.0% 100.0% 0.45 0.9%9 15 8 4/4 100.0% 100.0% 0.19 0.37%10 15 10 5/4 N/A N/A N/A N/A11 10 1 5/4 N/A N/A N/A N/A12 10 3 4/4 100.0% 100.0% 1.23 2.46%13 10 6 4/4 100.0% 100.0% 2.99 5.98%14 10 8 4/4 100.0% 100.0% 3.48 6.96%15 10 10 4/4 100.0% 100.0% 0.0 0.0%16 5 1 4/4 100.0% 100.0% 0.78 1.55%17 5 3 4/4 100.0% 100.0% 0.65 1.3%18 5 6 4/4 100.0% 100.0% 3.38 6.75%19 5 8 4/4 100.0% 100.0% 2.21 4.42%20 5 10 4/4 100.0% 100.0% 0.77 1.55%21 1 1 4/4 100.0% 100.0% 0.29 0.59%22 1 3 4/4 100.0% 100.0% 1.92 3.84%23 1 6 4/4 100.0% 100.0% 3.77 7.55%24 1 8 5/4 N/A N/A N/A N/A25 1 10 4/4 100.0% 100.0% 0.87 1.75%

Tabella C.46: Dataset12 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3 ; Epoche Max = 6;

Laurea Magistrale in Informatica 151

Page 171: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.12. Dataset12

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.02 0.04%2 25 3 4/4 100.0% 100.0% 0.79 1.57%3 25 6 4/4 100.0% 100.0% 0.49 0.98%4 25 8 4/4 100.0% 100.0% 0.03 0.07%5 25 10 4/4 100.0% 100.0% 0.02 0.04%6 15 1 4/4 100.0% 100.0% 0.16 0.33%7 15 3 4/4 100.0% 100.0% 0.22 0.44%8 15 6 4/4 100.0% 100.0% 0.32 0.64%9 15 8 4/4 100.0% 100.0% 0.03 0.07%10 15 10 4/4 100.0% 100.0% 0.55 1.11%11 10 1 4/4 100.0% 100.0% 0.0 0.0%12 10 3 4/4 100.0% 100.0% 0.22 0.44%13 10 6 4/4 100.0% 100.0% 0.26 0.53%14 10 8 4/4 100.0% 100.0% 0.03 0.07%15 10 10 4/4 100.0% 100.0% 0.02 0.04%16 5 1 4/4 100.0% 100.0% 0.39 0.78%17 5 3 4/4 100.0% 100.0% 0.21 0.42%18 5 6 4/4 100.0% 100.0% 2.48 4.96%19 5 8 4/4 100.0% 100.0% 0.39 0.78%20 5 10 4/4 100.0% 100.0% 0.02 0.04%21 1 1 4/4 100.0% 100.0% 0.02 0.04%22 1 3 4/4 100.0% 100.0% 0.68 1.36%23 1 6 4/4 100.0% 100.0% 0.95 1.9%24 1 8 4/4 100.0% 100.0% 0.02 0.04%25 1 10 4/4 100.0% 100.0% 0.32 0.64%

Tabella C.47: Dataset12 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2; Epoche Max = 5;

Laurea Magistrale in Informatica 152

Page 172: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.12. Dataset12

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 4/4 100.0% 100.0% 0.0 0.0%2 25 3 4/4 100.0% 100.0% 0.58 1.16%3 25 6 4/4 100.0% 100.0% 0.0 0.0%4 25 8 4/4 100.0% 100.0% 0.24 0.49%5 25 10 4/4 100.0% 100.0% 0.24 0.48%6 15 1 4/4 100.0% 100.0% 0.52 1.04%7 15 3 4/4 100.0% 100.0% 0.25 0.51%8 15 6 5/4 N/A N/A N/A N/A9 15 8 4/4 100.0% 100.0% 2.09 4.17%10 15 10 4/4 100.0% 100.0% 2.54 5.08%11 10 1 4/4 100.0% 100.0% 0.81 1.62%12 10 3 4/4 100.0% 100.0% 1.25 2.51%13 10 6 4/4 100.0% 100.0% 0.43 0.86%14 10 8 4/4 100.0% 100.0% 0.12 0.24%15 10 10 4/4 100.0% 100.0% 0.52 1.03%16 5 1 4/4 100.0% 100.0% 0.85 1.7%17 5 3 4/4 100.0% 100.0% 1.55 3.09%18 5 6 4/4 100.0% 100.0% 0.5 1.01%19 5 8 4/4 100.0% 100.0% 2.51 5.01%20 5 10 4/4 100.0% 100.0% 0.31 0.63%21 1 1 5/4 N/A N/A N/A N/A22 1 3 4/4 100.0% 100.0% 0.84 1.68%23 1 6 4/4 100.0% 100.0% 0.88 1.76%24 1 8 4/4 100.0% 100.0% 0.31 0.62%25 1 10 4/4 100.0% 100.0% 0.24 0.49%

Tabella C.48: Dataset12 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3; Epoche Max = 6;

Laurea Magistrale in Informatica 153

Page 173: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.13. Dataset13

C.13 Dataset13

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.34 1.7%2 25 3 3/3 100.0% 100.0% 0.34 1.7%3 25 6 3/3 100.0% 100.0% 0.34 1.7%4 25 8 3/3 100.0% 100.0% 0.0 0.0%5 25 10 3/3 100.0% 100.0% 0.14 0.71%6 15 1 3/3 100.0% 100.0% 0.34 1.7%7 15 3 3/3 100.0% 100.0% 0.34 1.7%8 15 6 3/3 100.0% 100.0% 0.14 0.71%9 15 8 3/3 100.0% 100.0% 0.14 0.71%10 15 10 3/3 100.0% 100.0% 0.14 0.71%11 10 1 3/3 100.0% 100.0% 0.34 1.7%12 10 3 3/3 100.0% 100.0% 0.34 1.7%13 10 6 3/3 100.0% 100.0% 0.0 0.0%14 10 8 3/3 100.0% 100.0% 0.0 0.0%15 10 10 3/3 100.0% 100.0% 0.14 0.71%16 5 1 3/3 100.0% 100.0% 0.14 0.71%17 5 3 3/3 100.0% 100.0% 0.34 1.7%18 5 6 3/3 100.0% 100.0% 0.34 1.7%19 5 8 3/3 100.0% 100.0% 0.34 1.7%20 5 10 3/3 100.0% 100.0% 0.14 0.71%21 1 1 3/3 100.0% 100.0% 0.34 1.7%22 1 3 3/3 100.0% 100.0% 0.0 0.0%23 1 6 3/3 100.0% 100.0% 0.34 1.7%24 1 8 3/3 100.0% 100.0% 0.34 1.7%25 1 10 3/3 100.0% 100.0% 0.67 3.33%

Tabella C.49: Dataset13 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 2; Epoche Max = 5;

Laurea Magistrale in Informatica 154

Page 174: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.13. Dataset13

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.14 0.71%2 25 3 3/3 100.0% 100.0% 0.14 0.71%3 25 6 3/3 100.0% 100.0% 0.34 1.7%4 25 8 3/3 100.0% 100.0% 0.34 1.7%5 25 10 3/3 100.0% 100.0% 0.34 1.7%6 15 1 3/3 100.0% 100.0% 0.34 1.7%7 15 3 3/3 100.0% 100.0% 0.34 1.7%8 15 6 3/3 100.0% 100.0% 0.14 0.71%9 15 8 3/3 100.0% 100.0% 0.14 0.71%10 15 10 3/3 100.0% 100.0% 0.14 0.71%11 10 1 3/3 100.0% 100.0% 0.34 1.7%12 10 3 3/3 100.0% 100.0% 0.34 1.7%13 10 6 3/3 100.0% 100.0% 0.0 0.0%14 10 8 3/3 100.0% 100.0% 0.14 0.71%15 10 10 3/3 100.0% 100.0% 0.34 1.7%16 5 1 3/3 100.0% 100.0% 0.0 0.0%17 5 3 3/3 100.0% 100.0% 0.0 0.0%18 5 6 3/3 100.0% 100.0% 0.14 0.71%19 5 8 3/3 100.0% 100.0% 0.14 0.71%20 5 10 3/3 100.0% 100.0% 0.14 0.71%21 1 1 3/3 100.0% 100.0% 0.34 1.7%22 1 3 3/3 100.0% 100.0% 0.14 0.71%23 1 6 3/3 100.0% 100.0% 0.14 0.71%24 1 8 3/3 100.0% 100.0% 0.34 1.7%25 1 10 3/3 100.0% 100.0% 0.34 1.7%

Tabella C.50: Dataset13 - α = 1; τ = 10; #Sequenze = 4; Iterazioni = 200; Tipolo-gia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza;Epoche Start = 3; Epoche Max = 6;

Laurea Magistrale in Informatica 155

Page 175: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.13. Dataset13

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.14 0.71%2 25 3 3/3 100.0% 100.0% 0.34 1.7%3 25 6 3/3 100.0% 100.0% 0.14 0.71%4 25 8 3/3 100.0% 100.0% 0.14 0.71%5 25 10 3/3 100.0% 100.0% 0.34 1.7%6 15 1 3/3 100.0% 100.0% 0.14 0.71%7 15 3 3/3 100.0% 100.0% 0.34 1.7%8 15 6 3/3 100.0% 100.0% 0.14 0.71%9 15 8 3/3 100.0% 100.0% 0.34 1.7%10 15 10 3/3 100.0% 100.0% 0.34 1.7%11 10 1 3/3 100.0% 100.0% 0.34 1.7%12 10 3 3/3 100.0% 100.0% 0.14 0.71%13 10 6 3/3 100.0% 100.0% 0.34 1.7%14 10 8 3/3 100.0% 100.0% 0.34 1.7%15 10 10 3/3 100.0% 100.0% 0.34 1.7%16 5 1 3/3 100.0% 100.0% 0.34 1.7%17 5 3 3/3 100.0% 100.0% 0.14 0.71%18 5 6 3/3 100.0% 100.0% 0.67 3.33%19 5 8 3/3 100.0% 100.0% 0.14 0.71%20 5 10 3/3 100.0% 100.0% 0.34 1.7%21 1 1 3/3 100.0% 100.0% 0.34 1.7%22 1 3 3/3 100.0% 100.0% 0.34 1.7%23 1 6 3/3 100.0% 100.0% 0.0 0.0%24 1 8 3/3 100.0% 100.0% 0.0 0.0%25 1 10 3/3 100.0% 100.0% 0.0 0.0%

Tabella C.51: Dataset13 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 2; Epoche Max = 5;

Laurea Magistrale in Informatica 156

Page 176: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

C.13. Dataset13

#Run λe λc Epoche Recall Precision Dist.Tempi %Dist.Tempi1 25 1 3/3 100.0% 100.0% 0.14 0.71%2 25 3 3/3 100.0% 100.0% 0.14 0.71%3 25 6 3/3 100.0% 100.0% 0.34 1.7%4 25 8 3/3 100.0% 100.0% 0.14 0.71%5 25 10 3/3 100.0% 100.0% 0.0 0.0%6 15 1 3/3 100.0% 100.0% 0.14 0.71%7 15 3 3/3 100.0% 100.0% 0.34 1.7%8 15 6 3/3 100.0% 100.0% 0.14 0.71%9 15 8 3/3 100.0% 100.0% 0.34 1.7%10 15 10 3/3 100.0% 100.0% 0.14 0.71%11 10 1 3/3 100.0% 100.0% 0.14 0.71%12 10 3 3/3 100.0% 100.0% 0.34 1.7%13 10 6 3/3 100.0% 100.0% 0.14 0.71%14 10 8 3/3 100.0% 100.0% 0.14 0.71%15 10 10 3/3 100.0% 100.0% 0.14 0.71%16 5 1 3/3 100.0% 100.0% 0.34 1.7%17 5 3 3/3 100.0% 100.0% 0.34 1.7%18 5 6 3/3 100.0% 100.0% 0.34 1.7%19 5 8 3/3 100.0% 100.0% 0.14 0.71%20 5 10 3/3 100.0% 100.0% 0.34 1.7%21 1 1 3/3 100.0% 100.0% 0.14 0.71%22 1 3 3/3 100.0% 100.0% 0.34 1.7%23 1 6 3/3 100.0% 100.0% 0.34 1.7%24 1 8 3/3 100.0% 100.0% 0.34 1.7%25 1 10 3/3 100.0% 100.0% 0.14 0.71%

Tabella C.52: Dataset13 - α = 1; τ = 0.1; #Sequenze = 4; Iterazioni = 200; Tipo-logia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza;Epoche Start = 3; Epoche Max = 6;

Laurea Magistrale in Informatica 157

Page 177: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Bibliografia

Ahmed, Amr, & Xing, Eric P. 2009. Recovering time-varying networks of

dependencies in social and biological studies. roceedings of the National

Academy of Sciences, 106(29):11878–11883.

Cassio P. de Campos, Qiang Ji. 2011. Efficient Structure Learning of Bayesian

Networks using Constraints. Journal of Machine Learning Research, 12,

663–689.

Chickering, David Maxwell. 1994. Learning Bayesian networks is NP-hard.

Tech. rept. Microsoft Research.

Dean, Jeffrey, & Ghemawat, Sanjay. 2004. MapReduce: Simplified Data

Processing on Large Clusters. In: OSDI 2004.

Dean, Thomas, & Kanazawa, Keiji. 1989. A model for reasoning about

persistence and causation. Computational Intelligence.

Fisher, R. A. 1922. On the mathematical foundations of theoretical statistics.

Philosophical Transactions of the Royal Society.

Gelman, & Rubin. 1992. Inference from iterative simulation using multiple

sequences. Statistical Science, Vol. 7, No. 4, 457-511.

Heckerman, David. 1996. A Tutorial on Learning With Bayesian Networks.

Innovations in Bayesian Networks.

Heckerman, David, Geiger, Dan, & Chickering, David M. 1995. Learning Baye-

sian networks: The combination of knowledge and statistical data. Machine

Learning.

Koller, D., & Friedman, N. 2009. Probabilistic Graphical Models: Principles

and Techniques. MIT Press.

158

Page 178: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Bibliografia

Murphy, Kevin Patrik. 2002. Dynamic Bayesian Networks: Representation,

Inference and LEarning. Ph.D. thesis, University of California, Berkeley.

Murphy, Kevin Patrik. 2012. Machine Learning: A probabilistic Perspective.

MIT Press.

Neapolitan, Richard E. 2004. Learning bayesian networks. Pearson Prentice

Hall Upper Saddle River.

Nodelman, Uri D. 2007. Continuous Time Bayesian Networks. Ph.D. thesis,

Stanford University.

Nodelman, Uri D., Shelton, C. R., & Koller, D. 2002a. Continuous Time Baye-

sian Networks. In: Proceedings of the Eighteenth Conference on Uncertainty

in Artificial Intelligence (UAI).

Nodelman, Uri D., Shelton, CR, & Koller, Daphne. 2002b. Learning continuous

time Bayesian networks. Proceedings of the Nineteenth . . . .

Norris, James R. 1998. Markov chains. Cambridge University Press.

Pearl, Judea. 1988. Probabilistic reasoning in intelligent systems: networks of

plausible inference. Morgan Kaufmann Publishers Inc.

Richard E. Devor, Tsong-how Chang, John W. Shutherland. 1992. Stati-

stical Quality Design and Control: Contemporary Concepts and Methods.

Macmillan Publishing Company.

Robinson, Joshua W., & Hartemink, Alexander J. 2010. Learning

Non-Stationary Dynamic Bayesian Networks. Journal of Machine Learning.

Russell, Stuart J., & Norvig, Peter. 2003. Artificial Intelligence: A Modern

Approach. Pearson Education.

S. Lèbre, J. Becq, F. Devaux M. Stumpf G. Lelandais. 2010. Statistical inferen-

ce of the time-varying structure of gene-regulation networks. BMC Systems

Biology 4:130.

Steck, Harald and Jaakkola, Tommi S. 2002. On the Dirichlet Prior

and Bayesian Regularization. Advances in Neural Information Processing

Systems.

Laurea Magistrale in Informatica 159

Page 179: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Bibliografia

Stella, F. 2013. Data e Text Mining. Slide Esame.

Verma T., Perl J. 1988. Causal Networks: Semantics and Espressiveness. In

Proceedings of the Fourth Workshop on Uncertainty in Artificial Intelligence.

352-259.

Whitt, Ward. 2006. Continuous-time markov chains. In: INTERNET: www.

columbia. edu/ ww2040.

Laurea Magistrale in Informatica 160

Page 180: Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Acronimi

BDe Bayesian Dirichlet Equivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

BDeu Bayesian Dirichlet Equivalent Uniform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

NHDBN Non Omogeneous Dynamic Bayesian Netowrk . . . . . . . . . . . . . . . . . . . . . . . 15

Discrete Binary MRF Discrete Binary Markov Random Field . . . . . . . . . . . . . . . . . . . . . . . 13

Time-Varying DBN Time-Varying Dynamic Bayesian Netowrk . . . . . . . . . . . . . . . . . . . . . 14

MH Metropolis-Hastings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

SA Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

CPT tabella di probabilità condizionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI

BN Bayesian Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .VI

CIM matrice di intensità condizionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

CPD distribuzione di probabilità condizionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

CTBN Continuous Time Bayesian Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .VI

DAG grafo aciclico orientato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

DBN Dynamic Bayesian Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI

IM matrice di intensità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

MCMC Markov Chain Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

MLE Maximum Likelihood Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

NHCTBN Non-Homogeneous Continuous Time Bayesian Network . . . . . . . . . . . . . III

HDFS Hadoop Distributed File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

161