Lezione 22 - INFN - Sezione di Padova

Analisi Statistiche Multivariate con il
pacchetto TMVA
Università degli studi di Padova
21 Gennaio 2014
Credits
Il materiale utilizzato per la presentazione proviene da:
• Andreas Hoecker (CERN), "Multivariate Data Analysis
Techniques", presentazione al Workshop on Statistics, Karlsruhe,
Germany, 12-14 Ottobre 2009
• Helge Voss (MPI-K, Heidelberg), "Data Analysis with TMVA",
Seminario a Lausanne, 12 Aprile 2010
• A. Hoecker et al, "TMVA - Toolkit for Multivariate Data Analysis",
User Guide, arXiv:physics/0703039
Classificazione di Eventi
Event Classification
• La separazione di segnale dal fondo è uno dei tipici problemi che si
presentano nell’analisi dei dati sperimentali
!   Suppose data sample with two types of events: H0, H1
• Supponiamo di avere due categorie di eventi H0 e H1
!   •We
found
discriminating
input variables
x1 , x2 , …
Sihave
sono
individuate
osservabili
che permettono
la discriminazione x1 ,
!   What
X2 , decision
. . ., xn boundary should we use to select events of type H1 ?
• Studiamo dei "tagli" nello spazio dei parametri per separarli
Rectangular cuts?
x2
A linear boundary?
x2
H1
x2
H1
H0
A nonlinear one?
H0
x1
H1
H0
x1
x1
• Qual’è il criterio migliore per isolare il segnale ?
!   How can we decide this in an optimal way ? ! Let the machine learn it !
Top Workshop,
Karlsruhe,
Oct 12,
LPSC,
2009Oct 18–20, 2007
A. Hoecker
A. Hoecker:
! Multivariate
MultivariateData
Analysis
Analysis
with TMVA
6
Regression
!   How to estimate a “functional
behaviour” from a set of measurements?
Regressione
!   Energy deposit in a the calorimeter, distance between overlapping photons, …
• Un altro problema ricorrente è la ricerca di un modello funzionale che
!   Entry
locationi dati
of the particle in the calorimeter or on a silicon pad, …
descriva
Constant ?
Linear function ?
Nonlinear ?
f(x)
f(x)
f(x)
x
x
!   Seems
trivial? What
if we have
many specialmente
input variables?
• Il problema
è tutt’altro
che banale
se lo spazio degli
osservabili
è multidimensionale
Top Workshop,
Karlsruhe,
Oct 12,
LPSC,
2009Oct 18–20, 2007
A. Hoecker
A. Hoecker:
! Multivariate
MultivariateData
Analysis
Analysis
with TMVA
x
7
Each event, Signal or Background, has “D”
measured variables.
Multivariate Event Classification
Find a mapping
from D-dimensional
La classificazione
degli eventi in N-dim
input-observable = ”feature”
space
Each
event, Signal or Background, has “D”
• Per ogni evento (segnale o background) vengono
to one dimensional misurate
outputmeasured
!variabili
classvariables.
labels
N
Find a mapping from D-dimensional
input-observable
= ”feature”
space
N-dimensioni
ad unax variabile
Ddi output
yto =one
y(x);
in
!
dimensional output ! class labels
• Si cercaMost
un mapping
dallo
spazio dei parametri a
general
form
!D
y(x): Rn!R:
ture
ace”
x={x1,….,xyD}:
variables
(x)input
: RN →
R
!
Plotting the resultingD
y(x) values:
“feature
!
y(x): Rn!R:
space”
Plotting the resulting
y(x) values:
!
Most general form
y = y(x); x in !D
x={x1,….,xD}: input variables
y(x)
t 18–20, 2007
A. Hoecker
A. Hoecker:
! Multivariate
MultivariateData
Analysis
Analysis
with TMVA
Top Workshop,
Karlsruhe,
Oct 12,
LPSC,
2009Oct 18–20, 2007
8
y(x)
A. Hoecker
A. Hoecker:
! Multivariate
MultivariateData
Analysis
Analysis
with TMVA
Multivariate Event Classification
Multivariate Event Classification
La classificazione degli eventi in N-dim
Each event, Signal or Background, has “D”
measured variables.
Each event, Signal or Background, has “D”
measured variables.
!D
“feature
space”
Workshop,
ruhe, Oct 12,
LPSC,
2009Oct 18–20, 2007
Find a mapping from D-dimensional
input-observable = ”feature” space
to one dimensional output ! class labels
y(x): Rn!R:
y(x)general form
Most
y = y(x);
x nello
in !D
• y (x) rappresenta
una variabile statistica
di test
n!R:
D
y(x):
R
y(x): “test statistic” in D-dimensional space of input variables
spazio a N-dim dei parametri
x={x1,….,xD}: input variables
“feature
Distributions
of y(x): PDFS(y) and PDFB(y)
• Le distribuzioni
di y , PDFsignal (y) e PDFbackground (y)
space”
Plotting
theper
resulting
> cut: signal
Used to set thevengono
selection cut!
utilizzate
definire
tagli di selezione
y(x):
= cut: decision boundary
y(x) values:
< cut:
backgroundil taglio sono:
!  Efficiency•and
purity
I parametri
importanti per
decidere
!
!
!
• efficienza
: frazione
eventi di segnale accettato sul
y(x) = const: surface
defining the
decision di
boundary.
totale degli eventi di segnale Ns (y > cut)/Ns
Overlap of PDFS(y) and PDFB(y) affects separation power, purity
• purezza : frazione di eventi segnali presenti nel
A. Hoecker
A. Hoecker:
! Multivariate
MultivariateData
Analysis
Analysis
with TMVA
campione selezionato Ns (y > cut)/N(y 9> cut)
y(x)
Classificazione di Eventi
• P(classe = C|x) è la probabilità che un evento sia di classe C, date
un insieme di osservabili misurate ~x = {x1 , x2 , . . . , xN }
Probabilità Priori di osservare un
evento di classe-C (equivale alla
frazione di eventi di segnale sul
totale signal+background)
Densità di Probabilità dipendente dalle
misure ~x e dalla funzione di mapping
P(y |C)P(C)
P(classe = C|y ) =
P(y )
Probabilità a posteriori
Densità di probabilità globale di effettuare la
misura y(x)
P
P(y ) = classi P(y |Classe)P(Classe)
ent Classification
ignal or Background, has “D”
Esempio
iables.
di classificazione
• PDFbackground (y) e PDFsignal (y)
rappresentano le distribuzioni di
probabilità normalizzate per gli eventi di
fondo e di segnale
1.5
• Supponiamo di avere un evento
sconosciuto per il quale si misura
y (x) = 0.2
0.45
y(x)
!
• calcoliamo PDF
(y) = 1.5 e PDFsignal (y) = 0.45
stic” in D-dimensional space of input background
variables
• supponendo che fS e fB siano le frazioni si segnale e di fondo nel
y(x): PDFS(y) and PDF
campione,
possiamo scrivere
B(y)
selection cut!
y(x):
d purity
> cut: signal
fS PDFsignal (y )
= cut:P(signal|y
decision boundary
)=
fS PDFsignal (y ) + fB PDFbackground (y )
< cut: background
rface defining the•decision
boundary.
P(signal|y
) è la probabilità che un evento sia di segnale, dati gli
S(y)
~
osservabili
misurati
x =purity
{x1 , x2 , . . . , nN }
and PDFB(y) affects
separation
power,
Multivariate
MultivariateData
Analysis
Analysis
with TMVA
9
Bayes Optimal Classification
P(classe = C|y ) =
P(y |C)P(C)
P(y )
• Per separare il Segnale rispetto al Background, si sceglie come
criterio di selezione
Posterior odd ratio
P(S|y ) P(y |S) P(S)
=
·
>c
P(B|y ) P(y |B) P(B)
Likelihood ratio come
funzione discriminante in y(x)
c ∝ efficienza
e purezza
Prior odds ratio di selezionare
un evento di segnale (probabilità relativa del segnale versus
fondo)
Errori
di classificazione
Any
Decision
Involves a Risk
• Nella selezione di eventi di Segnale su
Decide
to treat
an event as “Signal”
or “Background”
eventi
di Background
si può incorrere
in
Type-1
error:di I tipo :
• errori
classify
as Class
C even
thoughCit ma
is not
• sievent
classifica
un evento
di classe
non
(accept a hypothesis although it is not true)
lo è:
(reject the null-hypothesis although it would have been the correct one)
rigetta l’ipotesi nulla sebbene sarebbe
!  loss (si
of purity
(in the selection of signal events)
stata quella corretta)
perdita di purezza
Type-2 →
error:
to identify
event
•failerrori
di II an
tipo
: from Class C as such
(reject a hypothesis although it would have been true)
• non
si classifica un evento
che although
sarebbe
(fail to reject
the null-hypothesis/accept
null hypothesis
it is false)
Trying to select signal events:
(i.e. try to disprove the null-hypothesis
stating it were “only” a background event)
Signal
Background
Signal
"
Type-2
error
Background
Type-1
error
"
di classe(inC:selecting signal events)
!  loss stato
of efficiency
(si rigetta un’ipotesi che sarebbe stata
“A”: regionquella
of thevera)
outcome of the test where you accept the event as signal:
→ perdita di efficienza
Significance
Type-1 error
! = come
P(x |segnale:
B)dx
• se A ":
= regione
nellarate:
quale si accettano gli eventi
R
(=p-value): " = background selection “efficiency”
• α = A P(x|B)dx,
α = background selection Aefficiency
"
Size #:
Type-2 error rate:
! =efficiency
P(x | S)dx
• β = A P(x|S)dx,
1 − β = signal selection
Power: 1- # = signal selection efficiency
!A
R
Top Workshop,
Karlsruhe,
Oct 12,
LPSC,
2009Oct 18–20, 2007
"
A. Hoecker
A. Hoecker:
! Multivariate
MultivariateData
Analysis
Analysis
with TMVA
should be
small
should be
small
12
Neyman-Pearson
Lemma
Lemma
di Neyman-Pearson
• Rapporto di verosimiglianza
(Likelihood):
The Likelihood ratio used as “selection criterion”
• Neyman-Pearson :
y(x) gives for each selection efficiency the best
possible
background
Il rapporto
di rejection.
verosimiglianza usato
come criterio
di selezione
fornisce per
i.e. it maximises
the area
under the “Receiver
Operation
(ROC) curvela migliore
ogniCharacteristics”
efficienza di selezione
reiezione di background possibile
1
1- !backgr.
P(x|S)
y (x) =
Neyman-Peason:
P(x|B)
0
Type-1
error small
Type-2
error large
Type-1 error large
Type-2 error small
0
!signal
1
• Spostando
il tagliothe
si working
y (x) si muove
il punto di
lavoro
(cambiando
Varying
y(x)>“cut” moves
point (efficiency
and
purity)
along the ROC curve
efficienza e purezza) lungo la curva denominata "Receiver Operation
Characteristics"
How to choose “cut”? ! need to know prior probabilities (S, B abundances)
•  Measurement of signal cross section: maximum of S/"(S+B) or equiv. "(!#p)
• • Discovery
of a signal : il taglio
maximum
of S/"(B) conoscere le probabilità
Come scegliere
? Occorre
•  Precision
measurement:
high purity (p)
(Priors),
cioè le abbondanze
di Segnale e Background
•  Trigger selection:
high efficiency (!)
Top Workshop,
Karlsruhe,
Oct 12,
LPSC,
2009Oct 18–20, 2007
a priori
A. Hoecker
A. Hoecker:
! Multivariate
MultivariateData
Analysis
Analysis
with TMVA
La Classificazione di Eventi nella Realtà
• Sfortunatamente non sempre si conoscono le densità di probabilità del
Segnale e del Background
• Spesso si utilizza la generazione Monte Carlo per avere una stima del
Segnale e del Fondo
• Altre volte si riescono a trovare campioni di eventi di dati reali che
rappresentano il segnale e il fondo
• Utilizziamo gli eventi di "training" per
• Dare una stima della forma funzionale per P(x|C) dalla quale si può
ricavare il rapporto di verosimiglianza
• Determinare una funzione di discriminazione y (x) ed una regione dove
tagliare per ottimizzare la separazione del Segnale dal Background
• anche se non esiste una prescrizione magica che vada bene in
generale
•
⇒ supervised (machine) learning
13
Metodi di Analisi Multivariata
• Alcune tecniche di analisi
• Rectangular Cut optimization (binary splits)
• Projective and multidimensional likelihood estimation
• Linear and nonlinear discriminant analysis ((H-Matrix, Fisher, FDA)
• Artificial Neural Networks
• Boosted/Bagged decision trees
• Predictive learning via rule ensambles (RuleFit)
• Support Vector Machine
• TMVA è un ambiente di lavoro per Analisi Multivariata e Machine
Learning (diponibile in ROOT) che fornisce
• Una interfaccia comune per svariati metodi di classificazione e
regressione
• Home Page: http://tmva.sourceforge.net
• Tutorial Wiki: https://twiki.cern.ch/twiki/bin/view/TMVA/WebHome
• User Guide: http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf
Nonlinear Analysis: Artificial Neural Networks
Nonlinear Analysis: Artificial Neural Networks
Artificial Neural Networks
pesi1 input
nonineari
layer
Feed-forward Multilayer Perceptron
Feed-forward Multilayer Perceptron
  Achieve nonlinear classifier response by “activating”
• tecnicanonlinear
Multivariataclassifier
nonlineare:response
permette diby
ottenere
una
!   nodes
Achieve
“activating”
output
using nonlinear
weights
classificazione "attivando" specifici nodi di output tramite
output
nodes using nonlinear weights
k hidden layers
1 input layer
1
..
.
Nvar discriminating
i
input variables
Nvar discriminating
input variables
..
.
N
1
..
..
..
..
..
..
1
...
1 ouput layer
k hidden layers
.. . . .
..
..
..
.
1
1
i
j
Mk
N
M1
j
M1
1 ouput layer
1
2 output classes
(signal and background)
2 output classes
(signal and background)
Mk
..
.
(“Activation” function)
with:
(“Activation” function)
with:
Weight adjustment using
analytical back-propagation
Weight adjustment using
analytical back-propagation
  Three different
implementations
in TMVA (all are Multilayer Perceptrons)
Reti Neurali
disponibili in TMVA:
!   Three
different implementations in TMVA (all are Multilayer Perceptrons)
•
toMLP
ROOT
MLP implementation
!   TMlpANN: TMlpANN:
Interface Interface
to ROOT’s
implementation
MLP:
TMVA
own
MLP
for
increased
speed
flexibility
Interface
toimplementation
ROOT’s MLPfor
implementation
!   MLP: !   •TMlpANN:
TMVA’s
own
MLP
implementation
increased
speed
andand
flexibility
CFMlpANN:TMVA’s
ALEPHown
Higgs
search ANN, translated
from FORTRAN
!   •MLP:
MLP
increased
speed and flexibility
!   CFMlpANN:
ALEPH’s Higgs search
ANN,implementation
translated fromfor
FORTRAN
!   CFMlpANN: ALEPH’s Higgs search ANN, translated from FORTRAN
?('(.(/($(((T
?('(.(/($(((T *(%(+
*(%(+
Helge Voss
+(;<8.@0#(T*%+(0/0#<'.'(@&/'.';'(&A(;B&(-0./(';"8'C
1.
Training phaseC(;10././$2(;"';./$(0/D("E0#40;.&/(&A(@#0''.A."1'(4'./$(D0;0('0-8#"'(B.;>(
F/&B/('.$/0#(0/D(G0@F$1&4/D(@&-8&'.;.&/(
2.
Application phaseC(4'./$('"#"@;"D(;10./"D(@#0''.A."1'(;&(@#0''.A<(4/F/&B/(D0;0('0-8#"'
H##4';10;.&/(&A(;>"'"(';"8'(B.;>(;&<(D0;0('0-8#"'
Æ ! "#$ %&%'()*+
!"#$" %&''(
)*%+(,"-./012(304'0//"2((567(+81.#(6959((ʊ :0;0(+/0#<'.'(=.;>()*%+(
!"!
?&@"(A#&B(C&1(Training 0/@(Application D>0'"'
Helge Voss
Æ ! "#$ %&%'()*+
+(,.-8#"(?@0-8#"(A&1(Training
Helge Voss
$%&'()*+,-.//&0&1.2&%34(5(
6
)B.#"C(&4;84;B.#" D()B.#"EEF8"/G(H)*%+71&&;H2(HI?JI?+)?H(KL
O1"0;"(Factory
)*+7889.12%:; <0.12%:;(=(3>?()*+7889.12%:;4(@*+73.-;/&/@A(%B2CB29&->A@D+@5E(
)B.#" C./84;(D()B.#"EEF8"/GH;-M0N"@0-8#"71&&;HKL
0.12%:;FG7''H&I3.-):>>
4(4)):>><5&3CB2FGJ>24@):>>H@5A(!K"(5E
0.12%:;FG7''L.1MI:%B3'):>> 4(4)):>><5&3CB2FGJ>24@):>>L@5A(!K"(5E
$.M"(;10././$Y;"';(;1""'
0.12%:;FG7''+.:&.N->4@$.:!O$.:P@A(Q9Q5E
0.12%:;FG7''+.:&.N->4@$.:!F$.:P@A(Q9Q5E
0.12%:;FG7''+.:&.N->4@$.:#@A(Q9Q5E
0.12%:;FG7''+.:&.N->4@$.:R@A(Q9Q5E
1"$.';"1(./84;(M01.0Z#"'
A0O;&1<PQR1"801")10././$+/S)"';)1""GHH2(HT,.$)10./DU999ETVW$)10./DU999E,8#.;*&S"DI0/S&-EX%H(KL
'"#"O;(*%+(
-";>&S'((
0.12%:;FGL%%M*>2S%'4()*+788);C>/88MT&M>-&S%%'A(@T&M>-&S%%'@A(
@D+8D):.3/0%:UVB2CB28HC-&3>=P8WHU%%2S=X8W7$Y$2Z>:L&3=X"@(5E(
0.12%:;FGL%%M*>2S%'4()*+788);C>/88M*TZA(@*TZ@A(@D+8W,;1->/=P""8[&''>3T.;>:/=WO!AW8)>/2\.2>=X@(5E
0.12%:;FG):.&37--*>2S%'/45E
0.12%:;FG)>/27--*>2S%'/45E
0.12%:;FGY$.-B.2>7--*>2S%'/45E((((
;10./2(;"';(0/S("M0#40;"
&4;84;B.#"PQJ#&'"GKL
S"#";"(A0O;&1<L
]
Æ ! "#$ %&%'()*+
!"#$" %&''(
)*%+(,"-./012(304'0//"2((567(+81.#(6959((ʊ :0;0(+/0#<'.'(=.;>()*%+(
!"#
+(,.-8#"(?@0-8#"(A&1(0/(Application
Helge Voss
$%&'()*+,-.//&0&1.2&%3455-&1.2&%36(7(
8
U1"0;"(Reader
)*+499:;.';< =<;.';<(>(3;?()*+499:;.';<6@A,%-%<@7B((((
B#&0;C; D0152(D0162(D01E2(D01FG
<;.';<CD4''+.<&.E-;6(@$.<!F$.<G@H(I$.<!(7B
<;.';<CD4''+.<&.E-;6(@$.<!C$.<G@H((I$.<G(7B
<;.';<CD4''+.<&.E-;6(@$.<J@H(I$.<J(7B
<;.';<CD4''+.<&.E-;6(@$.<#@H(I$.<#(7B
1"$.';"1(;>"(D01.0T#"'
T&&](U#0''.A."1L'N
<;.';<CDK%%L*+46(@*MN(1-.//&0&;<@H((@?;&OP2/Q*+43.-R/&/S*MNT?;&OP2/T2U2@(7B
)B.#" H./84;(I()B.#"JJK8"/LM;-D0C"@0-8#"71&&;MNG
))1""H(;>")1"" I(L))1""HN./84;OPQ";LM)1"",MNG
81"801"("D"/;(#&&8(
RR(S '";(T10/U>(0VV1"''"'(A&1(4'"1())1""
A&1(L3&/$WFC;(."D;IE999G(."D;X;>")1""OPQ";?/;1."'LNG."D;YYN(Z
;>")1""OPQ";?/;1<L."D;NG
$.<!(>(V/;<+.<!(F(V/;<+.<GB
$.<G(>(V/;<+.<!(C V/;<+.<GB
$.<J(>(V/;<+.<JB
$.<#(>(V/;<+.<#B
W%VE-;S2 %V2(>((<;.';<CDX$.-V.2;*+46((@*MN(1-.//&0&;<@((7B
U&-84;"(./84;(D01.0T#"'
U0#U4#0;"(U#0''.A."1(&4;84;
QQ(V&('&-";>./$([.;>(.;(S
\
V"#";"(1"0V"1G
Y(
!"#$" %&''(
)*%+(,"-./012(304'0//"2((567(+81.#(6959((ʊ :0;0(+/0#<'.'(=.;>()*%+(
Æ ! "#$ %&%'()*+
!"#
:0;0(?1"8010;.&/
Helge Voss
:0;0(./84;(@&1-0;A(BCC)())1"" &1(+,DEE
,"#"F;.&/(0/<('4G'";(&1(F&-G./0;.&/(&1(@4/F;.&/(&@(0H0.#0G#"(H01.0G#"'(
+88#<(81"I'"#"F;.&/(F4;'(J8&''.G#<(./K"8"/K"/;(@&1('.$/0#(0/K(GL$M
:"@./"($#&G0#("H"/;(N".$>;'(@&1('.$/0#(&1(G0FL$1&4/K(./84;(@.#"'
:"@./"(./K.H.K40#("H"/;(N".$>;(J4'"(&@(0/<(./84;(H01.0G#"(81"'"/;(./(;10././$(K0;0M
D>&&'"(&/"(&4;(&@((H01.&4'(-";>&K'(@&1('8#.;;./$(./;&(;10././$(0/K(;"';('0-8#"'A
O#&FL(N.'"
B0/K&-#<
?"1.&K.F0##<(Ji7e7(8"1.&K.F0##<(P(;"';./$("H72(6(;10././$("H72(P(;"';./$("H2(6(;10././$("H7(Q7M
R'"1(K"@./"K(;10././$(0/K(;"';(;1""'(
D>&&'"(81"81&F"''./$(&@(./84;(H01.0G#"'(Je.g., K"F&11"#0;.&/M
!"#$" %&''(
)*%+(,"-./012(304'0//"2((567(+81.#(6959((ʊ :0;0(+/0#<'.'(=.;>()*%+(
*%+(?@0#40;.&/(A10-"B&1C(
!"#
Helge Voss
)*%+(.'(/&;(&/#<(0(D&##"D;.&/(&E(D#0''.E."1'2(F4;(0/(*%+(E10-"B&1C(
+E;"1(;10././$2()*%+(81&@.G"'(HII)("@0#40;.&/('D1.8;'(J;>1&4$>(KLMN
O#&;(0##('.$/0#(J,N(0/G(F0DC$1&4/G(JPN(./84;(@01.0F#"'(
B.;>(0/G(B.;>&4;(81"Q81&D"''./$
R&11"#0;.&/('D0;;"1'(0/G(#./"01(D&"EE.D."/;'(E&1(,(S(P
R#0''.E."1(&4;84;'(J,(S(PN(E&1(;"';(0/G(;10././$(
'0-8#"'(J'8&;(&@"1;10././$N
R#0''.E."1(Rarity G.';1.F4;.&/
R#0''.E."1('.$/.E.D0/D"(B.;>(&8;.-0#(D4;'
P(1"T"D;.&/(@"1'4'(,("EE.D."/D<
R#0''.E."1Q'8"D.E.D(8#&;'U
V 3.C"#.>&&G 1"E"1"/D" G.';1.F4;.&/'
V R#0''.E."1(O:A' JE&1(81&F0F.#.;< &4;84;(0/G(H01.;<N
V W";B&1C(01D>.;"D;41"2(B".$>;' 0/G(D&/@"1$"/D"
V H4#" A.;;./$ 0/0#<'.' 8#&;'
V %.'40#.'" G"D.'.&/(;1""'