Analisi Multivariata con TMVA

annuncio pubblicitario
Analisi Multivariata con TMVA
27 gennaio 2010
1
I dati
Lo scopo dell’analisi è discriminare il segnale dal fondo usando otto variabili. Dalla
figura 1 si osserva che le variabili hanno poco potere discriminante.
Nella figura 2 sono mostrate le matrici di correlazione delle variabili per il segnale
e per il fondo.
1.1
Train e Test
Si usano 2000 eventi sia per il segnale che per il fondo per eseguire il training, mentre
si usano 1000 eventi di segnale e fondo per il test.
2
Reti Neurali
Si provano a trainare diverse reti neurali con numero differente di neuroni per livello.
La figura 3 mostra le ROC curve nei diversi casi. Si noti che i metodi con N/2
neuroni e quello con 2*N neuroni in un livello nascosto hanno ROC curve con lo
stesso andamento, così come si hanno lo stesso andamento per le reti neurali con N+1
neuroni in un livello e quella con due livelli con N+1 neuroni ciascuno.
Nella figura 4 è mostrato che i 500 cicli scelti sono sufficienti per ottenere corretta
convergenza della rete e nello stesso tempo per non avere overtraining.
Come metodo si sceglie quello con con N*2 neuroni in un livello.
3
Alberi decisionali
Si usa il metodo degli alberi decisionali con 500 alberi nCuts=20 e prune parameter=4.5 e diversi criteri di ottimizzazione dellosplitting dei nodi. Si utilizzano GiniIndex, MisClassificationError e CrossEntropy. Nel caso di MisClassificationError
e CrossEntropy si ha overtraining, come si vede dal confronto delle loro ROC curve
(figura 5) e dal confronto tra i campioni di training e i campioni di test (figura 6)
A questo punto si sceglie come criterio GiniIndex e si prova a far variare il numero
di alberi e il prune parameter. In figura 7 sono mostrate le ROC Curve dei vari metodi
usati.
La miglior prestazione del metodo con prune parameter=3 e nTree=1000.
Nel caso in cui il prune parameter sia uguale a 0.5 si ha overtraining, come mostrato
in fig. 8
3. Alberi decisionali
2
0.03
0.02
0.01
5
10 15 20 25
30 35 40 45
200
150
100
50
0
0
50
1
0.5
0.4
0.5
0.6
0.7
0.8
0.9
10
8
6
4
2
0
1
0.4
0.5
0.6
0.7
var4
0.4
0.6
0.8
1
var3
0.8
0.9
1
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0.2
0.4
0.6
0.8
1
var5
var6
TMVA Input Variable: var8
7
6
5
4
3
2
1
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
1
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
8
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
9
Normalised
TMVA Input Variable: var7
Normalised
0.2
TMVA Input Variable: var6
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
1.5
Normalised
Normalised
2
0.3
0
0
TMVA Input Variable: var5
3
0
1
var2
TMVA Input Variable: var4
2.5
2
0.5
0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
var1
2.5
1.5
Normalised
0
250
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
0.04
300
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
0.05
350
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
0.06
TMVA Input Variable: var3
400
Normalised
0.07
Normalised
TMVA Input Variable: var2
Signal
Background
0.08
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
Normalised
TMVA Input Variable: var1
0.8
0.6
0.4
0.2
0
var7
0.4 0.6 0.8
1
1.2 1.4 1.6 1.8
2
var8
Figura 1: Plot delle variabili. I bin vuoti per la variabile var1 sono causati dal fatto
che questa variabile è discreta.
Correlation Matrix (signal)
var4
Correlation Matrix (background)
var1
var2
var3
var5 correlation
var6
vcoefficients
var8 in %
ar7
Linear
var1
var2
var3
var4
var8
63
4
34
-19
-5
-12
-17
100
var8
var8
72
27
29
1
-3
-24
-3
100
var8
var7
-1
25
34
-12
-42
-47
100
-17
var7
60
var7
11
25
43
-8
-44
-58
100
-3
var7
var6
-53
-71
-82
33
69
100
-47
-12
var640
var6
-59
-73
-83
15
50
100
-58
-24
var5
-39
-42
-64
25
100
69
-42
-5
var5
-28
-22
-56
23
100
50
-44
-3
var5
-42
100
23
15
-8
1
var4
-42
-56
-83
43
29
var3
-22
-73
25
27
var2-60
-28
-59
11
72
var1
var7
var8
100
80
20
var5
var5 correlation
var6
vcoefficients
var8 in %
ar7
Linear
0
-33
-18
-54
100
25
33
-12
-19
var4
var4
-13
var3
69
57
100
-54
-64
-82
34
34
var3
-40
var3
67
60
100
var2
38
100
57
-18
-42
-71
25
4
var2-60
var2
56
100
60
var1
100
38
69
-33
-39
-53
-1
63
var1
100
56
67
var2
var3
var7
var8
var2
var3
var1
var4
var5
var6
-80
var1
-100
80
60
var640
20
0
var4
-20
100
var1
-13
var4
var5
var6
Figura 2: Matrici di correlazione per il segnale e per il fondo
-20
-40
-80
-100
3. Alberi decisionali
3
Background rejection
Background rejection versus Signal efficiency
1
0.9
0.8
0.7
0.6
MVA Method:
ANN_2N
ANN_Nmezzi
ANN_N+1
ANN_2_livelli
0.5
0.4
0.3
0.2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Signal efficiency
Figura 3: ROC curve per diverse configurazioni dei livelli nascosti. 2N indicano N*2
neuroni in un livello, Nmezzi N/2 neuroni in un livello, 2_livelli indica due livelli con
N+1 neuroni ciascuno.
Estimator
MLP Convergence Test
Training Sample
0.44
Test sample
0.42
0.4
0.38
0.36
50
100
150
200
250
300
350
400
Figura 4: MPL Convergence Test
450 500
Epochs
3. Alberi decisionali
4
Figura 5: ROC curve di metodi con diversi criteri di ottimizzazione
Figura 6: Confronto tra il campione di training e il campione di test. Nel primo
grafico si è utilizzato come metodo di separazione CrossEntropy, mentre nel secondo
MisClassificationError. In entrambi i casi è evidente l’overtraining
Figura 7: ROC curve per diversi parametri nTree e prune
4. Fisher
5
TMVA overtraining check for classifier: BDT_1000_05
3
Signal (test sample)
Signal (training sample)
Background (test sample)
Background (training sample)
Kolmogorov-Smirnov test: signal (background) probability = 3.23e-11 (1.08e-08)
2.5
60
Signal (test sample)
Signal (training sample)
Background (test sample)
Background (training sample)
Kolmogorov-Smirnov test: signal (background) probability =
0(
0)
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
50
2
1.5
1
0.5
0
70
-0.4
-0.2
0
0.2
0.4
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
3.5
Normalized
Normalized
TMVA overtraining check for classifier: BDT_1000_3
40
30
20
10
0
0.6
-0.4
-0.2
0
BDT_1000_3 response
0.2
0.4
BDT_1000_05 response
Figura 8: Confronto tra i dati di training e i dati di test nel caso in cui si hanno
nTree=1000 e prune parameter=3 e 0.5 rispettivamente. Si noti che nel secondo caso
si ha overtraining
3.5
TMVA overtraining check for classifier: BDT_500_9
Signal (test sample)
Signal (training sample)
Background (test sample)
Background (training sample)
Kolmogorov-Smirnov test: signal (background) probability = 1.04e-20 (7.85e-13)
3
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
2.5
2
1.5
1
0.5
0
-0.4
-0.2
0
0.2
0.4
BDT_500_6 response
4
3.5
Signal (test sample)
Signal (training sample)
Background (test sample)
Background (training sample)
Kolmogorov-Smirnov test: signal (background) probability = 0.0129 (0.0425)
3
2.5
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
4
Normalized
Normalized
TMVA overtraining check for classifier: BDT_500_6
2
1.5
1
0.5
0
-0.4
-0.2
0
0.2
0.4
BDT_500_9 response
Figura 9: Confronto sample di training e sample di test, usando come criterio di
separazione CrossEntropy. Si vede che per prune parameter=6 il campione di test
differisce significativamente rispetto al campione di training. Con prune parameter=9
(secondo grafico) i dati di test e di training si sovrappongono abbastanza bene.
Scegliendo invece come criterio di separazione la cross entropy per evitare overtraining, a parità di nTree, si deve aumentare il valore del prune parameter, come
mostrato nella figura 9.
4
Fisher
Mettendo a confronto il metodo di Fisher con la rete neurale con un livello con 2*N
neuroni e il metodo degli alberi decisionali con parametri nTree=500, prune parameter=3 si ottengono le ROC curve mostrate in figura 10. Si può notare che il metodo di
Fisher è il meno performante dei tre. D’altra parte Fisher è un buon metodo quando
le matrici di correlazione del segnale e del fondo sono simili tra loro e non è questo il
caso.
I risultati dei tre metodi sono visualizzati nelle fig. 11 e 12.
5
Esclusione di variabili
Si prova ad escludere la variabile con la maggiore correlazione (var3 ) e si riapplicano
i tre metodi. Dal confronto delle ROC curve di fig. 10 e 13 non si notano particolari
5. Esclusione di variabili
6
Background rejection
Background rejection versus Signal efficiency
1
0.9
0.8
0.7
0.6
0.5
MVA Method:
ANN
BDT_500_3
Fisher
0.4
0.3
0.2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Signal efficiency
Figura 10: Confronto delle ROC curve ottenuti con i diversi metodi
Background efficiency
0.8
18
16
0.6
14
12
10
0.4
0.2
0
Efficiency (Purity)
24
22
20
1
-1
-0.5
0
0.5
1
25
1
20
0.8
15
0.6
10
0.4
8
6
For 1000 signal and 1000 background
events the maximum S / S+B is
22.5506 when cutting at -0.4478
Signal purity
Signal efficiency*purity
S / S+B
Signal efficiency
Significance
Background efficiency
Efficiency (Purity)
Cut efficiencies and optimal cut value
Signal purity
Signal efficiency*purity
S / S+B
Signal efficiency
4
0.2
2
0
0
Significance
Cut efficiencies and optimal cut value
5
For 1000 signal and 1000 background
events the maximum S / S+B is
23.4536 when cutting at -0.0822
-0.4
-0.2
Fisher output
0
0.2
0.4
0.6
0
BDT_500_3 output
Signal purity
Signal efficiency*purity
S / S+B
Signal efficiency
Efficiency (Purity)
Background efficiency
25
1
20
0.8
15
0.6
10
0.4
0.2
0
Significance
Cut efficiencies and optimal cut value
5
For 1000 signal and 1000 background
events the maximum S / S+B is
23.7264 when cutting at -0.2871
-1.5
-1
-0.5
0
0.5
1
0
ANN output
Figura 11: Purezza del segnale (blu tratteggiata), efficienza del segnale (blu puntata)
e efficienza del fondo (rossa continua) per Fisher, BDT e ANN con le configurazioni
migliori (BDT nTree=500, prune=3 e ANN: 1 livello con 2*N neuroni
6. Conclusioni
7
1.8
TMVA overtraining check for classifier: BDT_500_3
Signal (test sample)
Signal (training sample)
Background (test sample)
Background (training sample)
Kolmogorov-Smirnov test: signal (background) probability = 0.884 (0.578)
1.6
1.2
1
0.8
0.6
0.4
0.2
0
-1
-0.5
0
0.5
Signal (test sample)
Signal (training sample)
Background (test sample)
Background (training sample)
Kolmogorov-Smirnov test: signal (background) probability = 3.76e-10 (2.21e-07)
2.5
2
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
1.4
3
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
2
Normalized
Normalized
TMVA overtraining check for classifier: Fisher
1.5
1
0.5
0
1
-0.4
-0.2
Fisher response
0
0.2
0.4
0.6
BDT_500_3 response
Normalized
TMVA overtraining check for classifier: ANN
1.4
1.2
Signal (test sample)
Signal (training sample)
Background (test sample)
Background (training sample)
Kolmogorov-Smirnov test: signal (background) probability = 0.758 (0.403)
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
1
0.8
0.6
0.4
0.2
0
-1.5
-1
-0.5
0
0.5
1
ANN response
Figura 12: Confronto dei campioni di training e per i campioni di test per i tre metodi
usati.
Variabile
var2
var7
var5
var6
var4
var3
var8
var1
Importanza
1.24 · 104
5.29 · 101
2.12
1.13
5.09 · 10−1
3.02 · 10−1
2.34 · 10−1
2.55 · 10−2
Tabella 1: Importanza delle variabili nella rete neurale
miglioramenti. Il metodo di Fisher è anzi peggiorato, poiché è stata tolta una variabile
(var3 ) che ha correlazioni simili tra segnale e fondo.
Per la rete neurale l’importanza della var1 (vedi tab. 1) è molto minore rispetto
alle altre. Provando a togliere questa variabile si ottiene una ROC curve più bassa
rispetto al caso con tutte le variabili (vedi fig. 14). La separazione tra segnale e fondo
è mostrata nella fig. 15.
6
Conclusioni
Dopo aver esaminato diversi metodi con diverse configurazioni il metodo migliore
sembra essere la rete neurale con 1 livello nascosto contenenti 2*N variabili, usando
tutte e 8 le variabili.
6. Conclusioni
8
Background rejection
Background rejection versus Signal efficiency
1
0.9
0.8
0.7
0.6
0.5
MVA Method:
ANN
BDT
Fisher
0.4
0.3
0.2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Signal efficiency
Figura 13: Confronto delle ROC curve ottenuti con i diversi metodi dopo aver tolto
la variabile var3
Background rejection
Background rejection versus Signal efficiency
1
0.9
0.8
0.7
0.6
0.5
MVA Method:
ANN
BDT
Fisher
0.4
0.3
0.2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Signal efficiency
Figura 14: Confronto delle ROC curve ottenuti con i diversi metodi dopo aver tolto
la var1
6. Conclusioni
9
Normalized
TMVA overtraining check for classifier: ANN
2.2
2
1.8
Signal (test sample)
Signal (training sample)
Background (test sample)
Background (training sample)
Kolmogorov-Smirnov test: signal (background) probability = 0.229 (0.722)
1.6
U/O-flow (S,B): (0.0, 0.0)% / (0.0, 0.0)%
1.4
1.2
1
0.8
0.6
0.4
0.2
0
-1.5
-1
-0.5
0
0.5
1
ANN response
Figura 15: Separazione del segnale e del fondo usando la rete neurale con un livello
nascosto con 2*N neuroni e senza la variabile var1
Scarica