Anda di halaman 1dari 8

ANALI SI DI SCRI MI NANTE E CLASSI FI CAZI ONE

Analisi discriminante: ricerca di differenze fra gruppi di osservazioni; si determinano delle


discriminanti, ovvero delle funzioni da applicare alle osservazioni il cui valore numerico consente
di discriminare (separare) al massimo i gruppi in considerazione.

Classificazione: allocazione di unosservazione a gruppi precedentemente definiti.

NB: il confine fra le due operazioni sottile in quanto i discriminanti possono essere utilizzati per
classificare e le regole di classificazione possono essere utilizzate come discriminanti.

Una buona classificazione possibile solo nel caso in cui esistano delle sostanziali differenze fra i
vettori media delle diverse classi. Occorre pertanto testare in primo luogo che i vettori media
differiscano tramite un test MANOVA one way (oppure test sulle medie per g =2).

APPROCCIO FISHER SU APPUNTI

MODELLO

Si vuole determinare una funzione di classificazione ( ) X per le osservazioni , 1,...,
p
i n =
i
X ,
tale per cui a seconda dei valori assunti dalle variabili di X vi venga associata unetichetta di
appartenenza ad un gruppo; definito { } 1,2,..., L g = linsieme dei gruppi ( ):
p
L

X
X


Si definiscono:

( ) 1,...,
i
f i g = X funzioni di densit della variabile X quando appartiene al gruppo i-esimo;

| |
1
0,1 i=1,...,g : 1
g
i i
i
p p
=
=

distribuzione a priori dei gruppi (necessaria quando nel training set


vi sono occorrenze delle osservazioni differenti dalle reali distribuzioni in alcuni casi si
inseriscono pari valori di fenomeni molto frequenti e poco frequenti per imparare a
discernere).
NB: quando le probabilit a priori non sono note, si suppongono tutte uguali
1
i
p
g
=

( | ) c i j costo di misclassificazione di un elemento appartenente al gruppo j-esimo come
appartenente al gruppo i-esimo.
0 se
( | )
0 se
i j
c i j
i j
>

= =

e di norma non vale ( | ) ( | ) c i j c j i =


NB: quando i costi di misclassificazione non sono noti, di norma di considerano tutti pari ad 1.

( ) X divide lo spazio
p
in sottorpazi R
i
tali che
1
e
g
p
i i
i i j
R R
=
= =

e in modo che se
i
R X
allora ( ) i = X .


Note tutte le grandezze sopra:

( ) ( | )
k
i
k i k i
R
f d P k i

=

X X la probabilit di misclassificazione di un elemento appartenente alli-


esimo gruppo;

1 ( | )
k i
P k i

probabilit di corretta classificazione di un osservazione in R


i

| |
1
( | ) ( | )
g
i
i k i
ECM p P k i c k i
=
=

costo atteso globale di misclassificazione




CLASSIFICAZIONE OTTIMA

Si definisce una regola di classificazione in modo da determinare le regioni R
i
che minimizzano il
costo atteso globale di misclassificazione.

Nel caso di g =2 gruppi

{ }
{ }
1 2 2 1 1
2 2 2 1 1
: (1|2) ( ) (2|1) ( )
: (1|2) ( ) (2|1) ( )
p
p
R pc f pc f
R pc f pc f
=
= >
X X X
X X X



ovvero identifico le regioni di classificazione in modo tale per cui lerrore unitario atteso di
misclassificazione della classe opposta inferiore a quello della classe in considerazione.

Nel caso di g >2 gruppi
1,...,
1 1
: ( ) ( | ) ( ) ( | ) 1,...,
min
g g
p
k i i i i
j g
i i
i k i j
R p f c k i p f c j i k g
=
= =



= = =
`

)

X X X

Ovvero dato X, si alloca alla classe k per la quale il costo totale di misclassificazione di qualcosa
che non k come k
1
( ) ( | )
g
i i
i
i k
p f c k i
=

X minimo. Se esistono pi classi per le quali il valore


identico, si pu allocare a scelta.



CLASSIFICAZIONE BAYESIANA PROBABILIT A POSTERIORI (pag. 584 e 608)

Si applica in caso di probabilit a priori note e costi di misclassificazione uguali o ignoti.

Definita la probabilit a posteriori ( | )
k
P R X la probabilit che X derivi dalla classe k dato che
stato osservato X:

( )
( | )
( )
k k
k g
i i
i i
p f
P R
p f
=
=

X
X
X


Si definisce la regola di classificazione tale per cui di associa X alla classe k con probabilit a
posteriori massima, ovvero:

{ }
1,...,
: ( | ) ( | ) 1,...,
max
p
k k j
j g
R P R P R k g
=
= = = X X X

NB: questa regola equivalente alla classificazione ottima con costi di misclassificazione unitari.

Per tutti gli approcci che ne derivano (LDA,QDA), le curve che delimitano la regione R
k
in
p

hanno la forma seguente:


1,...,
: ( | ) ( | )
max
p
k j
j g
j k
P R P R
=



=
`

)
X X X

CLASSIFICAZIONE PER TPM

Deriva dallottimizzazione dellECM con eguali costi di misclassificazione pari ad 1. Equivalente
allapproccio bayesiano.

Definita la probabilit totale di misclassificazione:

1
( | )
g
i
i k i
TPM p P k i
=
=



Si vuole classificare X in modo da minimizzare questa probabilit di errore, il che equivalente a
minimizzare lECM sostituendo ai costi di misclassificazione 1 (quindi vedi sopra).


CLASSIFICAZIONE DI MASSIMA VEROSIMIGLIANZA

Deriva dallottimizzazione dellECM quando i costi di misclassificazione e le probabilit a priori
sono uguali.

Associo X alla regione che massimizza la verosimiglianza di X ovvero:

{ }
1,...,
: ( ) ( ) 1,...,
max
p
k k j
j g
R f f k g
=
= = = X X X



CLASSIFICAZIONE PER POPOLAZIONI NORMALI (pag. 609)

( ) 1,...,
( | ) 1
k p
R N k g
c i j i j
=
=
k k
X X ,


NOTA: quando i costi di misclassificazione sono diversi, uso lescamotage di correggere le
probabilit a priori come segue:

1
1 1 1
( | ) ( | )
g g g
k k j
i j i
p p c i k p c i j

= = =
(
=
(


(ricorda che c(k|k) =0)

ANALISI DISCRIMINANTE QUADRATICA

Dallapproccio bayesiano, si sostituisce la formula della densit normale, si applica il logaritmo e si
svolgono i conti. Si determina:

1 1
( ) ln| | ( )' ( ) ln( )
2 2
Q
i i
d p = +
-1
i i i i
X X X distanza quadratica (quadratic discrimination score)

e si associa X alla classe per la quale questa distanza quadratica viene massimizzata, ovvero:

{ }
1,...,
: ( ) ( ) 1,...,
max
p Q Q
k k j
j g
R d d k g
=
= = = X X X

NB: sebbene si chiami distanza quadratica, lespressione sopra contiene lopposto della distanza al
quadrato dellosservazione dalla media della classe i-esima, pertanto la regola sopra determina la
classe in base al vettore media pi vicino allosservazione.

Nel caso particolare di g =2, la regola di allocazione :




Quando e non sono note, occorre stimarle con media e varianza (n-1) campionarie. In questo
caso non c garanzia che avvenga una minimizzazione dellECM e derivati in quanto le regole per
le normali sono state derivate per i casi di funzioni di densit completamente definite (per i
parametri e non per gli stimatori). Per campioni di grande dimensione la minimizzazione dovrebbe
avvenire.


CASO PARTICOLARE PER ... = = =
1 2 g
(pag. 611 ANALISI DISCRIMINANTE LINEARE)

Sostituendo nellespressione sopra per ogni
i
si ottengono dei termini costanti che possono
essere trascurati ai fini dellottimizzazione. Si determina pertanto la grandezza:
1
( ) ' ' ln( )
2
i i
d p = +
-1 -1
i i i
X X distanza lineare (linear discriminant score)

Grazie alla quale si alloca X alla classe per la quale la distanza lineare massima, ovvero:

{ }
1,...,
: ( ) ( ) 1,...,
max
p
k k j
j g
R d d k g
=
= = = X X X

Poich ( )
k
d X deve essere massimo, vero che ( ) ( )
k j
d d j X X , ovvero che:

1
: ( )' ( )' ( ) ln 1,...,
2
j p
k
k
p
R j g
p

| |

= =
` |
\ . )
-1 -1
k j k j k j
X X

Questa condizione definisce degli iperpiani di delimitazione della zona R
k
nello spazio
p
(v.
pagg. 615-618).
Ponendosi per semplicit nel caso g =2 e in cui le probabilit a priori siano tutte uguali, in modo
che il logaritmo sia nullo, e definendo la trasformazione lineare ( )' =
-1
k j
Y X tale per cui
( )' ( ) =
-1
k j k j k j
Y Y , la scelta della classe diviene un problema lineare per il quale si
attribuisce X alla classe 2 se Y maggiore di
( )
2 1
2 Y Y , ovvero se supera la distanza media fra le
medie delle popolazioni proiettate. Nel caso g 2, lallocazione simile effettuando un confronto a
due a due.
Nel caso di g =2 si soliti scalare il vettore di trasformazione ( )
-1
k j
- vedi pag. 589.

NB: poich in questo caso la matrice la stessa, questa viene stimata grazie a:

| |
1
1 1
( 1)
g g
i i
i i
n g n

= =
| |
=
|
\ .
pooled i
S S

In modo alternativo possibile definire la grandezza (p. 612):

2
( ) ( )' ( )
i
D =
-1
i i
X X X

e allocare X alla classe che massimizza il valore di
2
1
( ) ln( )
2
i i
D p + X , ovvero allocando X alla
classe con media statisticamente pi vicina a meno di una costante.




Ricorda in primo luogo di svolgere i test di normalit su ogni classe (quindi non sulle variabili
intere, ma sui singoli gruppi di righe)
In secondo luogo verifica se le matrici di varianza sono eguali.
Nel caso di confronti di variabili univariate normali, il test di uguaglianza delle varianze il test
di Bartlett:
bartlett.test(x): test di Bartlett sulla lista x; il test viene svolto confrontando le
colonne della lista (argomenti). Restituisce il p-value del test.
bartlett.test(x,g) o (x~g): test di Bartlett sul vettore x, in cui le diverse popolazioni sono
indicate dal vettore (factor) g, che contiene le etichette.
In terzo luogo svolgi i test sulle medie delle diverse classi per sfrondare le variabili non
significative (test per 2 popolazioni o (M)ANOVA).

Library(car)
lda(L ~x+y, prior) analisi discriminante lineare; occorre fornire dapprima il
vettore delle etichette ~ lelenco delle variabili sulle quali
discriminare come matrici o dataframe. In prior si pongono le
probabilit a priori; se non inserite in automatico prende le
occorrenze relative nel dataset delle etichette. Restituisce le
probabilit a priori utilizzate, le medie delle due classi, i
versori delle direzioni canoniche (Coefficients of linear
discriminants) e la porzione di varianza spiegata (proportion of
trace).
lda(X, L, prior) prende anche prima il dataset e poi le etichette
lda.X$scaling versori delle coordinate canoniche di Fisher (coefficients of
linear discriminants)
qda(L ~x+y, prior) vedi sopra, senza gli elementi dellanalisi alla Fisher.

NB: lda e qda non restituiscono le classi previste del dataset! Per ottenerle occorre far predire i valori
del dataset tramite predict!

predict(clax, x) funzione che determina letichetta pi probabile, la probabilit
a posteriori e, nel caso di LDA, le coordinate canoniche alla
Fisher delle osservazioni nel dataframe x. x deve essere un
dataframe con le variabili aventi le stesse etichette del dataset
utilizzato per la classificazione. clax la variabile in cui stata
salvata loperazione lda() o qda().
x <- data.frame(nome.feature=...)
predict(clax, x)$class restituisce le etichette pi probabili di x
predict(clax, x)$posterior restituisce le probabilit a posteriori di appartenenza di
ciascuna osservazione a ciascuna classe (per quella
delletichetta applicare loperatore max)
predict(clax, x)$x coordinate canoniche alla Fisher delle osservazioni nel
dataframe x
NB: Per ottenere il grafico delle probabilit a posteriori di tutte le possibili osservazioni, basta definire
un vettore x e graficare predict(clax,x)$posterior.
VALUTAZIONE DELLA FUNZIONE DI CLASSIFICAZIONE (p. 596)

Error rate: probabilit di misclassificazione; quando le funzioni di densit della popolazione sono
note, questa completamente definita ed il TPM (v. sopra).

Nel caso di distribuzioni stimate, si introduce il Actual Error Rate (AER) definito come il TPM con
i parametri stimati dal campione.
Non sempre possibile tuttavia determinare la funzione di densit a partire da pochi parametri del
campione (ad eccezione della normale e poche altre distribuzioni). LAER deve essere pertanto
stimato tramite alcune procedure.

Una lApparent Error Rate (APER) definito come segue: definita la regola di classificazione, si
procede a classificare il dataset originario e si definiscono
i
n il numero delle osservazioni che
appartengono alla classe i (da trainig set) e
iM
n il numero delle osservazione di classe i classificate
in modo scorretto (dalla regola di classificazione); pertanto:

1 1
( | )
g g
iM
i i
i k i i i
n
TPM p P k i p APER
n
= =
= =



Se le probabilit a priori vengono definite come le occorrenze relative delle osservazioni, lAPER
diviene il rapporto tra il numero di osservazioni del campione classificate in modo errato e la
dimensione del campione:
1
1
1
g
iM g
iM i
i g
i i
i
i
n
n
APER p
n
n
=
=
=
= =


Esempio per g=2 e priors pari alle occorrenze:

La matrice sopra viene definita matrice di confusione. LAPER tende a sottostimare lAER.


Esempio per g classi
prior <- rep(1/g,g)
misc <- table(classe.vera=L, classe.allocata=pred.lda$class) definisco la matrice di confusione
APER <- 0
for(i in 1:g) {APER <- APER +sum(misc[i,-i])/sum(misc[i,]) * prior[i]} calcolo ricorsivo APER

La procedura di Lachenbruch sembra essere una stima meno distorta dellAER (si rimanda a pag.
599). Questa viene detta anche cross-validazione e altera la stima delle regole di classificazione.



La procedura di Lachenbruch viene implementata in R tramite un sottocomando nelle funzioni
qda() e lda():
lda(L ~x+y, prior,CV=T)
qda(L ~x+y, prior,CV=T)
Il calcolo dellAPER avviene come sopra ma con la nuova classificazione.
A differenza di quanto avviene quando CV=F in questo caso i comandi restituiscono un
argomento class che contiene le etichette previste per il dataset