Quali sono i "coefficienti dei discriminanti lineari" in LDA?


17

In R, uso la ldafunzione dalla libreria MASSper fare la classificazione. A quanto ho capito LDA, l'ingresso X verrà assegnato all'etichetta y , che massimizza p(y|X) , giusto?

Ma quando inserisco il modello, in cui

X=(Lun'g1,Lun'g2)
y=Diorectioon,
non capisco bene l'output di lda,

Modifica: per riprodurre l'output di seguito, prima esecuzione:

library(MASS)
library(ISLR)

train = subset(Smarket, Year < 2005)

lda.fit = lda(Direction ~ Lag1 + Lag2, data = train)
> lda.fit
Call:
lda(Direction ~ Lag1 + Lag2, data = train)

Prior probabilities of groups:
    Down       Up 
0.491984 0.508016 

Group means:
            Lag1        Lag2
Down  0.04279022  0.03389409
Up   -0.03954635 -0.03132544

Coefficients of linear discriminants:
            LD1
Lag1 -0.6420190
Lag2 -0.5135293

Comprendo tutte le informazioni nell'output sopra, ma una cosa, che cos'è LD1? Lo cerco sul web, è un punteggio discriminante lineare ? Cos'è e perché ne ho bisogno?

AGGIORNARE

Ho letto diversi post (come questo e questo ) e cerco anche DA nel Web, e ora ecco cosa penso di DA o LDA.

  1. Può essere usato per fare la classificazione, e quando questo è lo scopo, è possibile utilizzare il metodo di Bayes, che è, calcolare la posteriori p(y|X) per ogni classe yio , e quindi classificare X alla classe con il più alto posteriore. Con questo approccio, non ho bisogno di scoprire i discriminanti, giusto?

  2. Come ho letto nei post, DA o almeno LDA è principalmente finalizzato alla riduzione della dimensionalità , per le classi K e lo spazio predittore D -dim, posso proiettare D -dim X in un nuovo spazio (K-1) -dim z , cioè

    X=(X1,...,XD)z=(z1,...,zK-1)zio=wioTX
    ,zpuò essere visto come il vettore di feature trasformato dallaXoriginalee ogniwioè il vettore su cuiviene proiettataX.

Ho ragione sulle affermazioni di cui sopra? Se sì, ho le seguenti domande:

  1. Che cos'è un discriminante ? Ogni voce zio nel vettore z è discriminante? O wio ?

  2. Come fare la classificazione usando i discriminanti?


1
LDA ha 2 fasi distinte: estrazione e classificazione. All'estrazione, si formano variabili latenti chiamate discriminanti, come combinazioni lineari delle variabili di input. I coefficienti in tali combinazioni lineari sono chiamati coefficienti discriminanti; questi sono ciò che chiedi. Nel secondo stadio, i punti dati sono assegnati alle classi da quei discriminanti, non dalle variabili originali. Per saperne di più, cerca discriminant analysisin questo sito.
ttnphns,

2
Il punteggio discriminante lineare è un valore di un punto dati di un discriminante, quindi non confonderlo con un coefficiente discriminante, che è come un coefficiente regressivo. Vedi la mia risposta dettagliata qui .
ttnphns,

@ttnphns, grazie e leggerò di più su DA. A proposito, ho pensato che per classificare un input , ho solo bisogno di calcolare il posteriore p ( y | x ) per tutte le classi e quindi scegliere la classe con il posteriore più alto, giusto? E non vedo perché ho bisogno di L D 1 nel calcolo del posteriore. Xp(y|X)LD1
avocado,

È possibile e può fare di Bayes-regola di classificazione in base alle variabili originali. Ma questa non sarà un'analisi discriminante. La parte essenziale di LDA è quella riduzione della dimensionalità, che consente di sostituire i classificatori di variabili originali con un numero inferiore di classificatori di derivati, i discriminanti. Leggi i post qui, in particolare i miei, descrivono accuratamente idee e matematica della LDA.
ttnphns,

@ttnphns, sto leggendo il post che hai collegato nel commento sopra, ;-)
avocado,

Risposte:


5

LDA1-0.6420190×Lag1+-0.5135293×Lag2

La tabella seguente illustra la relazione tra il punteggio, la probabilità posteriore e la classificazione, per il set di dati utilizzato nella domanda. Gli schemi di base valgono sempre per la LDA a due gruppi: esiste una mappatura da 1 a 1 tra i punteggi e la probabilità posteriore, e le previsioni sono equivalenti se fatte dalle probabilità posteriori o dai punteggi.

Punteggio, probabilità posteriore, classificazione

Risposte alle domande secondarie e ad altri commenti

  • Sebbene LDA possa essere utilizzato per la riduzione delle dimensioni, questo non è ciò che sta succedendo nell'esempio. Con due gruppi, il motivo per cui è richiesto un solo punteggio per osservazione è che questo è tutto ciò che è necessario. Questo perché la probabilità di essere in un gruppo è il complemento della probabilità di essere nell'altro (cioè, aggiungono a 1). Puoi vederlo nel grafico: i punteggi inferiori a -.4 sono classificati come appartenenti al gruppo Down e i punteggi più alti sono previsti come Up .

  • A volte il vettore dei punteggi è chiamato a discriminant function. A volte i coefficienti sono chiamati così. Non sono chiaro se uno dei due sia corretto. Credo che la MASS si discriminantriferisca ai coefficienti.

  • Il pacchetto MASS lda funzione produce coefficienti in modo diverso rispetto alla maggior parte degli altri software LDA. L'approccio alternativo calcola una serie di coefficienti per ciascun gruppo e ogni serie di coefficienti ha un'intercetta. Con la funzione discriminante (punteggi) calcolata utilizzando questi coefficienti, la classificazione si basa sul punteggio più alto e non è necessario calcolare le probabilità posteriori per prevedere la classificazione. Ho inserito del codice LDA in GitHub che è una modifica della MASSfunzione ma produce questi coefficienti più convenienti (il pacchetto viene chiamato Displayr/flipMultivariatese se si crea un oggetto usando LDAè possibile estrarre i coefficienti usando obj$original$discriminant.functions).

  • Ho pubblicato la R per codice tutti i concetti in questo post qui .

  • Non esiste un'unica formula per calcolare le probabilità posteriori dal punteggio. Il modo più semplice per capire le opzioni è (per me comunque) guardare il codice sorgente, usando:

library(MASS) getAnywhere("predict.lda")


I'm not clear on whether either [word use] is correctLa "funzione discriminante" o "discriminante" è una variabile estratta - una variabile, una dimensione. È quindi caratterizzato sia da coefficienti (pesi) per valutarlo dalle variabili di input, sia da punteggi, i valori. Esattamente come un PC in PCA. Quindi, "coefficienti discriminanti" e "punteggi discriminanti" sono l'uso corretto.
ttnphns,

@ttnphns, il tuo uso della terminologia è molto chiaro e inequivocabile. Ma non è l'uso che appare in gran parte dei post e delle pubblicazioni sull'argomento, che è il punto che stavo cercando di fare. Basandomi solo sul significato delle parole, è abbastanza chiaro per me che la "funzione discriminante" dovrebbe riferirsi alla funzione matematica (cioè, sottoprodotto e coefficienti), ma ancora una volta non mi è chiaro che questo sia un uso diffuso.
Tim

@Tim il link che hai pubblicato per il codice è morto, puoi copiare il codice nella tua risposta per favore?
baxx,

0

La teoria alla base di questa funzione è "Il metodo di Fisher per discriminare diverse popolazioni". Raccomando il capitolo 11.6 nell'analisi statistica multivariata applicata (ISBN: 9780134995397) come riferimento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.