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