¿Qué son los "coeficientes de discriminantes lineales" en LDA?


17

En R, uso la ldafunción de la biblioteca MASSpara hacer la clasificación. Según entiendo LDA, a la entrada X se le asignará la etiqueta y , que maximiza pag(yEl |X) , ¿verdad?

Pero cuando me ajusto al modelo, en el que

X=(Lunsol1,Lunsol2)
y=reyormiCtyoonorte,
no entiendo muy bien la salida de lda,

Editar: para reproducir la salida a continuación, primero ejecute:

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

Entiendo toda la información en la salida anterior, pero una cosa, ¿qué es LD1? Lo busco en la web, ¿es un puntaje discriminante lineal ? ¿Qué es eso y por qué lo necesito?

ACTUALIZAR

Leo varias publicaciones (como esta y esta ) y también busco DA en la web, y ahora esto es lo que pienso sobre DA o LDA.

  1. Se puede usar para hacer una clasificación, y cuando este es el propósito, puedo usar el enfoque de Bayes, es decir, calcular el pag(yEl |X) posterior ( y | x ) para cada clase yyo , y luego clasificar X a la clase con el mayor posterior. Con este enfoque, no necesito descubrir a los discriminantes, ¿verdad?

  2. Como leí en las publicaciones, DA o al menos LDA está dirigido principalmente a la reducción de la dimensionalidad , para las clases K y el espacio predictivo re -dim, puedo proyectar el re -dim X en un nuevo espacio de características (K-1) -dim z es decir

    X=(X1,...,Xre)z=(z1,...,zK-1)zyo=wyoTX
    ,zpuede verse como el vector de características transformado de laXoriginal, y cadawyoes el vector en el quese proyectaX.

¿Tengo razón sobre las declaraciones anteriores? En caso afirmativo, tengo las siguientes preguntas:

  1. ¿Qué es un discriminante ? ¿Cada entrada zyo en el vector z es un discriminante? O wyo ?

  2. ¿Cómo hacer la clasificación usando discriminantes?


1
LDA tiene 2 etapas distintas: extracción y clasificación. En la extracción, se forman variables latentes llamadas discriminantes, como combinaciones lineales de las variables de entrada. Los coeficientes en esas combinaciones lineales se denominan coeficientes discriminantes; estos son los que preguntas. En la segunda etapa, los discriminantes asignan puntos de datos a las clases, no a las variables originales. Para leer más, busque discriminant analysisen este sitio.
ttnphns

2
El puntaje discriminante lineal es un valor de un punto de datos por un discriminante, así que no lo confunda con un coeficiente discriminante, que es como un coeficiente regresivo. Vea mi respuesta detallada aquí .
ttnphns

Xpag(yEl |X)Lre1

Usted puede y puede hacer la clasificación de Bayes-regla basada en las variables originales. Pero esto no será un análisis discriminante. La parte esencial de LDA es esa reducción de dimensionalidad, que le permite reemplazar los clasificadores de variables originales por un número menor de clasificadores derivados, los discriminantes. Lea las publicaciones aquí, particularmente las mías, describen completamente las ideas y las matemáticas de LDA.
ttnphns

@ttnphns, estoy leyendo la publicación que vinculaste en el comentario anterior ;-)
aguacate

Respuestas:


5

LDA1-0.6420190×Lag1+-0.5135293×Lag2

La tabla a continuación ilustra la relación entre el puntaje, la probabilidad posterior y la clasificación, para el conjunto de datos utilizado en la pregunta. Los patrones básicos siempre se mantienen con la LDA de dos grupos: hay un mapeo de 1 a 1 entre los puntajes y la probabilidad posterior, y las predicciones son equivalentes cuando se realizan a partir de las probabilidades posteriores o los puntajes.

Puntuación, probabilidad posterior, clasificación

Respuestas a las subpreguntas y algunos otros comentarios.

  • Aunque LDA puede usarse para la reducción de dimensiones, esto no es lo que está sucediendo en el ejemplo. Con dos grupos, la razón por la que solo se requiere un puntaje por observación es que esto es todo lo que se necesita. Esto se debe a que la probabilidad de estar en un grupo es el complemento de la probabilidad de estar en el otro (es decir, se suman a 1). Puede ver esto en la tabla: las puntuaciones inferiores a -.4 se clasifican como pertenecientes al grupo Down y se prevé que las puntuaciones más altas sean Up .

  • Algunas veces el vector de puntajes se llama a discriminant function. A veces los coeficientes se llaman así. No tengo claro si ninguno de los dos es correcto. Creo que MASS se discriminantrefiere a los coeficientes.

  • La ldafunción del paquete MASS produce coeficientes de una manera diferente a la mayoría de los otros programas LDA. El enfoque alternativo calcula un conjunto de coeficientes para cada grupo y cada conjunto de coeficientes tiene una intersección. Con la función discriminante (puntajes) calculada usando estos coeficientes, la clasificación se basa en el puntaje más alto y no hay necesidad de calcular probabilidades posteriores para predecir la clasificación. He puesto un código LDA en GitHub que es una modificación de la MASSfunción pero produce estos coeficientes más convenientes (se llama al paquete Displayr/flipMultivariates, y si crea un objeto usando LDApuede extraer los coeficientes usando obj$original$discriminant.functions).

  • He publicado la R para el código de todos los conceptos en esta publicación aquí .

  • No existe una fórmula única para calcular las probabilidades posteriores a partir de la puntuación. La forma más fácil de entender las opciones es (para mí de todos modos) mirar el código fuente, usando:

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


I'm not clear on whether either [word use] is correctLa "función discriminante", también conocida como "discriminante", es una variante extraída: una variable, una dimensión. Por lo tanto, se caracteriza tanto por los coeficientes (pesos) para evaluarlo a partir de las variables de entrada, como por los puntajes, los valores. Exactamente como una PC en PCA. Entonces, "coeficientes discriminantes" y "puntajes discriminantes" son el uso correcto.
ttnphns

@ttnphns, su uso de la terminología es muy claro e inequívoco. Pero, no es el uso que aparece en gran parte de las publicaciones y publicaciones sobre el tema, que es el punto que estaba tratando de hacer. Basándome solo en el significado de las palabras, es bastante claro para mí que la "función discriminante" debe referirse a la función matemática (es decir, el superproducto y los coeficientes), pero nuevamente no está claro para mí que este sea el uso generalizado.
Tim

@Time el enlace que ha publicado para el código está muerto, ¿puede copiar el código en su respuesta por favor?
baxx

0

La teoría detrás de esta función es "Método de Fisher para discriminar entre varias poblaciones". Recomiendo el capítulo 11.6 en el análisis estadístico multivariado aplicado (ISBN: 9780134995397) como referencia.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.